我在这个问题上苦苦挣扎了几天,阅读并尝试了我遇到的任何问题,但没有找到解决方案:这是我想做的底线:我有一个仅限会员的系统。当成员在留言板上发布消息时,所有其他人都会通过电子邮件收到通知。简单的。我使用 PHP 脚本在 CSV 文件中创建收件人列表(电子邮件和姓名),存储该文件以供 cron 作业稍后打开并将电子邮件发送出去。简单的。哦...名称是希伯来语脚本,因为它们存储在 MySQL 数据库中。我已经手动尝试了脚本(通过浏览器运行它,一切都很顺利)。但是,通过 cron 运行它不会读取名称并将其留空:
while($arrMailAttrib = fgetcsv($hFile))
{
$sAptName = $arrMailAttrib[0];
$sAptNum = $arrMailAttrib[1];
$sTo = $arrMailAttrib[2];
$sSubject = $arrMailAttrib[3];
$sMsgURL = $arrMailAttrib[4];
$sBody = "<span style=\"font-family: Arial, Helvetica, sans-serif; direction: rtl !important; vertical-align: right; display: block;\" lang=\"he\" dir=\"rtl\"> <p>שלום $sAptName (מספר חבר $sAptNum),</p> <p>הודעה חדשה בנושא '$sSubject' נוצרה בלוח המודעות הוירטואלי.</p> <p>על מנת לצפות בהודעה ישירות במערכת <a href=\"$sMsgURL\">כאן</a></p> <p>על מנת להכנס למערכת הכנס ל: <a href=\"http://www.somesite.com\">http://www.somesite.com</a> </p> <p><font size=\"-1\" color=\"#999999\">זוהי הודעת אימייל אוטומטית. נא לא להגיב לכתובת אימייל זו.</font></p> <p> </p> </span>";
if(defined('_DEBUG_')) {fputs($hLogFile, "sending email with subject '$sSubject' to $sTo\n");}
mail($sTo, $sSubject, $sBody, $sHeaders);
}
CSV 是使用从数据库中获取的名称和电子邮件直接创建的。我很肯定这与编码有关 - 但我似乎无法确定到底是什么。这是 CSV 文件中的几行:שמואלי,
1,בהיר,someone1@gmail.com,הודעה נסיונית,http://www.somesite.com/_new.message_present.php?fldMsg=111
כהן,2,someone2@gmail.com,הודעה נסיונית,http://vwww.somesite.com/_new.message_present.php?fldMsg=112
שפיר,4,someone3@hotmail.com,הודעה נסיונית,http://www.somesite.com/_new.message_present.php?fldMsg=113
ליבוביץ,5,someone4@metis.asia,הודעה נסיונית,http://www.somesite.com/_new.message_present.php?fldMsg=114
另一件值得注意的事情是,我收到来自 cron 作业的电子邮件错误,其中仅包含以下文本:“Content-type:text/html”
顺便说一句 - 电子邮件对收件人来说很好,电子邮件的正文以希伯来语显示。唯一缺少的是主题和名称。
任何人 ...?