1
我試圖讓PHP通過「郵件()命令來發送郵件,在Ubuntu的Linux操作系統中的郵件似乎是去,然後通過發送郵件越來越下降了 - 而我不知所措瞭解sendmail的配置
php mail()函數返回true。郵件未發送。我設置了evolutoin以在本地主機上提供vi SMTP,並且發送了一封電子郵件給同一個用戶 - 它是交付。
的/var/log/mail.log文件包含以下條目。
Jul 9 15:15:34 anake postfix/pickup[1292]: 02879340040: uid=33 from=<www-data>
Jul 9 15:15:34 anake postfix/cleanup[2079]: 02879340040: message-id=<[email protected]>
Jul 9 15:15:34 anake postfix/qmgr[1293]: 02879340040: from=<[email protected]>, size=411, nrcpt=1 (queue active)
Jul 9 15:15:36 anake postfix/smtp[2082]: 02879340040: to=<[email protected]>, relay=smtp.ntlworld.com[81.103.221.11]:25, delay=2.3, delays=0.1/0.02/2.1/0.13, dsn=5.0.0, status=bounced (host smtp.ntlworld.com[81.103.221.11] $
Jul 9 15:15:36 anake postfix/cleanup[2079]: 5370B340042: message-id=<[email protected]>
Jul 9 15:15:36 anake postfix/bounce[2083]: 02879340040: sender non-delivery notification: 5370B340042
Jul 9 15:15:36 anake postfix/qmgr[1293]: 5370B340042: from=<>, size=2228, nrcpt=1 (queue active)
Jul 9 15:15:36 anake postfix/qmgr[1293]: 02879340040: removed
Jul 9 15:15:36 anake postfix/local[2084]: 5370B340042: to=<[email protected]>, relay=local, delay=0.03, delays=0/0.02/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Jul 9 15:15:36 anake postfix/qmgr[1293]: 5370B340042: removed
我不詳細說明它從哪裏得到「from」地址。執行實際的代碼是這樣的: -
<?php
$to = '[email protected]';
$subject = 'Test email';
$message = 'hello - this has gone round the loop';
$headers = 'From: [email protected]' . "\n" .
'Reply-To: [email protected]' . "\n" .
'X-Mailer: PHP/'. phpversion()."\r\n";
if (mail($to, $subject, $message, $headers)) {
echo "Message sent OK";
} else {
echo "message send failed";
}
>
任何人都可以發現什麼錯誤,而我能做些什麼呢??電子郵件地址稍微消失得相當明顯。 Ian
感謝埃米爾 - 這工作了魅力。其實,我結束了設置sendmail_path線在php.ini以 「sendmail_path =/usr/sbin目錄/ sendmail的-t -i -r [email protected]」(這做同樣的事情)。再次感謝。 – Ian