๊ธฐ์กด ๋ฒˆ๋“ค ์„œ๋น„์Šค์šฉ Mail API

App Engine ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์•ฑ์˜ ์ด๋ฉ”์ผ ์ˆ˜์‹  ์ฃผ์†Œ๋ฅผ ๋Œ€์‹ ํ•˜๊ฑฐ๋‚˜ Google ๊ณ„์ •์„ ๋ณด์œ ํ•œ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ์ด๋ฉ”์ผ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฑ์€ ๋‹ค์–‘ํ•œ ์ฃผ์†Œ๋กœ ์ด๋ฉ”์ผ์„ ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฑ์€ ๋ฉ”์ผ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ , App Engine์ด ์ƒ์„ฑํ•˜์—ฌ ์•ฑ์— ๊ฒŒ์‹œํ•˜๋Š” HTTP ์š”์ฒญ์˜ ํ˜•ํƒœ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”์ผ ๋ณด๋‚ด๊ธฐ

๋ฉ”์ผ ์„œ๋น„์Šค๋Š” ํ•œ ๋ช… ์ด์ƒ์˜ ์ˆ˜์‹ ์ž์—๊ฒŒ ์ด๋ฉ”์ผ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€์—๋Š” ์ œ๋ชฉ, ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋ณธ๋ฌธ, ์„ ํƒ ์‚ฌํ•ญ์ธ HTML ๋ณธ๋ฌธ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ฒจ๋ถ€ํŒŒ์ผ๊ณผ ์ œํ•œ๋œ ํ—ค๋” ์ง‘ํ•ฉ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์‹ ์ž๋กœ ๊ฐ€๋Šฅํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ์—๋Š” ์ œํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ˆ˜์‹ ์ž๋Š” ๋ฉ”์‹œ์ง€์˜ '๋ฐ›๋Š”์‚ฌ๋žŒ' ํ•„๋“œ ๋˜๋Š” '์ฐธ์กฐ' ํ•„๋“œ์— ํฌํ•จ๋˜๊ฑฐ๋‚˜ ๋ฉ”์‹œ์ง€์˜ ์ˆ˜์‹ ์ž๊ฐ€ ์•Œ ์ˆ˜ ์—†๋„๋ก '์ˆจ์€์ฐธ์กฐ' ํ•„๋“œ์— ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฉ”์ผ ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ๋Œ€๊ธฐ์—ด์— ์ถ”๊ฐ€๋˜๊ณ  ํ˜ธ์ถœ์€ ์ฆ‰์‹œ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ๋ฉ”์ผ ์„œ๋น„์Šค๋Š” ํ‘œ์ค€ ์ ˆ์ฐจ์— ๋”ฐ๋ผ ๊ฐ ์ˆ˜์‹ ์ž์˜ ๋ฉ”์ผ ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•˜๊ณ , ๋ฉ”์ผ ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ

๋ณด์•ˆ์„ ์œ„ํ•ด ๋ฉ”์‹œ์ง€์˜ ๋ฐœ์‹ ์ž ์ฃผ์†Œ๋Š” ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

  • ํ˜„์žฌ ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž์˜ Gmail ๋˜๋Š” Google Workspace ๊ณ„์ •
  • anything@[MY_PROJECT_ID].appspotmail.com ๋˜๋Š” anything@[MY_PROJECT_NUMBER].appspotmail.com ํ˜•์‹์˜ ๋ชจ๋“  ์ด๋ฉ”์ผ ์ฃผ์†Œ
  • Google Cloud ์ฝ˜์†”์˜ ์ด๋ฉ”์ผ API ์Šน์ธ๋œ ๋ฐœ์‹ ์ž์— ๋‚˜์—ด๋œ ๋ชจ๋“  ์ด๋ฉ”์ผ ์ฃผ์†Œ

์ด๋ฉ”์ผ API ์Šน์ธ๋œ ๋ฐœ์‹ ์ž ๋ชฉ๋ก์˜ ๋ชจ๋“  ์ด๋ฉ”์ผ ์ฃผ์†Œ๋Š” ์œ ํšจํ•œ Gmail ๊ณ„์ • ๋˜๋Š” Google์ด ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๋„๋ฉ”์ธ ๊ณ„์ •์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ ๊ด€๋ฆฌ์ž๊ฐ€ ์Šน์ธ๋œ ๋ฐœ์‹ ์ž ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ„์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ž์‹ ์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ
  • ์ž์‹ ์ด ์†Œ์œ ์ž ๋˜๋Š” ๊ด€๋ฆฌ์ž์ธ ๊ทธ๋ฃน
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด Google Workspace ๋„๋ฉ”์ธ์— ํ˜ธ์ŠคํŒ…๋œ ๊ฒฝ์šฐ(noreply@[DOMAIN].com). ๋‹จ, noreply@[DOMAIN].com์€ ์œ ํšจํ•œ ๊ณ„์ •(์‚ฌ์šฉ์ž ๋˜๋Š” ๊ทธ๋ฃน)์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ Google Workspace๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ๋„๋ฉ”์ธ์˜ ๋„๋ฉ”์ธ ๊ด€๋ฆฌ์ž๋Š” ์ž์‹ ์˜ ๋„๋ฉ”์ธ์— ์†ํ•œ ๋ชจ๋“  ์‚ฌ์šฉ์ž๋ฅผ ์Šน์ธ๋œ ๋ฐœ์‹ ์ž ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šน์ธ๋œ ๋ฐœ์‹ ์ž ์ˆ˜๋Š” ์ตœ๋Œ€ 50๋ช…์œผ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

