【发布时间】:2017-10-25 21:22:32
【问题描述】:
我在发送邮件时收到此错误。
Message could not be sent.Mailer Error: The following From address failed: sample@mydomain.com : MAIL FROM command failed,Temporary system failure. Please try again later. ,451,4.3.0SMTP server error: MAIL FROM command failed Detail: Temporary system failure. Please try again later. SMTP code: 451 Additional SMTP info: 4.3.0SMTP server error: MAIL FROM command failed Detail: Temporary system failure. Please try again later. SMTP code: 451 Additional SMTP info: 4.3.0
这是我的代码:
require 'phpmailer/PHPMailerAutoload.php';
$html = "<b>Hello world!</b>";
$email = "recipient@example.com";
$mail = new PHPMailer;
$mail->isSMTP();
$mail->setFrom('sample@mydomain.com');
$mail->addAddress($email);
$mail->isHTML(true);
$mail->Subject = 'Sample Subject';
$mail->Body = $html;
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Email sent';
}
我还尝试删除 $mail->isSMTP(); 并收到回显消息 Email sent 问题是当我检查收件箱和垃圾邮件文件夹时,因为我将个人电子邮件设置为电子邮件的收件人,所以电子邮件是不在那里。这是服务器问题吗?
我还检查了/var/log/mail.err,我可以看到一个错误日志,上面写着collect: Cannot write ./dfv4PAGY73013302 (bfcommit, uid=0, gid=119): No such file or directory - 那是什么?
我已经头疼了 2 天了,但我不知道问题出在哪里。我在我的服务器中安装了一个新的 LAMP 堆栈,还配置了 postfix(只是这么说,可能会帮助您了解)。
这里似乎有什么问题?
您的帮助将不胜感激!谢谢!
【问题讨论】:
-
嗯...也可能是您的 SMTP 服务器配置不正确。也许它无法在 spool 目录中写入文件...
-
@axiac 如何在 spool 目录中写入文件?抱歉这个愚蠢的问题:\
-
SMTP 服务器将其处理的电子邮件内容保存到工作目录中。您的似乎无法在该目录中写入文件,因为它不存在。此目录的确切路径在 SMTP 服务器的配置中指定。我从未配置过
postfix:-(
标签: php phpmailer sendmail ubuntu-16.04