nodemailer发件人为空

时间:2019-06-24 21:00:47

标签: javascript node.js nodemailer

我正在尝试将nodemailer与不需要任何类型验证的应用程序一起使用。该应用程序所在的服务器已列入白名单,因此不需要用户名或密码。 我将邮件配置设置如下:

let mailConfig = {
         pool: true,
        maxConnections: maxConnections,
        maxMessages: maxMessages,
        rateDelta: rateDelta * 1000,
        rateLimit: maxMessages * maxConnections,
        secure: false,
        ignoreTLS: true,
        logger:true,
        host: config.SMTP_Host,
        port: config.SMTP_Port
    };

但是,由于没有电子邮件发件人,我不断遇到550错误。我发现了另一个stackoverflow问题,该问题指出您拥有的主机域与用户的域不同(在本例中为用户未定义)时,发件人会自动设置为该域。即使我实际上已将发件人设置为空白,这也很有意义。

如果用户域不存在,是否可以防止nodemailer更改发件人以匹配用户域?

还是我完全误解了错误消息?

到目前为止,我已经尝试通过在消息对象中执行此操作来手动设置这些字段,但是我不得不承认我对这种类型的协议不熟悉。

sender:config.SMTP_Host,
envelope: {
           from: `"Sender Name" <${config.SMTP_Host}>`, // used as MAIL FROM: address for SMTP
           to: `${email}, "${first_name}" <${email}>` // used as RCPT TO: address for SMTP
    }

1 个答案:

答案 0 :(得分:0)

“发件人”字段必须包含电子邮件地址,而不是主机名。

如果我们以gmail为例,您在发件人字段中输入的是

From: "Sender Name" <smtp.gmail.com>

应该在什么时候出现:

From: "Sender Name" <sender@gmail.com>

发送服务器正在搜索“ smtp.gmail.com”作为电子邮件,但没有找到,因此您收到一条消息,指出该电子邮件地址不存在。