간단한 Nodemailer 사용법
먼저 프로젝트를 빌드하고 문자 메시지를 보냅니다.
mkdir sample_mailer
cd sample_mailer
npm init -y // initialize npm
npm install nodemailer
그런 다음 2개의 파일 생성
touch index.js
touch index.html
먼저 간단한 메시지를 보내고 ethereal 메일에서 확인한 다음 실제 html 기반 메일을 보내므로 필요한 이유입니다
index.html
.다음으로 nodemailer's website에서 코드를 복사하여 붙여넣고
index.js
에 붙여넣습니다."use strict";
const nodemailer = require("nodemailer");
// async..await is not allowed in global scope, must use a wrapper
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.ethereal.email",
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: testAccount.user, // generated ethereal user
pass: testAccount.pass, // generated ethereal password
},
});
// send mail with defined transport object
let info = await transporter.sendMail({
from: '"Fred Foo 👻" <[email protected]>', // sender address
to: "[email protected], [email protected]", // list of receivers
subject: "Hello ✔", // Subject line
text: "Hello world?", // plain text body
html: "<b>Hello world?</b>", // html body
});
console.log("Message sent: %s", info.messageId);
// Message sent: <[email protected]>
// Preview only available when sending through an Ethereal account
console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info));
// Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou...
}
main().catch(console.error);
이 경우 nodemailer 전송 개체를 만들고 testAccount를 사용하여 샘플 메일을 보내고 생성된 주소를 체크인합니다.
node index.js
// or define a "start" in package.json to run it
내 결과는 다음과 같습니다.
미리보기 URL을 클릭하면 다음과 같이 표시됩니다.
둘째, HTML을 보내자
index.html
파일을 생성하고 unsplash.com
에서 이미지를 찾아 html 파일에 몇 가지 단어를 입력하면 최종적으로 다음과 같이 표시됩니다.코드는 다음과 같습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=s, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div class="container">
<h1>hello title</h1>
<p>this is the main body text here</p>
<span>lalalalalalall</span>
<img
src="https://images.unsplash.com/photo-1646186598644-0b0e407852a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1036&q=80"
alt=""
/>
</div>
</body>
</html>
index.js
파일을 약간 조정하여 이 파일을 보내도록 합시다.먼저 node.js의 내장
fs
모듈을 사용하여 읽어야 합니다.const { promisify } = require("util");
const fs = require("fs");
const readFile = promisify(fs.readFile);
그런 다음
html: "<b>Hello world?</b>", // html body
~와 함께
html: await readFile("./index.html", "utf8"),
그런 다음
npm run start
또는 node index.js
를 다시 실행하여 이를 실행하고 에테르 메일을 확인합니다.plain text
옵션을 클릭하면:만세, 우리는 첫 번째 텍스트와 html 메시지를 보냈습니다! 나중에 우리는 일상 업무를 보다 생산적으로 만들기 위해 nodemailer를 기반으로 더 멋진 이메일 응용 프로그램을 구축하는 방법을 확인할 것입니다.
Reference
이 문제에 관하여(간단한 Nodemailer 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/frontierdev/simple-nodemailer-usage-m84텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)