通过 godaddy SMTP 发送电子邮件的正确设置是什么?

What is correct settings for sending email through godaddy SMTP?

我在电子邮件和办公室下使用 GoDaddy Professional Email(不是 Workspace Email)。对于我的网站,我想使用 PHPMailer 向用户发送电子邮件。我已经根据 GoDaddy 电子邮件服务器信息使用了所有凭据。

根据 GoDaddy,发送服务器设置为:

我已将我的 PHPMailer 代码设置如下:

<?php

try
{
    $email = new PHPMailer(TRUE);
    $email->isSMTP();
    $email->SMTPDebug = 2;
    $email->SMTPAuth = TRUE;
    $email->SMTPAutoTLS = FALSE;
    $email->SMTPSecure = "ssl";
    $email->Host = "smtpout.secureserver.net";
    $email->Port = 465;
    $email->Username = "myUserName";
    $email->Password = "MyPassword";

    $email->setFrom("address@from.com", "Name");
    $email->addAddress("address@to.com", "Name");
    $email->isHTML(TRUE);
    $email->Body = "My HTML Code";
    $email->Subject = "My Subject";
    $email->send();
}
catch (Exception $e)
{
    // $email->ErrorInfo;
}

?>

以上代码抛出以下错误:

2019-08-14 10:55:58 SMTP ERROR: Failed to connect to server: Connection refused (111) SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

我已经搜索了解决方案。一些 Whosebug 问题讨论了有关 GoDaddy Workspace Email 的问题。但我很沮丧直到现在才找到解决方案。如果我做错了什么,请帮助我。

我发现以下设置有效。 这可能会有用。

使用80作为端口

<?php

try
{
    $email = new PHPMailer(TRUE);
    $email->isSMTP();
    $email->SMTPDebug = 2;
    $email->SMTPAuth = TRUE;
    $email->SMTPAutoTLS = FALSE;
    $email->SMTPSecure = "tls";
    $email->Host = "smtpout.secureserver.net";
    $email->Port = 80;
    $email->Username = "GoDaddy Professional Email Username";
    $email->Password = "GoDaddy Professional Email Password";

    $email->setFrom("address@from.com", "Name");
    $email->addAddress("address@to.com", "Name");
    $email->isHTML(TRUE);
    $email->Body = "My HTML Code";
    $email->Subject = "My Subject";
    $email->send();
}
catch (Exception $e)
{
    // $email->ErrorInfo;
}

?>`

我的回答是:Hiranmoy 于 8 月 14 日在 14:56 上的建议应该是批准的答案。 Godaddy 用这个简单的功能引起的麻烦数量值得一个经过测试的有效解决方案,而 Hiranmoy 的解决方案是我经过数小时搜索后找到的唯一解决方案。这是 Hiranmoy 的片段,添加了缺少的内容:

    <?php
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    require 'Exception.php';
    require 'PHPMailer.php';
    require 'SMTP.php';

    try
    {
        $email = new PHPMailer(TRUE);
        $email->isSMTP();
        $email->SMTPDebug = 2;
        $email->SMTPAuth = TRUE;
        $email->SMTPAutoTLS = FALSE;
        $email->SMTPSecure = "tls";
        $email->Host = "smtpout.secureserver.net";
        $email->Port = 80;
        $email->Username = "GoDaddy Professional Email Username";
        $email->Password = "GoDaddy Professional Email Password";

        $email->setFrom("address@from.com", "Name");
        $email->addAddress("address@to.com", "Name");
        $email->isHTML(TRUE);
        $email->Body = "My HTML Code";
        $email->Subject = "My Subject";
        $email->send();
    }
    catch (Exception $e)
    {
        // $email->ErrorInfo;
    }
    ?>