PHPMailer 似乎不适用于 Hostgator 托管
PHPMailer doesnt seem to work with Hostgator Hosting
我在核心 PHP 上使用 PHPMailer 和 Hostgator 托管企业帐户,我在 SMTPDebug 中收到以下错误:
2020-01-13 13:16:54 SERVER -> CLIENT: 220-gator4001.hostgator.com ESMTP Exim 4.92 #2 Mon, 13 Jan 2020 07:16:54 -0600 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail.
2020-01-13 13:16:54 CLIENT -> SERVER: EHLO www.domainname.com
2020-01-13 13:16:54 SERVER -> CLIENT: 250-gator4001.hostgator.com Hello www.domainname.com [192.185.16.229]250-SIZE 52428800250-8BITMIME250-PIPELINING250-AUTH PLAIN LOGIN250 HELP
2020-01-13 13:16:54 CLIENT -> SERVER: AUTH LOGIN
2020-01-13 13:16:54 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2020-01-13 13:16:54 CLIENT -> SERVER: ZG9ub3RyZXBseUBjaGFpbnRoZWFwcC5jb20=
2020-01-13 13:16:54 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
2020-01-13 13:16:54 CLIENT -> SERVER: YThoZkhON3FpKG9A
2020-01-13 13:16:54 SERVER -> CLIENT: 235 Authentication succeeded
2020-01-13 13:16:54 CLIENT -> SERVER: MAIL FROM:<donotreply@domainname.com>
2020-01-13 13:16:54 SERVER -> CLIENT: 250 OK
2020-01-13 13:16:54 CLIENT -> SERVER: RCPT TO:<my@emailaddress.com>
2020-01-13 13:16:54 SERVER -> CLIENT: 250 Accepted
2020-01-13 13:16:54 CLIENT -> SERVER: DATA
2020-01-13 13:16:54 SERVER -> CLIENT: 354 Enter message, ending with "." on a line by itself
2020-01-13 13:16:54 CLIENT -> SERVER: Date: Mon, 13 Jan 2020 16:16:54 +0300
2020-01-13 13:16:54 CLIENT -> SERVER: To: Taha Khan <my@emailaddress.com>
2020-01-13 13:16:54 CLIENT -> SERVER: From: Chain <donotreply@domainname.com>
2020-01-13 13:16:54 CLIENT -> SERVER: Subject: Chain account please activate your account
2020-01-13 13:16:54 CLIENT -> SERVER: Message-ID: <KvZPwFu2gMzFcs5f9XiBML51sazZsNQRXMqmxiuo@www.domainname.com>
2020-01-13 13:16:54 CLIENT -> SERVER: X-Mailer: PHPMailer 6.0.1 (https://github.com/PHPMailer/PHPMailer)
2020-01-13 13:16:54 CLIENT -> SERVER: MIME-Version: 1.0
2020-01-13 13:16:54 CLIENT -> SERVER: Content-Type: multipart/alternative;
2020-01-13 13:16:54 CLIENT -> SERVER: tboundary="b1_KvZPwFu2gMzFcs5f9XiBML51sazZsNQRXMqmxiuo"
2020-01-13 13:16:54 CLIENT -> SERVER: Content-Transfer-Encoding: 8bit
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER: This is a multi-part message in MIME format.
2020-01-13 13:16:54 CLIENT -> SERVER: --b1_KvZPwFu2gMzFcs5f9XiBML51sazZsNQRXMqmxiuo
2020-01-13 13:16:54 CLIENT -> SERVER: Content-Type: text/plain; charset=us-ascii
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER: This is a test html email
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER: --b1_KvZPwFu2gMzFcs5f9XiBML51sazZsNQRXMqmxiuo
2020-01-13 13:16:54 CLIENT -> SERVER: Content-Type: text/html; charset=us-ascii
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER: This is a test html email
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER: --b1_KvZPwFu2gMzFcs5f9XiBML51sazZsNQRXMqmxiuo--
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER: .
2020-01-13 13:16:54 SERVER -> CLIENT: 250 OK id=1iqzaQ-000Ars-TL
2020-01-13 13:16:54 CLIENT -> SERVER: QUIT
2020-01-13 13:16:54 SERVER -> CLIENT: 221 gator4001.hostgator.com closing connection
日志的第一行说我们不授权使用此系统传输未经请求的 220 and/or 群发电子邮件。 但同时time PHPMailer 正在给我回复 Mail sent.
这可能是什么问题,我该如何解决?
此外,我使用了我的实际电子邮件地址,而不是 my@emailaddress.com 和 domainname.com实际网站地址。只是写到这里,显然人们指出这里最奇怪的东西哈哈。
编辑
请在下面找到 php 代码:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'Exception.php';
require 'PHPMailer.php';
require 'SMTP.php';
$mail = new PHPMailer(true);
try {
//Server settings
$mail->SMTPDebug = 2;
$mail->isSMTP();
$mail->Host = 'domainname.com';
$mail->SMTPAuth = true;
$mail->Username = 'donotreply@domainname.com';
$mail->Password = 'mypassword';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
//Recipients
$mail->setFrom('donotreply@domainname.com', 'MyTestEmail');
$mail->addAddress('info@domainname.com', 'Khan');
//Content
$mail->isHTML(true);
$mail->Subject = 'Test Email body';
$mail->Body = 'Test Email body';
$mail->AltBody = 'Test Email body';
$mail->send();
return "SUCCESS";
} catch (Exception $e) {
return "FAIL";
// Use the line below to display error
// echo 'Mailer Error: ' . $mail->ErrorInfo;
}
?>
** 更新**
我在 donotreply@domainname.com 上收到了被退回的电子邮件,其中包含以下错误:
The mail system
<info@domainname.com>: host mail.domainname.com[192.185.30.71] said:
550-Verification failed for <donotreply@domainname.com> 550-No Such User
Here 550 Sender verify failed (in reply to RCPT TO command)
Reporting-MTA: dns; gateway21.websitewelcome.com
X-Postfix-Queue-ID: 14259400E4AA1
X-Postfix-Sender: rfc822; donotreply@domainname.com
Arrival-Date: Mon, 13 Jan 2020 08:02:26 -0600 (CST)
Final-Recipient: rfc822; info@domainname.com
Original-Recipient: rfc822;info@domainname.com
Action: failed
Status: 5.0.0
Remote-MTA: dns; mail.domainname.com
Diagnostic-Code: smtp; 550-Verification failed for <donotreply@domainname.com>
550-No Such User Here 550 Sender verify failed
问题基本上出在新创建的电子邮件 donotreply@domainname.com 本身。
使用 PHPMailer 测试的前两个电子邮件地址在收件箱中退回。
如果您面临与我完全相同的问题,那么我建议您进行以下故障排除:
确保调试未设置为 0
$mail->SMTPDebug = 2
测试您的代码并检查 PHPMailer 是否在最后成功触发。
Check if PHPMailer echoes SUCCESS
正如@ADyson 所指出的,以下error/notice 并不意味着 PHPMailer 不工作。
SERVER -> CLIENT: 220-gator4001.hostgator.com ESMTP Exim 4.92 #2 Mon, 13 Jan 2020 07:16:54 -0600 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail.
其次通过向不同服务器上的不同域发送电子邮件来测试您的代码
Test sending email to Gmail, Hotmail, Yahoo, Other Emails hosted on another server.
检查您的收件箱是否有任何被退回的邮件。
If you've received a bounced back message; It is certain that PHPMailer is working fine.
通过在退回的电子邮件中向他们提供错误详细信息,联系您的房东以获取更多详细信息。
我的问题已被 hostgator 解决,因为发送到少数电子邮件地址的电子邮件会被退回,而它在 Gmail 和 Hotmail 上运行得很好
我在核心 PHP 上使用 PHPMailer 和 Hostgator 托管企业帐户,我在 SMTPDebug 中收到以下错误:
2020-01-13 13:16:54 SERVER -> CLIENT: 220-gator4001.hostgator.com ESMTP Exim 4.92 #2 Mon, 13 Jan 2020 07:16:54 -0600 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail.
2020-01-13 13:16:54 CLIENT -> SERVER: EHLO www.domainname.com
2020-01-13 13:16:54 SERVER -> CLIENT: 250-gator4001.hostgator.com Hello www.domainname.com [192.185.16.229]250-SIZE 52428800250-8BITMIME250-PIPELINING250-AUTH PLAIN LOGIN250 HELP
2020-01-13 13:16:54 CLIENT -> SERVER: AUTH LOGIN
2020-01-13 13:16:54 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2020-01-13 13:16:54 CLIENT -> SERVER: ZG9ub3RyZXBseUBjaGFpbnRoZWFwcC5jb20=
2020-01-13 13:16:54 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
2020-01-13 13:16:54 CLIENT -> SERVER: YThoZkhON3FpKG9A
2020-01-13 13:16:54 SERVER -> CLIENT: 235 Authentication succeeded
2020-01-13 13:16:54 CLIENT -> SERVER: MAIL FROM:<donotreply@domainname.com>
2020-01-13 13:16:54 SERVER -> CLIENT: 250 OK
2020-01-13 13:16:54 CLIENT -> SERVER: RCPT TO:<my@emailaddress.com>
2020-01-13 13:16:54 SERVER -> CLIENT: 250 Accepted
2020-01-13 13:16:54 CLIENT -> SERVER: DATA
2020-01-13 13:16:54 SERVER -> CLIENT: 354 Enter message, ending with "." on a line by itself
2020-01-13 13:16:54 CLIENT -> SERVER: Date: Mon, 13 Jan 2020 16:16:54 +0300
2020-01-13 13:16:54 CLIENT -> SERVER: To: Taha Khan <my@emailaddress.com>
2020-01-13 13:16:54 CLIENT -> SERVER: From: Chain <donotreply@domainname.com>
2020-01-13 13:16:54 CLIENT -> SERVER: Subject: Chain account please activate your account
2020-01-13 13:16:54 CLIENT -> SERVER: Message-ID: <KvZPwFu2gMzFcs5f9XiBML51sazZsNQRXMqmxiuo@www.domainname.com>
2020-01-13 13:16:54 CLIENT -> SERVER: X-Mailer: PHPMailer 6.0.1 (https://github.com/PHPMailer/PHPMailer)
2020-01-13 13:16:54 CLIENT -> SERVER: MIME-Version: 1.0
2020-01-13 13:16:54 CLIENT -> SERVER: Content-Type: multipart/alternative;
2020-01-13 13:16:54 CLIENT -> SERVER: tboundary="b1_KvZPwFu2gMzFcs5f9XiBML51sazZsNQRXMqmxiuo"
2020-01-13 13:16:54 CLIENT -> SERVER: Content-Transfer-Encoding: 8bit
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER: This is a multi-part message in MIME format.
2020-01-13 13:16:54 CLIENT -> SERVER: --b1_KvZPwFu2gMzFcs5f9XiBML51sazZsNQRXMqmxiuo
2020-01-13 13:16:54 CLIENT -> SERVER: Content-Type: text/plain; charset=us-ascii
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER: This is a test html email
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER: --b1_KvZPwFu2gMzFcs5f9XiBML51sazZsNQRXMqmxiuo
2020-01-13 13:16:54 CLIENT -> SERVER: Content-Type: text/html; charset=us-ascii
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER: This is a test html email
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER: --b1_KvZPwFu2gMzFcs5f9XiBML51sazZsNQRXMqmxiuo--
2020-01-13 13:16:54 CLIENT -> SERVER:
2020-01-13 13:16:54 CLIENT -> SERVER: .
2020-01-13 13:16:54 SERVER -> CLIENT: 250 OK id=1iqzaQ-000Ars-TL
2020-01-13 13:16:54 CLIENT -> SERVER: QUIT
2020-01-13 13:16:54 SERVER -> CLIENT: 221 gator4001.hostgator.com closing connection
日志的第一行说我们不授权使用此系统传输未经请求的 220 and/or 群发电子邮件。 但同时time PHPMailer 正在给我回复 Mail sent.
这可能是什么问题,我该如何解决?
此外,我使用了我的实际电子邮件地址,而不是 my@emailaddress.com 和 domainname.com实际网站地址。只是写到这里,显然人们指出这里最奇怪的东西哈哈。
编辑
请在下面找到 php 代码:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'Exception.php';
require 'PHPMailer.php';
require 'SMTP.php';
$mail = new PHPMailer(true);
try {
//Server settings
$mail->SMTPDebug = 2;
$mail->isSMTP();
$mail->Host = 'domainname.com';
$mail->SMTPAuth = true;
$mail->Username = 'donotreply@domainname.com';
$mail->Password = 'mypassword';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
//Recipients
$mail->setFrom('donotreply@domainname.com', 'MyTestEmail');
$mail->addAddress('info@domainname.com', 'Khan');
//Content
$mail->isHTML(true);
$mail->Subject = 'Test Email body';
$mail->Body = 'Test Email body';
$mail->AltBody = 'Test Email body';
$mail->send();
return "SUCCESS";
} catch (Exception $e) {
return "FAIL";
// Use the line below to display error
// echo 'Mailer Error: ' . $mail->ErrorInfo;
}
?>
** 更新**
我在 donotreply@domainname.com 上收到了被退回的电子邮件,其中包含以下错误:
The mail system
<info@domainname.com>: host mail.domainname.com[192.185.30.71] said:
550-Verification failed for <donotreply@domainname.com> 550-No Such User
Here 550 Sender verify failed (in reply to RCPT TO command)
Reporting-MTA: dns; gateway21.websitewelcome.com
X-Postfix-Queue-ID: 14259400E4AA1
X-Postfix-Sender: rfc822; donotreply@domainname.com
Arrival-Date: Mon, 13 Jan 2020 08:02:26 -0600 (CST)
Final-Recipient: rfc822; info@domainname.com
Original-Recipient: rfc822;info@domainname.com
Action: failed
Status: 5.0.0
Remote-MTA: dns; mail.domainname.com
Diagnostic-Code: smtp; 550-Verification failed for <donotreply@domainname.com>
550-No Such User Here 550 Sender verify failed
问题基本上出在新创建的电子邮件 donotreply@domainname.com 本身。 使用 PHPMailer 测试的前两个电子邮件地址在收件箱中退回。 如果您面临与我完全相同的问题,那么我建议您进行以下故障排除:
确保调试未设置为 0
$mail->SMTPDebug = 2
测试您的代码并检查 PHPMailer 是否在最后成功触发。
Check if PHPMailer echoes SUCCESS
正如@ADyson 所指出的,以下error/notice 并不意味着 PHPMailer 不工作。
SERVER -> CLIENT: 220-gator4001.hostgator.com ESMTP Exim 4.92 #2 Mon, 13 Jan 2020 07:16:54 -0600 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail.
其次通过向不同服务器上的不同域发送电子邮件来测试您的代码
Test sending email to Gmail, Hotmail, Yahoo, Other Emails hosted on another server.
检查您的收件箱是否有任何被退回的邮件。
If you've received a bounced back message; It is certain that PHPMailer is working fine.
通过在退回的电子邮件中向他们提供错误详细信息,联系您的房东以获取更多详细信息。
我的问题已被 hostgator 解决,因为发送到少数电子邮件地址的电子邮件会被退回,而它在 Gmail 和 Hotmail 上运行得很好