首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Amazon和PHP Mailer从本地主机发送电子邮件

问使用Amazon和PHP Mailer从本地主机发送电子邮件
EN

Stack Overflow用户
提问于 2019-10-12 17:53:07
回答 1查看 1.9K关注 0票数 1

我正在开发一个PHP应用程序,在那里我试图发送一封电子邮件进行测试。我正在使用PHPMailer和Amazon。目前,我正处于开发模式,所以软件不在网上,我在localhost (Xampp)工作。问题是,尽管我的用户名、密码和所有细节都是正确的,但电子邮件并没有被发送。

下面是我现在使用的代码。

代码语言:javascript
复制
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'phpmailer/src/Exception.php';
require 'phpmailer/src/PHPMailer.php';
require 'phpmailer/src/SMTP.php';

$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 0;
$mail->Host = 'email-smtp.us-east-1.amazonaws.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->IsHTML(true);
$mail->SMTPAuth = true;
$mail->Username = 'HIDDEN';
$mail->Password = 'HIDDEN';
$mail->setFrom('zoomkraft1000@gmail.com', 'DateApp');
$mail->addAddress('shubhamjha1000@gmail.com', 'Shreyansh');
$mail->Subject = 'This is a subject.';
$mail->Body    = 'This is a test message.';

if($mail->send()){
  echo "Mail sent!";
}else{
  echo "Error";
}

?>

我总是收到“错误”的消息,因为邮件没有被发送。如果有人能告诉我问题出在哪里,我会很感激的。是因为我在本地吗?或者,我是否需要配置我的php.ini文件来发送邮件?如果是,请告诉我这个过程。

更新

  1. 也不能在线工作。我刚试过了。您可以在这里看到http://www.startdating.in/test.php
  2. I忘记提到我没有在amazon帐户中配置域内容。我只配置了电子邮件和SMTP服务。

将调试更改为1

来自本地主机的错误消息

代码语言:javascript
复制
2019-10-12 18:25:25 CLIENT -> SERVER: EHLO localhost
2019-10-12 18:25:26 CLIENT -> SERVER: STARTTLS
2019-10-12 18:25:27 CLIENT -> SERVER: EHLO localhost
2019-10-12 18:25:27 CLIENT -> SERVER: AUTH LOGIN
2019-10-12 18:25:27 CLIENT -> SERVER: <credentials hidden>
2019-10-12 18:25:27 CLIENT -> SERVER: <credentials hidden>
2019-10-12 18:25:27 CLIENT -> SERVER: MAIL FROM:<zoomkraft1000@gmail.com>
2019-10-12 18:25:28 CLIENT -> SERVER: RCPT TO:<shubhamjha1000@gmail.com>
2019-10-12 18:25:28 CLIENT -> SERVER: DATA
2019-10-12 18:25:28 CLIENT -> SERVER: Date: Sat, 12 Oct 2019 20:25:24 +0200
2019-10-12 18:25:28 CLIENT -> SERVER: To: Shreyansh <shubhamjha1000@gmail.com>
2019-10-12 18:25:28 CLIENT -> SERVER: From: DateApp <zoomkraft1000@gmail.com>
2019-10-12 18:25:28 CLIENT -> SERVER: Subject: This is a subject.
2019-10-12 18:25:28 CLIENT -> SERVER: Message-ID: <wOLtFTSGmh2slZxkUcYhUA4lc0sTi0UdiiDHjUzbGs@localhost>
2019-10-12 18:25:28 CLIENT -> SERVER: X-Mailer: PHPMailer 6.0.6 (https://github.com/PHPMailer/PHPMailer)
2019-10-12 18:25:28 CLIENT -> SERVER: MIME-Version: 1.0
2019-10-12 18:25:28 CLIENT -> SERVER: Content-Type: text/html; charset=iso-8859-1
2019-10-12 18:25:28 CLIENT -> SERVER:
2019-10-12 18:25:28 CLIENT -> SERVER: This is a test message.
2019-10-12 18:25:28 CLIENT -> SERVER:
2019-10-12 18:25:28 CLIENT -> SERVER: .
2019-10-12 18:25:29 SMTP ERROR: DATA END command failed: 554 Message rejected: Email address is not verified. The following identities failed the check in region US-EAST-1: shubhamjha1000@gmail.com
SMTP Error: data not accepted.
Error2019-10-12 18:25:29 CLIENT -> SERVER: QUIT

来自www.stardating.in/test.php的错误消息

代码语言:javascript
复制
2019-10-12 18:25:53 SMTP ERROR: Failed to connect to server: Connection refused (111)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Error

另外,我已经在amazon帐户中配置和验证了stardating.in域名。但问题依然存在。

EN

回答 1

Stack Overflow用户

发布于 2019-10-13 05:06:14

你看

SMTP错误:数据结束命令失败: 554邮件被拒绝:电子邮件地址未验证。以下标识在US 1区域检查失败: shubhamjha1000@gmail.com SMTP错误:数据未被接受。

AWS SES“沙盒模式”允许您只发送电子邮件和验证的电子邮件地址。详细的限制清单如下:

您只能将邮件发送到已验证的电子邮件地址和域,或发送到Amazon邮箱模拟器。

您只能从已验证的电子邮件地址和域发送邮件。

备注

即使您的帐户不在沙箱中,此限制也适用。

每24小时最多可以发送200条消息.

每秒最多可以发送一条消息。

要摆脱“沙箱模式”,给他们寄一张票

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58356902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档