【问题标题】:Nodemailer and Godaddy, I've tried every solution to no availNodemailer和Godaddy,我尝试了所有解决方案都无济于事
【发布时间】:2020-06-19 09:40:53
【问题描述】:

我通过 GoDaddy 购买了一个域和一个电子邮件地址,并捆绑了 Office 365 Basic。

几天后,我尝试从我的节点应用程序中仅发送一封带有 nodemailer 的电子邮件,但从未成功,因为我总是收到 535 Authentication Failed from user@domain.com

我已经扫描 StackOverflow 好几天了,尝试了每个解决方案,这是我尝试传递给 nodemailer.createTransport 的每个设置:

const mailerConfig = 
{
    //First set of parameters tried
    service: 'Godaddy',
    host: "smtp.office365.com",  
    secureConnection: true,
    port: 587,

    auth: 
    {
        user: "user@domain.com",
        pass: "password" 
    }


    //Second set of parameters tried
    host: "smtp.office365.com",
    secureConnection: false,
    port: "587",
    auth:
    {
        user : "user@domain.com",
        pass : "password"
    },
    tls:
    {
        ciphers:'SSLv3'
    }


    //Third set of parameters tried
    service: "outlook",
    auth: 
    {
        user: 'user@domain.com',
        pass: 'password'
    }
}

这三个设置都不起作用,有人知道吗? 谢谢。

【问题讨论】:

  • 你解决了吗?
  • 你解决了吗?我收到“错误:无效登录:535 5.7.3 身份验证失败 [BYAPR07CA0061.namprd07.prod.outlook.com]”

标签: node.js nodemailer godaddy-api


【解决方案1】:

有一个godaddy FAQ entry 名为“在 Thunderbird 上手动配置电子邮件设置”(似乎只能通过 WaybackMachine 访问)。

它提到了以下配置:

Incoming (IMAP): imap.secureserver.net    993     SSL  Normal password
Outgoing (SMTP): smtpout.secureserver.net 465,587 SSL  Normal password

Username: Workspace Email address

使用上述内容,尤其是 smtpout.secureserver.net 作为 SMTP 主机对我有用——在 2021 年使用 Godaddy 电子邮件进行了测试。

【讨论】:

    【解决方案2】:

    如果有人仍然有问题,这个配置实际上在 2021 年 9 月对我有用:

      var transporter = nodemailer.createTransport({
        host: "smtpout.secureserver.net",
        port: 587, // port for secure SMTP
        auth: {
          user: "youremailaddress",
          pass: "yourpassword",
        },
      });
    

    【讨论】:

      【解决方案3】:

      您需要启用所有访问

      并且不要忘记禁用登录的短信/通话确认

      顺便说一句,我在 firebase 云函数/nodemailer 上使用了这段代码

        cors(req, res, async () => {
          var transporter = nodemailer.createTransport({
            host: "smtp.office365.com",
            port: 587, // port for secure SMTP
            auth: {
              user: "user@domain.com",
              pass: "password",
            },
            tls: {
              ciphers: 'SSLv3'
            }
      
          });
      
          if (req.method === 'POST') {
            var mailOptions = {
              from:req.body.from,
              to: req.body.email, // list of receivers
              subject: req.body.subject, // Subject line
              text: req.body.text,
            };
            return transporter.sendMail(mailOptions).then(() => {
              res.status(200).send('Email has been sent to mr/ms : ' + req.body.email); return ("mail sent")
            });
          }
        })
      

      【讨论】:

        【解决方案4】:
        1. 您必须在管理员设置中为 O365 邮箱或用户启用 SMTP 登录

        1. 如果用户开启了多因素,那么你需要使用“应用密码”,如果启用了MFA,普通密码将无法使用。

        https://docs.microsoft.com/en-us/azure/active-directory/user-help/multi-factor-authentication-end-user-app-passwords

        1. 您需要禁用安全默认设置或调整条件访问策略。

        https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/concept-fundamentals-security-defaults

        1. 此外,您可以使用 azure 用户帐户中的登录日志来调试问题。

        【讨论】:

        • 我无法进入 O365 管理设置,我只是被重定向到 GoDaddy 的受限界面
        • 你在 godaddy 的哪里“启用 O365 邮箱的 SMTP 登录”?
        • godaddy O365 我不确定...我只是使用 Microsoft 365 帐户完成的..
        • 我在上面添加了 M365 管理面板的截图。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多