지난번에 안되서 c# 으로 구현한 글을 작성했었는데요
node.js 로 성공했습니다.
c# 돌릴 서버 구해야하나 했는데 없어도 되는군요
다행
cafe24 는 낮은 보안 이라 옵션을 좀 넣어야합니다.
메일 서비스를 구입합니다. 3개짜리가 1년에 몇만원 했던거 같군요
웹페이지가 2개가 있습니다.
npm i nodemailer
npm i -D @types/nodemailer
@types/nodemailer 이거는 typescript 사용자만 필요
자동완성 때문에 씁니다.
import nodemailer from "nodemailer";
export async function email_send() {
const mymail = get_config().mymail;
const transporter = nodemailer.createTransport({
host: SMTP 주소, // 예) smtp.cafe24.com
port: SMTP 포트 번호, // 예) 123
secure: false, // 보안 연결 아니고
ignoreTLS: true, // TLS 무시 하기
auth: {
user: "~~~@~~~.cafe24.com", // @ 가 들어가는 전체 주소
pass: "암호",
},
});
const options = {
from: "보내느 사람 메일 주소", // 존재하지 않는 메일 주소라도 괜찮습니다.
to: "받을 메일 주소",
subject: "제목이야",
text: "내용이야!", // text 나 html 둘중하나로 쓰세요
html: "html 형식으로" // html 형식의 본문을 쓰고 싶다면 이거
};
try {
const result = await transporter.sendMail(options);
console.log("email_send ok", result);
} catch (e) {
console.log("email_send ng", e);
}
}
계정엔 아이디@주소 형식의 풀네임이 들어가야합니다.