【问题标题】:Issue on how to setup SMTP using PHPMailer in GoDaddy server关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题
【发布时间】:2017-04-26 08:42:13
【问题描述】:

我已经研究了 3 周来研究如何使用 PHPMailer 为 GoDaddy 配置 SMTP,但它都不起作用。尝试联系 GoDaddy 支持,但他们尚未回复。而且我还没有看到任何关于如何在他们的服务器上设置 SMTP 的文档。

我已经多次更改主机,测试了它们,但都没有成功发送电子邮件。我超越了错误(使用 PHPMailer 调试),但是当我检查电子邮件时,我看不到任何收到的消息。

这些是我尝试过的主机:

$mail->Host = "smtp.office365.com";
$mail->Host = "smtpout.secureserver.net";
$mail->Host = "relay-hosting.secureserver.net";
$mail->Host = "localhost";

另外,我已经尝试了PHPMailer故障排除中的设置,但它不起作用。

$mail->isSMTP();
$mail->Host = 'relay-hosting.secureserver.net';
$mail->Port = 25;
$mail->SMTPAuth = false;
$mail->SMTPSecure = false;

我目前的设置是:

$mail->isSMTP();
$mail->Host = "smtpout.secureserver.net";
$mail->Port = 80;
$mail->SMTPAuth = true;

//Enable SMTP debugging. 
$mail->SMTPDebug = 4;

//Provide username and password     
$mail->Username = "email@email.com";                 
$mail->Password = "password"; 

$mail->From = "email@email.com";
$mail->FromName = "From Name";

$mail->addAddress("email@email.com", "Name");

使用的电子邮件是在 GoDaddy 中创建的电子邮件,即 Office 365 Email Essentials。在电子邮件和办公室(不是 Workspace 电子邮件或来自 cPanel)下。我正在使用带有 cPanel 包的经济型 Linux 主机。

我是 GoDaddy 的新手,所以这个问题对我来说是新的。在 InMotion 等一些托管服务提供商中,我从未遇到过这个问题。

【问题讨论】:

  • 你说 GoDaddy 的支持在 3 周内没有回复? Em....要么您的问题从未到达他们那里,要么您应该更换主持人,我会说?你付钱给他们什么?
  • 您需要告诉我们的不仅仅是“它不起作用”。发布您的调试输出。众所周知,GoDaddy 对出站电子邮件有严格的限制 - 您将无法直接连接到任何外部邮件服务器,您必须通过 GoDaddy 的服务器,正如他们的文档所说。如果它不起作用,您需要与他们交谈。这不是代码问题。
  • SMTP -> get_lines(): $str is "220-We do not authorize the use of this system to transport unsolicited, " 这是它在调试中所说的。现在,我已经更新了我的代码并使用了 localhost。
  • 我建议您先尝试使用 gmail 帐户进行 smtp 操作,然后再转到其他邮件帐户。我为 PHPmailer 做了一个包装器,看看,也许它在工作规范方面对你有帮助:gist.github.com/craigvantonder/e0503be23fada59834fa7e31c73f78a1
  • @CraigvanTonder 我在本地设置时尝试使用 gmail 和 office 365。但是,当我将文件传输到服务器后,电子邮件将无法发送或无法接收任何内容。

标签: php email smtp phpmailer shared-hosting


【解决方案1】:

Godaddy 对服务器中继设置做了一些更改。我们不再需要单独提及中继服务器设置。以下更改将适用于 PHPMailer。

$mail = new PHPMailer;

$mail->SMTPDebug = 0;

$mail->isSMTP();

$mail->Host = 'localhost';

$mail->Port = 25;

$mail->ssl = false;

$mail->authentication = false;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-17
    • 2012-06-14
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    相关资源
    最近更新 更多