Google Workspace์—์„œ ๋ฉ”์ผ ๋ณด๋‚ด๊ธฐ

Google Workspace๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ๋„๋ฉ”์ธ์—์„œ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ ๋„๋ฉ”์ธ์˜ DNS SPF ๋ ˆ์ฝ”๋“œ๋ฅผ ์„ค์ •ํ•˜์—ฌ Google์ด ์ด๋ฉ”์ผ์˜ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ถœ์ฒ˜์ž„์„ ์•Œ๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ Google Workspace ๊ณ ๊ฐ์„ผํ„ฐ์—์„œ SPF ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Google Workspace ๋„๋ฉ”์ธ์— ์„ค์ •๋œ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋„๋ฉ”์ธ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฉ”์ผ ์ฃผ์†Œ์—์„œ๋Š” ์ด๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ฉ”์ผ ๋ฏธ๋„์ฐฉ ์‹œ ๋ฐ˜์†ก ์•Œ๋ฆผ

๋ฉ”์ผ์ด ์ŠคํŒธ, ๋ฐ”์ด๋Ÿฌ์Šค, ๊ธฐํƒ€ ์•…์„ฑ ์ฝ˜ํ…์ธ ์˜ ์•Œ๋ ค์ง„ ์„œ๋ช…๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ์ „์†ก์ด ์ˆ˜๋ฝ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”์ผ ์„œ๋น„์Šค์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ์ˆ˜์‹ ์ž์˜ ๋ฉ”์ผ ์„œ๋ฒ„์—์„œ ๋ฐ˜์†ก ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•œ ๊ฒฝ์šฐ(์˜ˆ: ํ•ด๋‹น ์‹œ์Šคํ…œ์— ํ•ด๋‹น ์ฃผ์†Œ๋ฅผ ๊ฐ–๋Š” ๊ณ„์ •์ด ์—†๋Š” ๊ฒฝ์šฐ) ๋ฉ”์‹œ์ง€ ๋ฐœ์‹ ์ž์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋กœ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์ „์†ก๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์ฒด๋Š” ์ „์†ก ์„ฑ๊ณต ๋˜๋Š” ์‹คํŒจ ์—ฌ๋ถ€์— ๋Œ€ํ•ด ์–ด๋– ํ•œ ์•Œ๋ฆผ๋„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๋ฉ”์ผ ๋ฐ˜์†ก ์•Œ๋ฆผ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ ๋ฐ˜์†ก ์•Œ๋ฆผ์„ ๋ฐ›์œผ๋ ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”์ผ ๋ฐ ๊ฐœ๋ฐœ ์„œ๋ฒ„

๋„๋ฉ”์ธ ํ‚ค ํ™•์ธ ๋ฉ”์ผ(DKIM) ์ธ์ฆ

