【问题标题】:Nodemailer Ethereal emails are not deliver to the gmailNodemailer Ethereal 电子邮件不会发送到 gmail
【发布时间】:2022-07-18 00:39:53
【问题描述】:

我正在尝试使用 express js 服务器使用以下功能发送电子邮件。它似乎工作正常。但是当我发送电子邮件时,它在我的 gmail 收件箱或垃圾邮件中不可见。

我使用的功能:

const transporter = nodemailer.createTransport({
    host: 'smtp.ethereal.email',
    port: 587,
    auth: {
        user: 'leo.skiles74@ethereal.email',
        pass: 'BJkKV41tNZNBmMkkCw'
    }
});

function SendEmail(email,subject,text,html) {
    return new Promise(async (resolve, reject) => {
        try {
            let info = await transporter.sendMail({
                from: "leo.skiles74@ethereal.email",
                to: email,
                subject: subject,
                text: text,
                html:html
            })
            resolve(info)
        } catch (error) {
            reject(error)
        }
    })
}

收到的回复:

{
  "accepted": [
    "gayantaanus@gmail.com"
  ],
  "rejected": [],
  "envelopeTime": 759,
  "messageTime": 506,
  "messageSize": 596,
  "response": "250 Accepted [STATUS=new MSGID=YpXX5N-8J14cOJVHYpXjvw93heVfMHMGAAAAA4okSTkzId5ci.tBPvM2244]",
  "envelope": {
    "from": "leo.skiles74@ethereal.email",
    "to": [
      "gayantaanus@gmail.com"
    ]
  },
  "messageId": "<91f5d48e-a363-b59a-d47b-c44736e49c43@ethereal.email>"
}

但未发送到 gmail。如何解决并向我解释原因?

【问题讨论】:

    标签: node.js express smtp nodemailer pop3


    【解决方案1】:

    就是这样:

    const nodemailer = require("nodemailer");
    nodemailer.createTestAccount((err, account) => {
     if (err) {
    console.error("Failed to create a testing account. " + err.message);
    return process.exit(1);
    }
    console.log("Credentials obtained, sending message...");
    let transporter = nodemailer.createTransport({
    host: account.smtp.host,
    port: account.smtp.port,
    secure: account.smtp.secure,
    auth: {
      user: account.user,
      pass: account.pass,
    },
    });
     let message = {
    from: "Sender Name <sender@example.com>",
    to: "Recipient <recipient@example.com>",
    subject: "Nodemailer is unicode friendly ✔",
    text: "Hello to myself!",
    html: "<p><b>Hello</b> to myself!</p>",
    };
    transporter.sendMail(message, (err, info) => {
      if (err) {
        console.log("Error occurred. " + err.message);
      return process.exit(1);
    }
    console.log("Message sent: %s", info.messageId);
    console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info));
    });
    });
    

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    【解决方案2】:

    邮件好像都被删除了……我们可以新建一封,但是我还没有测试是否收到邮件…… 由于证书无效,无法显示状态页面。 我给管理员发了一封电子邮件,但他仍然没有回复...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-30
      • 2014-05-23
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      • 2021-11-09
      相关资源
      最近更新 更多