nodeMailer는 Node.js 환경에서 email을 보내주도록 도와주는 모듈이다.
메일은 전송할 수 있고 메일의 내용을 HTML 문서로 사용, 혹은 파일 첨부 가능도 가능하다.
npm install nodemailer
npm install nodemailer-sendgrid-transport
// 랜덤한 문자를 만들기 위한 함수이다.
export const generateSecret = () => {
const randomNumber = Math.floor(Math.random() * adjectives.length);
return `${adjectives[randomNumber]} ${nouns[randomNumber]}`;
};
// 실제로 메일을 보내주기 위한 함수
const sendMail = email => {
const options = {
auth: {
api_user: process.env.SENDGRID_USERNAME,
api_key: process.env.SENDGRID_PASSWORD
}
};
const client = nodemailer.createTransport(sgTransport(options));
return client.sendMail(email);
};
// 메일의 양식을 지정하는 함수
export const sendSecretMail = (address, secret) => {
const email = {
from: "gaegosu@naver.com",
to: address,
subject: "SingUp Secret for Gaegosu",
html: `Hello Your login secret it <h1>${secret}</h1>.<br/> Copy paste on the Web to Sign Up`
};
return sendMail(email);
};