【问题标题】:how to send emails node mailer without smtp如何在没有 smtp 的情况下发送电子邮件节点邮件程序
【发布时间】:2023-03-26 07:42:01
【问题描述】:

我正在尝试通过 nodemailer 发送电子邮件,并且我已经多次使用我的 gmail 帐户...问题是,我现在不想使用我的 gmail 帐户,我想使用我的业务电子邮件,这样我就可以定期向客户发送电子邮件...

我现在已经这样设置了,但不知道如何在没有 gmail / smtp 的情况下进行设置:

app.post('/sendBatchEmail', (req, res) => {
var emails = [];
var emailSubject = req.body.emailSubject;
var emailMessage = req.body.emailMessage;
//perform db2 send

var sendEmail = "select * from testEmails"
ibmdb.open(ibmdbconnMaster, function (err, conn) {
  if (err) return console.log(err);
  conn.query(sendEmail, function (err, rows) {
    if (err) {
      console.log(err);
    }
    for (var i = 0; i < rows.length; i++) {
      emails.push(rows[i].EMAIL)
    }
   
    //send email
    async function main() {
      // Generate test SMTP service account from ethereal.email
      // Only needed if you don't have a real mail account for testing
      let testAccount = await nodemailer.createTestAccount();
  
      // create reusable transporter object using the default SMTP transport
      let transporter = nodemailer.createTransport({
        host: "smtp.gmail.com",
        port: 587,
        secure: false, // true for 465, false for other ports
        auth: {
          user: "x",
          pass: "x",
        },
      });
  
      // send mail with defined transport object
      let sendBatch = await transporter.sendMail({
        from: "", // sender address
        to: "xxxxx@gmail.com",
        bcc: emails, // list of receivers
        subject: emailSubject, // Subject line
        text: emailMessage, // plain text body
      });
  
      console.log("Message sent: %s", sendBatch.messageId);
     }
  
    main().catch(console.error);
    res.redirect("/index");

    conn.close(function () {
      console.log("closed the function app.get(/account)");
    });
  });
});

我不确定如何不使用 smtp 服务器,以便我可以使用商务电子邮件,或者即使这是可能的!提前感谢您的帮助:)

 })

【问题讨论】:

    标签: javascript node.js email npm nodemailer


    【解决方案1】:

    您可以使用 nodemailer 执行此操作,但不建议发送没有 SMTP 的电子邮件,因为被拒绝或放入垃圾邮件文件夹的可能性要高得多。我很确定类似 gmail 的服务会将电子邮件放入垃圾邮件文件夹中。以下是你如何实现它:

    let transporter = nodemailer.createTransport({
            host: "smtp.example.com",
            port: 587,
            secure: false, // true for 465, false for other ports
            auth: {
              user: "x",
              pass: "x",
            },
          });
      
          // send mail with defined transport object
          let sendBatch = await transporter.sendMail({
            from: "<foo@example.com>", // sender address
            to: "xxxxx@gmail.com",
            bcc: emails, // list of receivers
            subject: emailSubject, // Subject line
            text: emailMessage, // plain text body
          });
      
          console.log("Message sent: %s", sendBatch.messageId);
         }
    

    更多详情可以查看here1here2

    【讨论】:

      猜你喜欢
      • 2015-12-12
      • 2014-08-11
      • 2021-10-09
      • 1970-01-01
      • 2017-01-28
      • 1970-01-01
      • 2021-05-19
      • 1970-01-01
      • 2011-06-06
      相关资源
      最近更新 更多