【问题标题】:Unable to send SMTP mails using office365 settings无法使用 office365 设置发送 SMTP 邮件
【发布时间】:2019-07-14 00:43:26
【问题描述】:

我正在使用 SMTP 邮件通过 Laravel 发送邮件。除了 office365 邮件设置之外,一切都运行良好。

我使用的设置如下:

SMTP HOST = smtp.office365.com
SMTP PORT = 587
SMTP ENCRYPTION = tls
SMTP USER = username(email)
SMTP PASS = password

我得到的错误是:

554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; 由于消息的永久异常,无法处理消息 无法提交消息

我已经在谷歌上搜索了很多这个错误,每个人都说像这个链接这样的混乱 Solution to this error 但是我个人在执行完所有提到的步骤后并没有发现任何混乱。

我无法登录此电子邮件,因为它是我们的客户电子邮件 ID,我没有登录权限。

我还创建了一个 Outlook 电子邮件 ID 并测试了此电子邮件设置。 它就像魅力一样。 我不知道客户电子邮件 ID 有什么问题。

任何建议都会很棒。

【问题讨论】:

  • 您链接的解决方案是针对另一个错误“MapiExceptionNotFound”,您的错误请看这里:social.technet.microsoft.com/Forums/en-US/…
  • 您的链接也暗示了相同的内容。但我无法找到前面提到的混乱
  • 您需要使用 Sender 标头,而不是 From 标头。当您设置发送邮件的电子邮件地址时,请确保您的客户正在影响哪个标头。

标签: laravel email outlook smtp office365


【解决方案1】:

此错误意味着您在 SMTP 连接中指定其凭据的用户无法代表From 和/或Sender MIME 标头或FROM SMTP 命令中指定的用户提交邮件。

【讨论】:

  • 我被这个错误困扰了整整 4 天。先生,我会在我生命中的每一天都想着你!!
【解决方案2】:

Outlook 不提供使用不同于您的用户名登录的地址发送。

您需要两个电子邮件地址相同。

您可以在管理面板中添加一个或多个发件人,之后您可以轻松地从不同地址发送。

【讨论】:

  • 您用于发送代码的发件人电子邮件以及您实际发送的电子邮件。
  • 这解决了我的问题。我使用的是 Wordpress 插件 Easy WP SMTP,我需要确保“发件人电子邮件地址”和“SMTP 用户名”相同。
  • 是的,我为这个问题浪费了 7 天。最后,这解决了我的问题。希望你没有浪费这么多时间。
  • 这太疯狂了。我想返回一个错误消息太容易了,比如“发件人地址与信封发件人不匹配”。或“用户名和电子邮件地址不匹配”。 SMTP 是一个开放标准。 Microsoft 不应通过 SMTP 返回特定于实现的消息,这些消息属于服务器日志。理想情况下,我们不知道我们发送的环境是什么。在我们开始寻找解决方案之前,我们不应该花费数小时搜索 SMTP 错误的含义。
  • 您的回答有效,但不幸的是,您链接的页面显示“Microsoft 将从 2021 年 5 月 10 日起取消将新帐户连接到 Outlook.com 的功能。”似乎他们已经删除了它,我们现在无法添加其他发送地址。
【解决方案3】:

尝试了 4 天后,邮件开始使用端口:25 触发,所以不要尝试使用 587 或 465。尝试使用其他端口号。

主机:“smtp.office***.*”, 端口:25, 安全连接:假, 要求TLS:真, tls:{ 密码:'SSLv3' }, 授权:{ 用户:*, 经过: *** }

【讨论】:

    【解决方案4】:

    我遇到了类似的问题,我现在解决了, 您很可能会遇到此问题,因为您在 auth 选项中的“用户”电子邮件和在邮件选项中的“发件人”电子邮件不同

    使用户和电子邮件相同,它将为您工作

    const transporter = nodemailer.createTransport({
                service: 'outlook',
                port: 587,
                auth: {
                    user: 'abcde@outlook.com',
                    pass: '******'
                },
                tls: {
                    rejectUnauthorized: false
                }
            });
    
    
            // setup email data with unicode symbols
            let mailOptions = {
                from: "abcde@outlook.com", // sender address
                to: 'xyz@gmail.com', // list of receivers
                subject: 'Node Contact Request', // Subject line
                text: 'Hello world?', // plain text body
                html: output // html body
            };
    
            // send mail with defined transport object
            transporter.sendMail(mailOptions, (error, info) => {
                console.log(info);
                if (error) {
                    return console.log(error);
                }
                console.log('Message sent: %s', info.messageId);
                console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));
            });
    

    如果您的电子邮件未通过验证,您可能会收到更多错误

    【讨论】:

      【解决方案5】:

      我使用 Hotmail 并遇到了这个问题,但通过将 MAIL_FROM_ADDRESS 编辑为与 MAIL_USERNAME 相同来解决它

      下面是我设置的 env 文件。

      MAIL_MAILER=smtp
      MAIL_HOST=smtp-mail.outlook.com
      MAIL_PORT=587
      MAIL_USERNAME=myemail@hotmail.com (this must be the same as MAIL_FROM_ADDRESS!)
      MAIL_PASSWORD=mypassword
      MAIL_ENCRYPTION=tls
      MAIL_FROM_ADDRESS=myemail@hotmail.com (this must be the same as MAIL_USERNAME!)
      

      完成上述操作后一切正常。

      【讨论】:

        【解决方案6】:

        您也可以使用此邮件驱动程序: https://github.com/motze92/office365-mail

        您可以在此处指定租户有权使用的任何发件人电子邮件地址。已发送的电子邮件也将进入收件人已发送项目文件夹。

        【讨论】:

          【解决方案7】:

          对于这个问题,请检查 jenkins 系统管理员电子邮件,它与 smtp 用户电子邮件相同

          【讨论】:

            【解决方案8】:

            对我有用的是将DEFAULT_FROM_EMAIL 设置为EMAIL_HOST_USER。 使用 Office 365 SMTP 和 Django 3.0.10。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-07-06
              • 2014-09-16
              • 2022-01-06
              • 2017-02-15
              • 2014-09-13
              • 1970-01-01
              • 2020-10-11
              • 2017-04-23
              相关资源
              最近更新 更多