๋ฉ”์ผ์„ ๋ณด๋‚ด๋ฉด App Engine์€ ๋„๋ฉ”์ธ ํ‚ค ํ™•์ธ ๋ฉ”์ผ(DKIM) ํ‘œ์ค€์„ ์‚ฌ์šฉํ•˜์—ฌ ๋„๋ฉ”์ธ์„ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Google Workspace ๋„๋ฉ”์ธ์— ์†ํ•˜๋Š” ์ด๋ฉ”์ผ ์ฃผ์†Œ๋กœ๋ถ€ํ„ฐ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ App Engine์ด ํ•ด๋‹น ์ด๋ฉ”์ผ์„ ์•”ํ˜ธํ™” ์„œ๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์„œ๋ช…์€ emma@example.com์—์„œ ๋ณด๋‚ธ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋œ ์ด๋ฉ”์ผ์ด ์‹ค์ œ๋กœ example.com์—์„œ ์ „์†ก๋˜์—ˆ๋Š”์ง€ ์ฆ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜์‹ ์ž๋Š” ์ด ์„œ๋ช…์„ ํ™•์ธํ•˜์—ฌ ์„œ๋ช…์ด ์˜ฌ๋ฐ”๋ฅด๋‹ค๋ฉด ๋ฐœ์‹ ์ž์˜ ๋„๋ฉ”์ธ์ด ์œ„์žฅ๋˜์ง€ ์•Š์•˜์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Google Workspace ์ด๋ฉ”์ผ ์ฃผ์†Œ๋กœ๋ถ€ํ„ฐ ๋ณด๋‚ด๋Š” ๋ฉ”์‹œ์ง€์— DKIM ์ธ์ฆ์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด Google Workspace ๊ณ ๊ฐ์„ผํ„ฐ์˜ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”. Google Workspace ๋„๋ฉ”์ธ์—์„œ DKIM ์ธ์ฆ์ด ํ™œ์„ฑํ™”๋˜๊ธฐ๊นŒ์ง€ ์ตœ๋Œ€ 48์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ปค์Šคํ…€ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๋ฉฐ Google Workspace ๋„๋ฉ”์ธ๊ณผ ๋™์ผํ•œ์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, subdomain.example.com๊ณผ ๊ฐ™์€ ํ•˜์œ„ ๋„๋ฉ”์ธ์„ ๊ฐ–๋Š” Google Workspace ๋„๋ฉ”์ธ์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฐœ์‹ ์ž ์ฃผ์†Œ๊ฐ€ DKIM์ด ์‚ฌ์šฉ ์„ค์ •๋œ Google Workspace ๋„๋ฉ”์ธ์— ์†ํ•˜๋Š” ๊ฒฝ์šฐ App Engine์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐœ์‹  ์ด๋ฉ”์ผ์— ์„œ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ์˜ ๋„๋ฉ”์ธ ๋ถ€๋ถ„์ด ์†Œ๋ฌธ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜๋„๋ก ๋ฐœ์‹ ์ž ์ฃผ์†Œ์˜ ํ˜•์‹์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ• ๋‹น๋Ÿ‰ ๋ฐ ํ•œ๋„

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ํ• ๋‹น๋Ÿ‰์„ ๋ณด๋ ค๋ฉด Google Cloud ์ฝ˜์†”์˜ ํ• ๋‹น๋Ÿ‰ ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ• ๋‹น๋Ÿ‰ ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€๋กœ ์ด๋™

๊ฐ ๋ฉ”์ผ ์„œ๋น„์Šค ์š”์ฒญ์€ Mail API ํ˜ธ์ถœ ํ• ๋‹น๋Ÿ‰์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฉ”์‹œ์ง€ ์ˆ˜, ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ด€๋ฆฌ์ž ๋ฉ”์‹œ์ง€ ์ˆ˜, ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์™€ ์ฒจ๋ถ€ํŒŒ์ผ ์–‘์— ๋Œ€ํ•œ ํ• ๋‹น๋Ÿ‰๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Mail ํ• ๋‹น๋Ÿ‰์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ• ๋‹น๋Ÿ‰์€ ๋งค์ผ ์žฌ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ผ์ผ ํ• ๋‹น๋Ÿ‰์„ ์ดˆ๊ณผํ•˜๋ฉด ํ• ๋‹น๋Ÿ‰ ์ดˆ๊ณผ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ• ๋‹น๋Ÿ‰์„ ์ดˆ๊ณผํ•˜์—ฌ ๋ฉ”์ผ์„ ๋ณด๋‚ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” SendGrid ๋˜๋Š” Mailgun๊ณผ ๊ฐ™์€ ํƒ€์‚ฌ ๋ฉ”์ผ ๊ณต๊ธ‰์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋ฉ”์ผ ์„œ๋น„์Šค์—๋Š” ํ• ๋‹น๋Ÿ‰ ์ด์™ธ์—๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•œ๋„๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํ•œ๋„ ์šฉ๋Ÿ‰
๋ฐœ์‹  ๋ฉ”์ผ ๋ฉ”์‹œ์ง€ ์ตœ๋Œ€ ํฌ๊ธฐ(์ฒจ๋ถ€ํŒŒ์ผ ํฌํ•จ) 31.5MB
์ˆ˜์‹  ๋ฉ”์ผ ๋ฉ”์‹œ์ง€ ์ตœ๋Œ€ ํฌ๊ธฐ(์ฒจ๋ถ€ํŒŒ์ผ ํฌํ•จ) 31.5MB
์ˆ˜์‹ ์ž๊ฐ€ ๊ด€๋ฆฌ์ž์ธ ๊ฒฝ์šฐ์˜ ์ตœ๋Œ€ ๋ฉ”์‹œ์ง€ ํฌ๊ธฐ 16KB
์Šน์ธ๋œ ์ตœ๋Œ€ ๋ฐœ์‹ ์ž ์ˆ˜ 50

๋‹ค์Œ ๋‹จ๊ณ„