오늘의 이슈
팀프로젝트에 nodemailer 를 사용하기 위해 설치하고 코드를 작성 후 실행해보니
Error: Invalid login: 535-5.7.8 Username and Password not accepted
이런 오류가 발생했다.
찾아보니 구글 계정의 보안 상 이슈인듯 했다.
이 팀프로젝트에 노드메일러를 사용하기 위해 새로 아이디를 만들었는데 보안 수준이 낮아서 적용이 안되는거라
결국 2차인증까지 했다.
그런데도 오류가 또 발생했다.
추가적으로 다시 찾아보니 2차 인증 후 앱 비밀번호를 생성해서 해결하는거였다.
(앱비밀번호란 ? 보안 수준이 낮은 앱 또는 기기에 구글 계정에 대한 액세스 권한을 부여하는 번호 = 노출되면 큰일남 )
그래서 앱 비밀번호 만들고 .env에 추가해준다음
import nodemailer from "nodemailer";
import dotenv from "dotenv";
dotenv.config();
const { EMAIL_USER, EMAIL_PASS } = process.env;
const transporter = nodemailer.createTransport({
service: "gmail",
auth: {
user: EMAIL_USER,
pass: EMAIL_PASS,
},
});
export default async function emailSender(emails, userId) {
const template = `
...생략
</html>
`;
for (const email of emails) {
const mailOptions = {
from: process.env.EMAIL_USER,
to: email,
subject: `🎉 Welcome! 환영합니다!`,
html: template,
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.error(error);
} else {
console.log("Email Sent : ", info);
}
});
}
}
요런식으로 코드 작성해서 이메일 보내줬다.
간단한 오류였으나 코드 잘못짠줄알고 안찾아보고 코드만 열심히 뜯어보면서 시간 좀 많이 날렸다.
'TIL' 카테고리의 다른 글
[TIL] 2024-02-29 팀 프로젝트 회고 (3) | 2024.02.29 |
---|---|
[TIL] 2024-02-28 슬랙api + node-schedule (1) | 2024.02.29 |
[TIL] 2024-02-26 jest 이슈 (0) | 2024.02.27 |
[TIL] 2024-02-23 JavaScript Code Kata (0) | 2024.02.23 |
[TIL] 2024-02-20 3계층 아키텍처 개념 정리 (0) | 2024.02.22 |