这个让我陷入困境。
我知道sendmail配置正确,因为:
sendmail -s "test" example@gmail.com
test
正确发送邮件,使用正确的反向域等
但是,这个脚本:
<?php
$to='dest@domain.com';
$what='Mail Test';
$body="Can this body be read? on ".date('l jS \of F Y h:i:s A');
$header="Content-type: text/html; charset=iso-8859-1\r\nFrom:Blackhole<blackhole@domain.com>\r\n";
if(mail($to,$what,$body,$header)) $message="This just sent an email to $to .";
else $message="The email FAILED to send here to $to";
?>
<p><?php echo $message; ?></p>
给我失败的消息。我正在使用php.ini
中的默认sendmail路径,它在今天早上工作,直到我向sendmail添加了MASQUARADE并添加了local-host-names
。然后使用sendmailconfig
更新整个配置,以便更新所有依赖项。在dnl # {comment}
条目的整个载荷之后,在第55行插入了以下代码。
MASQUERADE_AS(domain.com)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(domain.com)
define(`confDOMAIN_NAME', `domain.com')dnl
我在配置中遇到的唯一错误是Errors in generating sendmail.cf
m4:/etc/mail/sendmail.mc:108: Warning: end of file treated as newline
但是,恢复此操作不会导致邮件重新开始工作。
在Amazon AWS实例上的Ubuntu服务器上运行。