์ด๋ฉ”์ผ ๐Ÿ“ฌ โ–ป nodemailer

September 16, 2019

logo

์ด๋ฉ”์ผ ๋ฐœ์†ก์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๐Ÿ’Ž ๋ชฉ์ฐจ

โš™๏ธ ์„ค์น˜๋ฅผ ํ•˜๋ฉฐ

$ npm install nodemailer

โฌ† ๋ชฉ์ฐจ


๐Ÿ˜ณ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉฐ

1 example

  • createTransport

    • service - SMTP ๊ธฐ๋ฐ˜ ์ „์†ก ์ง€์›
    • auth - user: ๋ฉ”์ผ ๊ณ„์ •, pass: ๊ณ„์ • ๋น„๋ฐ€๋ฒˆํ˜ธ
  • sendMail

    • from(๋ณด๋‚ด๋Š” ์‚ฌ๋žŒ) - name: ๋ณด๋‚ด๋Š” ์ด, address: ๋ณด๋‚ด๋Š” ๋ฉ”์ผ
    • to(๋ฐ›๋Š” ์‚ฌ๋žŒ) - address: ๋ฐ›๋Š” ๋ฉ”์ผ
    • subject(์ œ๋ชฉ)
    • text(๋‚ด์šฉ)

์ „์†ก ๊ฒฐ๊ณผ

1 result



โ–ธ ejs

# nodejs ํ…œํ”Œ๋ฆฟ ์—”์ง„์œผ๋กœ HTML ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ ์‹œํ‚ค๋Š” ๋ชจ๋“ˆ์ด๋‹ค.
$ npm install ejs

2 example

  • HTML ํŽ˜์ด์ง€๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋ฉ”์ผ ์ „์†ก์„ ํ•œ๋‹ค.
  • ejs.renderFile

    • /public/views/example.html ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์™€์„œ ์ „์†กํ•œ๋‹ค.

์ „์†ก ๊ฒฐ๊ณผ

2 result



โ–ธ html-pdf

# HTML ํ˜•์‹ ํŒŒ์ผ์„ PDF ๋ฌธ์„œ๋กœ ๋ณ€ํ™˜์‹œํ‚ค๋Š” ๋ชจ๋“ˆ์ด๋‹ค.
$ npm install html-pdf

3 1 example

3 2 example

  • HTML ํŒŒ์ผ์„ PDF ์ €์žฅํ•˜์—ฌ ์ฒจ๋ถ€ํŒŒ์ผ๋กœ ์ „์†กํ•œ๋‹ค.
  • ejs.renderFile ๊ฒฐ๊ณผ HtmlCode pdf.create๋กœ ์ „์†ก
  • htmlCode๋ฅผ buffer๋กœ ์ƒ์„ฑํ•˜์—ฌ resolve
  • buffer๋ฅผ attachments filename(pdf ํŒŒ์ผ๋ช…), content(pdf ํŒŒ์ผ) ๊ธฐ์ž…

์ „์†ก ๊ฒฐ๊ณผ

3 1 result

3 2 result



โ–ธ error

Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8  https://support.google.com/mail/?p=BadCredentials y28sm48092065pfq.48 - gsmtp
  • service: gmail ์‚ฌ์šฉ ์‹œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

solution

  • ๊ตฌ๊ธ€ ๊ณ„์ •์—์„œ ๋ณด์•ˆ ์ˆ˜์ค€ ์•ฑ์˜ ์—‘์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•˜๋ฉด ๊ฐ€๋Šฅํ•˜๋‹ค.

โฌ† ๋ชฉ์ฐจ


๐Ÿค” ์ƒ๊ฐํ•ด ๋ณด๋ฉฐ

4 1 example

4 2 example

4 3 example

  • ์ด๋ฉ”์ผ ์ „์†ก ์„œ๋น„์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ ๋ฉ”์ผ์„ ๊ตฌ์„ฑํ•ด๋ณด์ž
  • ๋ฐ์ดํ„ฐ๋ฅผ ๋™์ ์œผ๋กœ ํ• ๋‹น ๋ฐ›์•„ html ์ „์†กํ•œ๋‹ค.

4 result

์ „์†ก ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.


โฌ† ๋ชฉ์ฐจ



์ถœ์ฒ˜

GitHub > nodemailer

์—ฌ๋Ÿฌ๋ถ„์˜ ๋Œ“๊ธ€์ด ํฐํž˜์ด ๋ฉ๋‹ˆ๋‹ค. (เน‘โ€ขฬ€ใ…‚โ€ขฬ)ูˆโœง


Written by@[AGUMON]
์•„๊ตฌ๋ชฌ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

GitHubFacebook