我在EC2上使用PHPMailer。我的帐户不在沙箱中,我发送的是经过验证的电子邮件。我从PHPMailer得到没有错误,这就是我的日志
2017-03-31 06:24:52 Connection: opening to email-smtp.us-west-2.amazonaws.com:587, timeout=300, options=array ( )
2017-03-31 06:24:52 Connection: opened
2017-03-31 06:24:53 SERVER -> CLIENT: 220 email-smtp.amazonaws.com ESMTP SimpleEmailService-2007935443 svKFRJ5M6s1rqbMTRdZu
2017-03-31 06:24:53 CLIENT -> SERVER: EHLO ***.domain
2017-03-31 06:24:53 SERVER -> CLIENT: 250-email-smtp.amazonaws.com 250-8BITMIME 250-SIZE 10485760 250-STARTTLS 250-AUTH PLAIN LOGIN 250 Ok
2017-03-31 06:24:53 CLIENT -> SERVER: STARTTLS
2017-03-31 06:24:53 SERVER -> CLIENT: 220 Ready to start TLS
2017-03-31 06:24:53 CLIENT -> SERVER: EHLO ***.domain
2017-03-31 06:24:53 SERVER -> CLIENT: 250-email-smtp.amazonaws.com 250-8BITMIME 250-SIZE 10485760 250-STARTTLS 250-AUTH PLAIN LOGIN 250 Ok
2017-03-31 06:24:53 CLIENT -> SERVER: AUTH LOGIN
2017-03-31 06:24:53 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2017-03-31 06:24:53 CLIENT -> SERVER: xxx=
2017-03-31 06:24:53 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
2017-03-31 06:24:53 CLIENT -> SERVER: xxx=
2017-03-31 06:24:53 SERVER -> CLIENT: 235 Authentication successful.
2017-03-31 06:24:53 CLIENT -> SERVER: MAIL FROM:
2017-03-31 06:24:53 SERVER -> CLIENT: 250 Ok
2017-03-31 06:24:53 CLIENT -> SERVER: RCPT TO:
2017-03-31 06:24:53 SERVER -> CLIENT: 250 Ok
2017-03-31 06:24:53 CLIENT -> SERVER: DATA
2017-03-31 06:24:53 SERVER -> CLIENT: 354 End data with .
2017-03-31 06:24:53 CLIENT -> SERVER: Date: Fri, 31 Mar 2017 06:24:52 +0000
2017-03-31 06:24:53 CLIENT -> SERVER: To: NG
2017-03-31 06:24:53 CLIENT -> SERVER: From: Me
2017-03-31 06:24:53 CLIENT -> SERVER: Subject: New User Added
2017-03-31 06:24:53 CLIENT -> SERVER: Message-ID: <8ada86808c4dc38c21d7ff5d64051951@***.domain>
2017-03-31 06:24:53 CLIENT -> SERVER: X-Mailer: PHPMailer 5.2.21 (https://github.com/PHPMailer/PHPMailer)
2017-03-31 06:24:53 CLIENT -> SERVER: MIME-Version: 1.0
2017-03-31 06:24:53 CLIENT -> SERVER: Content-Type: text/html; charset=iso-8859-1
2017-03-31 06:24:53 CLIENT -> SERVER:
2017-03-31 06:24:53 CLIENT -> SERVER: 123
2017-03-31 06:24:53 CLIENT -> SERVER:
2017-03-31 06:24:53 CLIENT -> SERVER: .
2017-03-31 06:24:53 SERVER -> CLIENT: 250 Ok 0101015b2309bfbe-39a8cf31-ad57-4998-832d-94312b7ddfad-000000
2017-03-31 06:24:53 CLIENT -> SERVER: QUIT
2017-03-31 06:24:53 SERVER -> CLIENT: 221 Bye
2017-03-31 06:24:53 Connection: closed
这是我的PHPMailer设置
$this->SMTPDebug = 3;
$this->Host = 'email-smtp.us-west-2.amazonaws.com';
$this->Username = '***';
$this->Password = '***';
$this->SMTPAuth = true;
$this->SMTPSecure = 'tls';
$this->Port = 587;
$this->isHTML(true);
$this->isSMTP();
$this->From = '***';
$this->FromName = '***';
$this->ReturnPath = '***';
我尝试将此邮件发送到不同的电子邮件但仍然无效。这是发送的实际代码
$mailer = new Mailer($API);
$mailer->Subject = 'New User Added';
$mailer->Body = '123';
$mailer->addAddress('***', '***');
if (!$mailer->send()) {
throw new Exception($mailer->ErrorInfo);
} else {
print_r('Sent');
}
答案 0 :(得分:0)
我建议您转到https://www.mail-tester.com/,然后复制您看到的电子邮件地址。更新您的代码,然后使用PHPMailer将电子邮件发送到您复制的地址。假设您的代码确实发送了电子邮件,并且看起来您的代码是正确的,那么Mail Tester将向您显示您的电子邮件有哪些问题。
答案 1 :(得分:0)
对我来说问题是因为我还没有收到来自这个地址的邮件,所以所有的邮件都落入了垃圾邮件文件夹
答案 2 :(得分:0)
我遇到了同样的问题,当我设置 $mail->Username = 'xx@xx.xx' 时它消失了;到与 $mail->setFrom('xx@xx.xx')
相同的地址