簡體   English   中英

使用nodemailer發送郵件,需要步驟

[英]Sending mail using nodemailer, need the steps

我是testcafe和 Node.js 的testcafe ,我想使用nodemailer發送郵件。 有人可以給我步驟嗎? 我嘗試了幾次我不確定我是否做錯了什么。

以下是接下來的步驟:

  1. 安裝 nodemailer: npm install nodemailer
  2. 使用 SMTP 或其他一些傳輸機制創建一個 Nodemailer 傳輸器
  3. 設置消息選項(誰向誰發送什么)
  4. 使用之前創建的傳輸器的sendMail()方法傳遞消息對象:
var mailer = require("nodemailer");

var transporter = mailer.createTransport({
  host: "smtp.abc.email",
  port: 587,
  secure: false, // true for 465, false for other ports
  auth: {
    user: "email@abc.com", //
    pass: "password" //
  }
});

// send mail with defined transport object
var mail = {
  from: "email@abc.com", // sender address
  to: "email@abc.com", // list of receivers
  subject: "hello", // Subject line
  text: "Hello world?", // plain text body
  html: "<b>Hello world?</b>" // html body
};

transporter.sendMail(mail, function(error, response) {
  if (error) {
    console.log(error);
  } else {
    console.log("Message sent: " + response.message);
  }

  transporter.close();
});

我有以下問題:

  1. 對於 SMTP,我是否需要從 npm 安裝任何東西?

  2. net中的大多數示例都顯示了Gmail,但我用我的公司郵件替換了它,我在這里考慮了smtp.abc.com我還需要做什么嗎?

  3. 我想從我的公司電子郵件發送郵件,需要什么不同的設置?

  1. 對於 SMTP,我是否需要從 npm 安裝任何東西?

不,只有nodemailer

  1. 我想從我的公司電子郵件發送郵件,需要什么不同的設置?
import * as nodeMailer from "nodemailer";

const MAILER_CONFIG = Object.freeze({
    host: "smtp.mycompany.com",
    port: 25,
    secure: false, // true for 465 SMTP port, otherwise false
    auth: {
        user: "username",
        pass: "password"
    }
});

const MAIL_OPTIONS = Object.freeze({
    from: mailSender,
    to: mailReceiver,
    subject: mailSubject,
    text: mailBodyText,
    html: mailBodyHTML
});

const TRANSPORTER = Object.freeze(nodeMailer.createTransport(MAILER_CONFIG));

const mailSendingResult = await TRANSPORTER.sendMail(MAIL_OPTIONS);

TRANSPORTER.close();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM