【问题标题】:UserFrosting (0.3.x) SMTP email errorUserFrosting (0.3.x) SMTP 电子邮件错误
【发布时间】:2016-08-30 20:30:37
【问题描述】:

[UserFrosting 0.3.x]

我刚刚设置了 UserFrosting,一切看起来都正常,除了一件小事......

当用户去注册时,出现错误“尝试邮件时出现致命错误,请联系您的服务器管理员”

config-userfrosting.php中,smtp部分填写为:

        'mail' => 'smtp',
        'smtp'  => [
            'host' => 'smtp.scottywcreates.com',
            'port' => 465,
            'auth' => true,
            'secure' => 'ssl',
            'user' => 'userfrosting@scottywcreates.com',
            'pass' => '------'
        ],

(密码被涂黑)

为什么会出现这个错误?

【问题讨论】:

    标签: php smtp phpmailer userfrosting


    【解决方案1】:

    用户看到的消息只是一般错误消息,表明邮件服务器存在一些问题。它故意避免提供您可能不想向公众披露的具体细节。

    要找出特定错误情况,您需要检查您的 PHP 错误日志。请检查您的特定服务器配置以查找 PHP 错误日志的位置。

    UserFrosting 使用PHPMailer 发送邮件。默认情况下,PHPMailer 不会输出任何详细的 SMTP 错误信息,因此您可能还会在错误日志中看到一般的异常消息(例如,“SMTP 错误:无法验证。”)

    要获取更详细的错误信息,您可以破解userfrosting/models/Notify/Notification.php 并更改PHPMailer 的默认设置。将以下配置值添加到其他 SMTP 配置值:

    $mail->Debugoutput = 'error_log';
    $mail->SMTPDebug = 4;
    

    这将告诉 PHPMailer 将非常详细的连接和错误信息转储到 PHP 错误日志中。完成此操作后,您应该能够看到您的 SMTP 服务器究竟为什么拒绝 UserFrosting 的电子邮件。

    SMTP失败的常见原因:

    • 许多 SMTP 服务器要求经过身份验证的帐户(在您的情况下为 userfrosting@scottywcreates.com)与实际电子邮件中的 From 地址匹配。默认情况下,帐户验证电子邮件从配置 -> 站点设置下设置的“帐户管理电子邮件”地址发送。因此,您可以尝试检查它是否与您在config-userfrosting.php 中用于身份验证的地址匹配。
    • 使用了错误的端口或身份验证方法。请参阅 Email Troubleshooting 维基。

    【讨论】:

    • 感谢您的反馈。
    • 没问题!如果这对你有用,请点赞,并点击“接受作为答案”。
    猜你喜欢
    • 2014-06-07
    • 2012-01-04
    • 2011-05-24
    • 2010-10-10
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    相关资源
    最近更新 更多