Node.js
(Node.js) nodemailer로 파일첨부
JJeongHyun
2024. 6. 2. 15:47
반응형
● 순서
- 요지
- 적용 코드
- 마무리
1. 요지
- 업무를 보면서 특정 데이터를 누구(타 부서 직원)에게 전달해야 하는 일이 생겼다
- 단, 이 과정이 매일 반복되고 일정한 시간마다 보내야 되는데, 일일이 데이터를 추출해서 메신저로 보내줬다
- 이에 이러한 불편함을 버리고자 단순하게 메일만 보냈던 이메일 전송 라이브러리에서 파일 첨부가 되는지 알아보았다
2. 라이브러리 설치
https://developerjjh.tistory.com/200
3. 적용 코드
-
- transport의 sendMail 메서드의 옵션인 attachments 값을 설정해주면 된다
// ... 이하 생략 ...
// 보내고자 하는 파일의 값을 가져온다 (buffer형식)
const sendFileData:Buffer = readFileSync(`upload/${파일_이름.확장자}`);
await transporter.sendMail({
from: process.env.NODEMAILER_USER,
to: '보내고자 하는 대상의 이메일 주소', // ~~~@gmail.com, ~~~@naver.com 등등
subject: '이메일 내용',
html: '이메일 제목',
attachments: [
{ filename: '첨부파일의 이름', content: sendFileData },
],
});
// ... 이하 생략 ...
- attachments
- 배열형식으로 첨부하고자 하는 파일의 이름(filename)
- 해당 파일의 buffer값(content)을 설정할 수 있다
- 객체형식으로 여러개도 가능하다
4. 마무리
- 진작에 알아볼껄 ... 그랬다..ㅋㅋㅋㅋ
- 처음에 만들떄는 생각도 안 하고 있다가, 필요하니까 그때 가서야 있나..?라고 찾아보다니
- 앞으로도 알아가야할 것들과 공부할 것들은 정말 많다는 걸 느꼈다