【发布时间】:2018-06-06 09:53:14
【问题描述】:
我正在使用 phpmailer 5.2.2 和带有 cPanel 的 godaddy Linux 主机。
经过多次尝试不同的解决方案。似乎所有的方法都不适合我。为方便起见,我重点介绍godaddy的工作人员提供的方法。
- Localhost方法(如下代码)>>>我怎样才能得到这个授权来发送邮件?
虽然结果是“Email sent.”,但收件人电子邮件不会收到任何邮件或垃圾邮件。 对于 SMTP 调试,godaddy 的服务器给了我一条消息: 220-我们不授权使用此系统传输未经请求的、220 和/或批量电子邮件。
<?php
require_once 'bat/phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = "localhost";
$mail->Port = 25;
$mail->SMTPSecure = false;
$mail->SMTPAuth = false;
$mail->Username = "";
$mail->Password = "";
$mail->SMTPDebug = 3;
$mail->Debugoutput= 'error_log';
$mail->IsHTML(true);
$mail->AddAddress("test@recipientdomain.com");
$mail->CharSet = "utf-8";
$mail->setFrom('test@dominename.com', 'test name');
$mail->Subject = 'test title';
$mail->Body = 'testing content';
if (!$mail->Send()) {
echo "Error: " . $mail->ErrorInfo;
} else {
echo "<b>Email sent.</b>";
}
?>
- 将主机设置为 'relay-hosting.secureserver.net' >>> 为什么无法连接到服务器?
另一位godaddy 的工作人员建议使用此主机,但情况更糟。 使用“relay-hosting.secureserver.net”,调试消息甚至显示:SMTP 错误:无法连接到服务器:连接被拒绝 (111)。对于这个问题,我尝试与他们的员工进行实时聊天。直到现在,他们的建议都没有帮助。
有人成功使用了他们的建议代码吗?请给我一些线索!
非常感谢...
【问题讨论】:
-
您是否从您的托管包中实际存在的电子邮件地址发送电子邮件?
-
你需要添加smtp用户名(电子邮件)和密码,删除
$mail->SMTPDebug = 3;它写了两次,也使$mail->SMTPAuth = false;为true。你需要在$mail->Host = "localhost";为godaddy添加主机 -
@RiggsFolly 我使用 cpanel 电子邮件作为发件人。
-
不要使用 PHPMailer 5.2.2 - 它非常老旧,自 2012 年发布以来已经修复了许多错误和漏洞。从共享主机发送电子邮件是一场失败的战斗。
-
@PrashantBarve thx 4 你的建议。我尝试了第一个和第二个指令。服务器仍然向我显示 220 消息。另外,'在 $mail->Host = "localhost";' 处添加 Godaddy 的主机是什么意思。