๐ Launch Offer: up to 97.2% OFF credits.See Plans EmailVerify + SendGrid ํตํฉ - ์ ์ก ์ ์ด๋ฉ์ผ ๊ฒ์ฆAPI Integration Available
EmailVerify + SendGrid ํตํฉ - ์ ์ก ์ ์ด๋ฉ์ผ ๊ฒ์ฆ
EmailVerify๋ฅผ SendGrid์ ํตํฉํ์ฌ ์ ์ก ์ ์ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ๊ฒ์ฆํฉ๋๋ค. ๋ฐ์ ์ ํํ์ ๋ณดํธํ๊ณ , ๋ฐ์ก๋ฅ ์ ์ค์ด๋ฉฐ, 99.9% ์ ํ๋๋ก ์ ๋ฌ๋ฅ ์ ๊ฐ์ ํฉ๋๋ค.
SendGrid๋ ๋ฌด์์
๋๊น?
SendGrid๋ Uber, Spotify, Airbnb๋ฅผ ํฌํจํ ์ ์ธ๊ณ 80,000๊ฐ ์ด์์ ๊ธฐ์
์ด ์ ๋ขฐํ๋ ์ ๋์ ์ธ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์ด๋ฉ์ผ ์ ์ก ํ๋ซํผ์
๋๋ค. 2009๋
์ ์ค๋ฆฝ๋์์ผ๋ฉฐ ํ์ฌ Twilio์ ์ผ๋ถ์ธ SendGrid๋ ์
๊ณ ์ต๊ณ ์ ์ธํ๋ผ๋ฅผ ํตํ ํธ๋์ญ์
๋ฐ ๋ง์ผํ
์ด๋ฉ์ผ ์ ์ก์ ์ ๋ฌธ์ผ๋ก ํฉ๋๋ค.
ํต์ฌ ๊ธฐ๋ฅ:
- ํธ๋์ญ์
์ด๋ฉ์ผ: ๋น๋ฐ๋ฒํธ ์ฌ์ค์ , ์ฃผ๋ฌธ ํ์ธ, ์๋ฆผ ๋ฐ ๊ณ์ ์
๋ฐ์ดํธ๋ฅผ ์์ ์ ์ผ๋ก ์ ์กํฉ๋๋ค
- ๋ง์ผํ
์บ ํ์ธ: ๋๋๊ทธ ์ค ๋๋กญ ํธ์ง๊ธฐ์ A/B ํ
์คํธ๋ฅผ ํตํด ํ๋ก๋ชจ์
์ด๋ฉ์ผ์ ์์ฑํ๊ณ ์ ์กํฉ๋๋ค
- ์ด๋ฉ์ผ API: ์ํํ ํตํฉ์ ์ํ ์
๊ณ ํ์ค REST API ๋ฐ SMTP ๋ฆด๋ ์ด
- ์ ๋ฌ๋ฅ ์ต์ ํ: ๊ณ ๊ธ ๋ถ์, ์ ์ฉ IP ์ฃผ์ ๋ฐ ํํ ๋ชจ๋ํฐ๋ง
- ํ
ํ๋ฆฟ ๊ด๋ฆฌ: ๊ฐ์ธํ ๋ฐ ์กฐ๊ฑด๋ถ ๋ก์ง์ ๊ฐ์ถ ๋์ ์ด๋ฉ์ผ ํ
ํ๋ฆฟ
- ์นํ
ํตํฉ: ๋ฐ์ก, ์ด๋, ํด๋ฆญ ๋ฐ ์์ ๊ฑฐ๋ถ์ ๋ํ ์ค์๊ฐ ์ด๋ฒคํธ ์๋ฆผ
๊ฐ๋ฐ์์ ๊ธฐ์
์ด SendGrid๋ฅผ ์ ํํ๋ ์ด์ :
- 99.99% ๊ฐ๋ ์๊ฐ SLA - ๋ฏธ์
ํฌ๋ฆฌํฐ์ปฌํ ์ด๋ฉ์ผ ์์ ์ฑ
- ๊ธ๋ก๋ฒ ์ธํ๋ผ - ์์ ์์๊ฒ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฐ์ดํฐ ์ผํฐ์์ ์ด๋ฉ์ผ ์ ์ก
- ๊ฐ๋ฐ์ ์นํ์ API - 7๊ฐ ์ด์์ ์ธ์ด๋ก ์ ๊ณต๋๋ SDK๋ฅผ ๊ฐ์ถ ์ ๋ฌธ์ํ๋ REST API
- ์ ๋ฌธ ์ ๋ฌ๋ฅ ํ - ๋ฐ์ํธ์งํจ ๋๋ฌ๋ฅ ์ ์ต๋ํํ๋ ์ ๋ด ์ ๋ฌธ๊ฐ
- ํฌ๊ด์ ์ธ ๋ถ์ - ์ ๋ฌ๋ฅ ์งํ, ์ฐธ์ฌ๋ ๋ฐ ๋ฐ์ ์ ํํ์ ์ค์๊ฐ์ผ๋ก ์ถ์
- ์ ์ฐํ ๊ฐ๊ฒฉ - ๋ฌด๋ฃ ํฐ์ด ์ ๊ณต, ์ฑ์ฅ์ ๋ฐ๋ฅธ ๊ฐ๊ฒฉ ๋ชจ๋ธ
์ธ๊ธฐ ์๋ ์ฌ์ฉ ์ฌ๋ก:
- SaaS ์ ํ๋ฆฌ์ผ์ด์
: ์ฌ์ฉ์ ์จ๋ณด๋ฉ ์ด๋ฉ์ผ, ๊ธฐ๋ฅ ๋ฐํ, ๊ตฌ๋
๊ฐฑ์
- ์ ์์๊ฑฐ๋: ์ฃผ๋ฌธ ํ์ธ, ๋ฐฐ์ก ์๋ฆผ, ์ฅ๋ฐ๊ตฌ๋ ๋ณต๊ตฌ
- ๊ธ์ต ์๋น์ค: ๊ฑฐ๋ ์๋ฆผ, ๊ณ์ ๋ช
์ธ์, ๋ณด์ ์๋ฆผ
- ์๋ฃ: ์์ฝ ์๋ฆผ, ๊ฒ์ฌ ๊ฒฐ๊ณผ, ํ์ ์ปค๋ฎค๋์ผ์ด์
- ๊ต์ก: ๊ณผ์ ๋ฑ๋ก ํ์ธ, ๊ณผ์ ์๋ฆผ, ์ฑ์ ๋ณด๊ณ ์
SendGrid๋ ๋งค์ 1,000์ต ๊ฐ ์ด์์ ์ด๋ฉ์ผ์ ํ๊ท 95% ์ด์์ ์ ๋ฌ๋ฅ ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ์ธ์์ ์ธ ์ฑ๋ฅ์ ์ ์ ์ผ๋ก ํ ๊ฐ์ง ์ค์ํ ์์์ ๋ฌ๋ ค ์์ต๋๋ค: ์ด๋ฉ์ผ ๋ชฉ๋ก ํ์ง. ์ ํจํ์ง ์์ ์ด๋ฉ์ผ ์ฃผ์๋ ๋ฐ์ ์ ํํ์ ํ๊ดดํ๊ณ ์ ๋ฌ๋ฅ ์ ๋ฌด๋๋จ๋ฆด ์ ์์ผ๋ฉฐ, ์ด๊ฒ์ด ๋ฐ๋ก ์ฐ๋ฆฌ์ ์ด๋ฉ์ผ ๊ฒ์ฆ ์๋น์ค๊ฐ ํ์์ ์ธ ์ด์ ์
๋๋ค.
SendGrid์ EmailVerify๋ฅผ ํตํฉํ๋ ์ด์ ๋ ๋ฌด์์
๋๊น?
SendGrid๋ ์์ ์ ์ธ ์ด๋ฉ์ผ ์ ์ก์ ์ํด ์ค๊ณ๋์์ง๋ง, ์ ์กํ๊ธฐ ์ ์ ์ด๋ฉ์ผ ์ฃผ์๊ฐ ์ ํจํ์ง ํ์ธํ์ง ์์ต๋๋ค. ๋ชฉ๋ก์ ์ ํจํ์ง ์์ ์ฃผ์๊ฐ ํฌํจ๋์ด ์์ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์น๋ช
์ ์ธ ๊ฒฐ๊ณผ์ ์ง๋ฉดํ๊ฒ ๋ฉ๋๋ค:
- โ ๋ฐ์ ์ ํํ ์์: ๋์ ๋ฐ์ก๋ฅ ์ SendGrid ๋ฐ์ ์ ์ ์๋ฅผ ํ๊ดดํ์ฌ ํฅํ ๋ชจ๋ ์ด๋ฉ์ผ(์ ํจํ ์์ ์์๊ฒ์กฐ์ฐจ)์ด ์คํธ์ผ๋ก ๋ถ๋ฅ๋๊ฒ ํฉ๋๋ค
- โ ์ ๋ฌ๋ฅ ๋ถ๊ดด: Gmail ๋ฐ Outlook๊ณผ ๊ฐ์ ISP๋ ๋ฐ์ก๋ฅ ์ด 5%๋ฅผ ์ด๊ณผํ๋ฉด ๊ทํ์ ๋๋ฉ์ธ์ ์ ๋ขฐํ ์ ์๋ค๊ณ ํ์ํฉ๋๋ค
- โ ์์ฐ ๋ญ๋น: ์ ์ก๋์ง ์์ ์ด๋ฉ์ผ์ ๋ํด SendGrid ๋น์ฉ์ ์ง๋ถํ๊ณ ์์ต๋๋ค
- โ ๋ธ๋๋ฆฌ์คํธ ์ํ: ๋ฐ๋ณต์ ์ธ ๋ฐ์ก์ผ๋ก ์ธํด IP ์ฃผ์๋ ๋๋ฉ์ธ์ด ์ฃผ์ ISP์ ์ํด ๋ธ๋๋ฆฌ์คํธ์ ๋ฑ์ฌ๋ ์ ์์ต๋๋ค
- โ ๋ถ์ ํํ ๋ถ์: ์ ํจํ์ง ์์ ์ด๋ฉ์ผ์ ์ฐธ์ฌ๋ ์งํ๋ฅผ ์๊ณกํ๊ณ A/B ํ
์คํธ๋ฅผ ์ ๋ขฐํ ์ ์๊ฒ ๋ง๋ญ๋๋ค
- โ ๊ณ ๊ฐ ๊ฒฝํ ๋ฌธ์ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ํจํ์ง ์์ ์ด๋ฉ์ผ์ ์ค์ ๊ณ ๊ฐ์ด ์ค์ํ ํธ๋์ญ์
๋ฉ์์ง๋ฅผ ๋ฐ์ง ๋ชปํจ์ ์๋ฏธํฉ๋๋ค
SendGrid ํํ ๋ฌธ์
SendGrid๋ ๊ฐ ๋ฐ์ ์์๊ฒ ๋ค์์ ๊ธฐ๋ฐ์ผ๋ก ํํ ์ ์(0-100)๋ฅผ ํ ๋นํฉ๋๋ค:
- ๋ฐ์ก๋ฅ (๋ชฉํ: <5%, ์ด์์ ์ผ๋ก <1%)
- ์คํธ ์ ๊ณ ์จ (๋ชฉํ: <0.1%)
- ์ฐธ์ฌ์จ (์ด๋, ํด๋ฆญ)
- ๋ชฉ๋ก ํ์ง ์ ํธ
10-15%์ ์ ํจํ์ง ์์ ์ด๋ฉ์ผ์ด ํฌํจ๋ ๊ฒ์ฆ๋์ง ์์ ๋ชฉ๋ก์ผ๋ก ๋จ ํ ๋ฒ์ ์บ ํ์ธ์ ์งํํ๋ฉด ๋ฐ์ ์ ํํ์ด ์๊ตฌ์ ์ผ๋ก ์์๋ ์ ์์ผ๋ฉฐ, ๋ณต๊ตฌํ๋ ๋ฐ ๋ช ์ฃผ ๋๋ ๋ช ๋ฌ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค - ๋ณต๊ตฌ๊ฐ ๊ฐ๋ฅํ๋ค๋ฉด ๋ง์
๋๋ค.
๊ฒ์ฆ์ ์์ํ ์ค๋น๊ฐ ๋์
จ๋์?
์ ํฌ ์ด๋ฉ์ผ ๊ฒ์ฆ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ๊ฒ์ฆํ๊ณ ์ด๋ฉ์ผ ๋ชฉ๋ก์ ์ ๋ฆฌํ๋ ์์ฒ ๊ฐ ๋น์ฆ๋์ค์ ํจ๊ปํ์ธ์. ๋ฌด๋ฃ ์ฒดํ์ผ๋ก ์ด๋ฉ์ผ ๊ฒ์ฆ์ ์์ํ์ธ์ - ์ ์ฉ์นด๋ ๋ถํ์.
์ ์ฉ์นด๋ ๋ถํ์๋งค์ผ 100+ ๋ฌด๋ฃ ํฌ๋ ๋ง30์ด ์์ ์ค์ ํด๊ฒฐ์ฑ
EmailVerify + SendGrid ํตํฉ์ ํตํด ๋ค์์ ์ํํ ์ ์์ต๋๋ค:
- โ
์ ์ก ์ ๊ฒ์ฆ: SendGrid ์ฐ๋ฝ์ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์
๋ ฅํ๊ธฐ ์ ์ ์ด๋ฉ์ผ์ ๊ฒ์ฆํฉ๋๋ค
- โ
๋ฐ์ ์ ํํ ๋ณดํธ: 99.9% ๊ฒ์ฆ ์ ํ๋๋ก ๋ฐ์ก๋ฅ ์ 1% ๋ฏธ๋ง์ผ๋ก ์ ์งํฉ๋๋ค
- โ
์ ๋ฌ๋ฅ ๊ทน๋ํ: ํธ๋์ญ์
๋ฐ ๋ง์ผํ
์ด๋ฉ์ผ์ด ๋ฐ์ํธ์งํจ์ ๋๋ฌํ๋๋ก ๋ณด์ฅํฉ๋๋ค
- โ
๊ธฐ์กด ๋ชฉ๋ก ์ ๋ฆฌ: ์บ ํ์ธ์ ์์ํ๊ธฐ ์ ์ ์ ์ฒด SendGrid ์ฐ๋ฝ์ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋๋ ๊ฒ์ฆํฉ๋๋ค
- โ
๊ฒ์ฆ ์๋ํ: ๊ฐ์
ํ๋ฆ ๋ฐ ์ฌ์ฉ์ ์จ๋ณด๋ฉ ํ๋ก์ธ์ค์ ๊ฒ์ฆ์ ํตํฉํฉ๋๋ค
- โ
๋น์ฉ ์ ๊ฐ: ์ ํจํ๊ณ ์ ๋ฌ ๊ฐ๋ฅํ ์ด๋ฉ์ผ ์ฃผ์๋ก๋ง ์ ์กํฉ๋๋ค
์๋ ๋ฐฉ์
ํตํฉ์ ๋ค์ ์ํฌํ๋ก์ฐ๋ฅผ ๋ฐ๋ฆ
๋๋ค:
- ์ฌ์ฉ์ ์์
: ์ฌ์ฉ์๊ฐ ์๋น์ค์ ๊ฐ์
ํ๊ฑฐ๋ ์ด๋ฉ์ผ์ ์
๋ ฅํฉ๋๋ค
- ์ฌ์ ๊ฒ์ฆ: EmailVerify๊ฐ SendGrid์ ์ถ๊ฐํ๊ธฐ ์ ์ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ๊ฒ์ฆํฉ๋๋ค
- ๋ค์ธต ๊ฒ์ฆ: ์ฐ๋ฆฌ API๋ ํฌ๊ด์ ์ธ ๊ฒ์ฌ๋ฅผ ์ํํฉ๋๋ค:
- ๊ตฌ๋ฌธ ๊ฒ์ฆ (RFC 5322 ์ค์)
- DNS ์กฐํ (๋๋ฉ์ธ์ด ์กด์ฌํ๊ณ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋จ)
- MX ๋ ์ฝ๋ ๊ฒ์ฆ (๋ฉ์ผ ์๋ฒ๊ฐ ์กด์ฌํ๊ณ ๋ฉ์ผ์ ์๋ฝํจ)
- SMTP ํธ๋์
ฐ์ดํฌ (๋ฉ์ผํจ์ด ์กด์ฌํ๊ณ ํ์ฑํ๋์ด ์์)
- ๊ณ ๊ธ ์ํ ๊ฐ์ง (์์, ์ ์ฒด ์์ , ์ญํ ๊ธฐ๋ฐ ์ด๋ฉ์ผ)
- ๊ฒฐ๊ณผ ์ฒ๋ฆฌ:
- โ
์ ํจํ ์ด๋ฉ์ผ: ์ ์ก์ ์ํด SendGrid๋ก ๋ณด๋
๋๋ค
- โ ์ ํจํ์ง ์์ ์ด๋ฉ์ผ: ์ ์กํ๊ธฐ ์ ์ ๊ฑฐ๋ถํ๊ฑฐ๋ ํ๋๊ทธ๋ฅผ ์ง์ ํฉ๋๋ค
- โ ๏ธ ์ํํ ์ด๋ฉ์ผ: ์๋ ๊ฒํ ๋๋ 2์ฐจ ๊ฒ์ฆ์ ์ํด ํ๋๊ทธ๋ฅผ ์ง์ ํฉ๋๋ค
- SendGrid ์ ์ก: ๊ฒ์ฆ๋ ๊ณ ํ์ง ์ด๋ฉ์ผ๋ง SendGrid๋ฅผ ํตํด ์ ์ก๋ฉ๋๋ค
ํตํฉ ๋ฐฉ๋ฒ
๋ฐฉ๋ฒ 1: ์ ์ก ์ API ๊ฒ์ฆ (๊ถ์ฅ)
SendGrid์ ์ถ๊ฐํ๊ธฐ ์ ์ ์ด๋ฉ์ผ์ ๊ฒ์ฆํฉ๋๋ค. ์ด๊ฒ์ ๋ฐ์ ์ ํํ์ ๋ณดํธํ๋ ๊ฐ์ฅ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์
๋๋ค.
์ ์ ์กฐ๊ฑด
- EmailVerify API ํค (์ฌ๊ธฐ์ ๋ฐ์ผ์ธ์)
- SendGrid API ํค
- ๊ธฐ๋ณธ ํ๋ก๊ทธ๋๋ฐ ์ง์ (JavaScript, Python, PHP ๋๋ Ruby)
์ํคํ
์ฒ
JavaScript/Node.js ์์
Python ์์
๋ฐฉ๋ฒ 2: ์นํ
์ด๋ฒคํธ ๊ฒ์ฆ
SendGrid ์นํ
์ด๋ฒคํธ(๋ฐ์ก, ์ฐจ๋จ, ์คํธ ์ ๊ณ )๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฉ์ผ์ ๊ฒ์ฆํฉ๋๋ค.
SendGrid ์นํ
์ค์
SendGrid์์ ์นํ
๊ตฌ์ฑ:
- ์ค์ โ ๋ฉ์ผ ์ค์ โ ์ด๋ฒคํธ ์นํ
์ผ๋ก ์ด๋
- ์นํ
URL ์
๋ ฅ:
https://yourdomain.com/webhook/sendgrid - ์ด๋ฒคํธ ์ ํ: ๋ฐ์ก๋จ, ์ญ์ ๋จ, ์คํธ ์ ๊ณ , ์ฐจ๋จ๋จ
- ์ค์ ์ ์ฅ
์นํ
ํธ๋ค๋ฌ ์์ (Node.js):
๋ฐฉ๋ฒ 3: ๋๋ ๋ชฉ๋ก ๊ฒ์ฆ
์บ ํ์ธ์ ์์ํ๊ธฐ ์ ์ ์ ์ฒด SendGrid ์ฐ๋ฝ์ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๋ฆฌํฉ๋๋ค.
๋๋ ๊ฒ์ฆ ์ํฌํ๋ก์ฐ
SendGrid ์ฐ๋ฝ์ฒ ๋ด๋ณด๋ด๊ธฐ:
EmailVerify์ ์
๋ก๋:
- ๋๋ ์ด๋ฉ์ผ ๊ฒ์ฆ์ผ๋ก ์ด๋
- CSV ํ์ผ ์
๋ก๋ (์ต๋ 1๋ฐฑ๋ง ๊ฐ์ ์ด๋ฉ์ผ ์ง์)
- ๊ฒ์ฆ ๋๊ธฐ (์๊ฐ๋น 100,000๊ฐ ์ด์์ ์ด๋ฉ์ผ)
๊ฒฐ๊ณผ ๋ค์ด๋ก๋:
- ๊ฒฐ๊ณผ์ ํจ๊ป ๊ฒ์ฆ๋ CSV ๋ค์ด๋ก๋
- ๊ฒฐ๊ณผ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค: status, risk_level, is_disposable, is_catch_all, is_role
SendGrid๋ก ์ฌ๊ฐ์ ธ์ค๊ธฐ:
์ฃผ์ ๊ธฐ๋ฅ
๐ ์ค์๊ฐ ๊ฐ์
๊ฒ์ฆ
์ด๋ฉ์ผ ๊ฒ์ฆ API๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์๋น์ค์ ๊ฐ์
ํ ๋ ์ฆ์ ์ด๋ฉ์ผ์ ๊ฒ์ฆํฉ๋๋ค:
- ์ ํจํ์ง ์์ ์ด๋ฉ์ผ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์
๋ ฅ๋๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค
- ์ฌ์ฉ์์๊ฒ ์ค์๊ฐ์ผ๋ก ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค
- ์ฒ์๋ถํฐ SendGrid ๋ฐ์ ์ ํํ์ ๋ณดํธํฉ๋๋ค
- ๋ฐ์ก๋ฅ ์ ๊ฑฐ์ 0์ ๊ฐ๊น๊ฒ ์ค์
๋๋ค (<0.5%)
์ฌ์ฉ ์ฌ๋ก: ์ฌ์ฉ์ ๋ฑ๋ก, ๋ด์ค๋ ํฐ ๊ฐ์
, ๊ฒฐ์ ์์
๐งน ์บ ํ์ธ ์ ๋ชฉ๋ก ์ ๋ฆฌ
- ์ต๋ 1๋ฐฑ๋ง ๊ฐ์ ์ด๋ฉ์ผ์ด ํฌํจ๋ CSV ํ์ผ ์
๋ก๋
- ์๊ฐ๋น 100,000๊ฐ ์ด์์ ์ด๋ฉ์ผ ์ฒ๋ฆฌ
- ์์ธํ ๊ฒ์ฆ ๊ฒฐ๊ณผ์ ํจ๊ป ์ ๋ฆฌ๋ ๋ชฉ๋ก ๋ค์ด๋ก๋
- ์ ํจํ์ง ์๊ฑฐ๋ ์ํํ๊ฑฐ๋ ์์ ์ด๋ฉ์ผ์ ์ ๊ฑฐํฉ๋๋ค
์ฌ์ฉ ์ฌ๋ก: ์๊ฐ ๋ด์ค๋ ํฐ ์บ ํ์ธ, ์ ํ ์ถ์, ์์ฆ ํ๋ก๋ชจ์
โก ํธ๋์ญ์
์ด๋ฉ์ผ ๋ณดํธ
SendGrid๋ฅผ ํตํด ์ค์ํ ํธ๋์ญ์
๋ฉ์์ง๋ฅผ ์ ์กํ๊ธฐ ์ ์ ์ด๋ฉ์ผ์ ๊ฒ์ฆํฉ๋๋ค:
- ๋น๋ฐ๋ฒํธ ์ฌ์ค์ ์ด๋ฉ์ผ
- ์ฃผ๋ฌธ ํ์ธ
- ๊ณ์ ์๋ฆผ
- ๋ฐฐ์ก ์
๋ฐ์ดํธ
- ๊ฒฐ์ ์์์ฆ
์ฌ์ฉ ์ฌ๋ก: ์ ์์๊ฑฐ๋, SaaS ์ ํ๋ฆฌ์ผ์ด์
, ๊ธ์ต ์๋น์ค
๐ฏ ๊ณ ๊ธ ์ํ ๊ฐ์ง
์ ๋ฌธํ๋ ๊ฐ์ง ๊ธฐ๋ฅ์ผ๋ก ๊ธฐ๋ณธ ๊ฒ์ฆ์ ๋์ด์ญ๋๋ค:
- ์ ์ฒด ์์ ๊ฐ์ง: ๋ชจ๋ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์๋ฝํ๋ ์ ์ฒด ์์ ๋๋ฉ์ธ์ ์๋ณํฉ๋๋ค
- ์์ ์ด๋ฉ์ผ ๊ฐ์ง: ์์ ์ด๋ฉ์ผ(mailinator.com, guerrillamail.com, 10minutemail.com)์ ์ฐจ๋จํฉ๋๋ค
- ์ญํ ๊ณ์ ๊ฐ์ง: ์ผ๋ฐ ์ด๋ฉ์ผ(info@, support@, admin@, noreply@)์ ํ๋๊ทธ ์ง์ ํฉ๋๋ค
- ๊ตฌ๋ฌธ ๊ฒ์ฆ: RFC 5322 ์ค์๋ฅผ ๋ณด์ฅํฉ๋๋ค
- MX/DNS ๊ฒ์ฆ: ๋ฉ์ผ ์๋ฒ ๊ตฌ์ฑ์ ํ์ธํฉ๋๋ค
์ฌ์ฉ ์ฌ๋ก: ์ฌ๊ธฐ ๋ฐฉ์ง, ๋ฆฌ๋ ํ์ง ํ๊ฐ, ์ฌ์ฉ์ ๊ฒ์ฆ
๐ ์นํ
์ด๋ฒคํธ ์๋ต
SendGrid์์ ๋ฐ์ก๋๊ฑฐ๋ ์ฐจ๋จ๋ ์ด๋ฉ์ผ์ ์๋์ผ๋ก ์ฌ๊ฒ์ฆํฉ๋๋ค:
- ์ค์๊ฐ ์นํ
ํตํฉ
- ์๋ ์ต์ ๋ชฉ๋ก ์
๋ฐ์ดํธ
- ๋ฐ์ก ๋ถ๋ฅ ๋ฐ ์ฒ๋ฆฌ
- ์คํธ ์ ๊ณ ์ฒ๋ฆฌ
์ฌ์ฉ ์ฌ๋ก: ์ง์์ ์ธ ๋ชฉ๋ก ์์, ํํ ๋ณดํธ
๊ฐ๊ฒฉ
EmailVerify๋ SendGrid ์ฌ์ฉ์ ๋ง๊ฒ ํ์ฅ๋๋ ์ ์ฐํ ๊ฐ๊ฒฉ์ ์ ๊ณตํฉ๋๋ค:
| ํ๋ | ํฌ๋ ๋ง | ๊ฐ๊ฒฉ | ์ด๋ฉ์ผ๋น ๊ฐ๊ฒฉ | ์ต์ ์ ์ ํ |
|---|
| ๋ฌด๋ฃ ์ฒดํ | 100 | $0 | ๋ฌด๋ฃ | ํตํฉ ํ
์คํธ |
| ์คํํฐ | 1,000 | $5 | $0.005 | ์๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์
|
| ์ฑ์ฅ | 10,000 | $40 | $0.004 | ์ฑ์ฅํ๋ SaaS ์ ํ |
| ํ๋กํ์
๋ | 50,000 | $175 | $0.0035 | ๋ง์ผํ
ํ |
| ๋น์ฆ๋์ค | 100,000 | $300 | $0.003 | ๋๋ ๋ฐ์ ์ |
| ์ํฐํ๋ผ์ด์ฆ | ๋ง์ถคํ | ๋ง์ถคํ | $0.002๋ถํฐ | ๊ธฐ์
์ฉ ์ ํ๋ฆฌ์ผ์ด์
|
SendGrid ์ฌ์ฉ์๋ฅผ ์ํ ํน๋ณ ์ ์
EmailVerify๋ฅผ ์์ํ๊ณ ์ ์ฝํ์ธ์:
- โ
100๊ฐ์ ๋ฌด๋ฃ ๊ฒ์ฆ ํฌ๋ ๋ง (์ ์ฉ์นด๋ ๋ถํ์)
- โ
์ฒซ ๋ฌ 20% ํ ์ธ (๋ชจ๋ ์๊ฐ ํ๋)
- โ
๋ฌด๋ฃ ํตํฉ ์ง์ (์ค์ ์ ๋์๋๋ฆฝ๋๋ค)
์ฒญ๊ตฌํ๋ ค๋ฉด: ๊ฐ์
ํ๊ณ SendGrid ๊ณ์ ์ด๋ฉ์ผ๋ก support@emailverify.ai์ ์ด๋ฉ์ผ์ ๋ณด๋ด์ธ์. ๊ฐ๊ฒฉ ํ๋์ ๋ํด ์์ธํ ์์๋ณด์ธ์.
์ฌ์ฉ ์ฌ๋ก
์ฌ์ฉ ์ฌ๋ก 1: SaaS ์จ๋ณด๋ฉ ํ๋ฆ ๋ณดํธ
๋ฌธ์ : SaaS ํ์ฌ๊ฐ SendGrid๋ฅผ ํตํด ๋งค์ 50,000๊ฐ์ ํ์ ์ด๋ฉ์ผ์ ์ ์กํ์ง๋ง, ์ ํจํ์ง ์์ ๊ฐ์
์ผ๋ก ์ธํด 12%๊ฐ ๋ฐ์ก๋์ด ๋ฐ์ ์ ํํ์ด ์์๋ฉ๋๋ค.
ํด๊ฒฐ์ฑ
: ๊ณ์ ์ ์์ฑํ๊ธฐ ์ ์ ๊ฐ์
์์์ EmailVerify ์ค์๊ฐ ๊ฒ์ฆ์ ํตํฉํฉ๋๋ค.
- โ
๋ฐ์ก๋ฅ ์ด 12%์์ 0.3%๋ก ๊ฐ์
- โ
SendGrid ๋ฐ์ ์ ํํ์ด 72์์ 98๋ก ๊ฐ์
- โ
์ด๋ฉ์ผ ์ ๋ฌ๋ฅ ์ด 99% ์ด์์ผ๋ก ์ฆ๊ฐ
- โ
๊ณ ๊ฐ ์ง์ ํฐ์ผ 40% ๊ฐ์ ("์ด๋ฉ์ผ์ ๋ฐ์ง ๋ชปํ์ต๋๋ค" ๋ถ๋ง ๊ฐ์)
- โ
SendGrid ๋น์ฉ ์ $800 ์ ์ฝ
์ฌ์ฉ ์ฌ๋ก 2: ์ ์์๊ฑฐ๋ ์ฃผ๋ฌธ ํ์ธ ๋ณดํธ
๋ฌธ์ : ์ ์์๊ฑฐ๋ ๋งค์ฅ์ด ๋งค์ 20,000๊ฐ์ ์ฃผ๋ฌธ ํ์ธ ์ด๋ฉ์ผ์ ์ ์กํ์ง๋ง, 8%๊ฐ ์ ํจํ์ง ์์ ๋ฐฐ์ก ๋๋ฝ ๋ฐ ๊ณ ๊ฐ ๋ถ๋ง์ ์ผ๊ธฐํฉ๋๋ค.
ํด๊ฒฐ์ฑ
: ์ฃผ๋ฌธ์ ์ฒ๋ฆฌํ๊ธฐ ์ ์ ๊ฒฐ์ ์ ๊ณ ๊ฐ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ๊ฒ์ฆํฉ๋๋ค.
- โ
์ ํจํ์ง ์์ ๊ฒฐ์ ์ด๋ฉ์ผ์ด 8%์์ 0.5%๋ก ๊ฐ์
- โ
์ฃผ๋ฌธ ํ์ธ ์ ๋ฌ๋ฅ : 99.5%
- โ
๊ณ ๊ฐ ๋ง์กฑ๋ ์ ์ 15% ์ฆ๊ฐ
- โ
"๋ด ์ฃผ๋ฌธ์ ์ด๋์ ์์ต๋๊น" ์ง์ ํฐ์ผ 60% ๊ฐ์
- โ
SendGrid ๋ฐ์ ์ ํํ ๋ณดํธ
์ฌ์ฉ ์ฌ๋ก 3: ๋ง์ผํ
์บ ํ์ธ ๋ชฉ๋ก ์์
๋ฌธ์ : B2B ํ์ฌ๊ฐ 100,000๊ฐ์ ์ด๋ฉ์ผ๋ก ๊ตฌ์ฑ๋ SendGrid ์ฐ๋ฝ์ฒ ๋ชฉ๋ก์ ๊ฐ์ง๊ณ ์์ง๋ง, 2๋
๋์ ์ ๋ฆฌํ์ง ์์์ต๋๋ค. ์ฃผ์ ์ ํ ์ถ์ ์บ ํ์ธ์ ๊ณํ ์ค์
๋๋ค.
ํด๊ฒฐ์ฑ
: ์บ ํ์ธ์ ์์ํ๊ธฐ ์ ์ ์ ์ฒด ์ฐ๋ฝ์ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋๋ ๊ฒ์ฆํฉ๋๋ค.
- โ
18,000๊ฐ์ ์ ํจํ์ง ์์ ์ด๋ฉ์ผ ์๋ณ ๋ฐ ์ ๊ฑฐ (18%)
- โ
5,000๊ฐ์ ์์/์ผ์ ์ด๋ฉ์ผ ์๋ณ (5%)
- โ
์บ ํ์ธ ๋ฐ์ก๋ฅ : 0.6% (์
๊ณ ํ๊ท 5-10% ๋๋น)
- โ
์ด๋๋ฅ 35% ์ฆ๊ฐ (๋ ๊นจ๋ํ ๋ชฉ๋ก = ๋ ๋์ ์ฐธ์ฌ ์ ํธ)
- โ
SendGrid ๊ณ์ ์ ์ง ๊ฐ๋ฅ์ฑ ํํผ
- โ
๋ญ๋น๋ ์บ ํ์ธ ์ ์ก์ผ๋ก $2,500 ์ ์ฝ
์ฌ์ฉ ์ฌ๋ก 4: ์์ ์ด๋ฉ์ผ ๋จ์ฉ ๋ฐฉ์ง
๋ฌธ์ : ๋ฌด๋ฃ ์ฒดํ SaaS ์ ํ์ด ๋ฌด๋ฃ ํฐ์ด๋ฅผ ๋จ์ฉํ๋ ์์ ์ด๋ฉ์ผ(10minutemail.com, guerrillamail.com)์ ๊ฐ์ง ๋ง์ ์ฌ์ฉ์๋ฅผ ์ ์นํฉ๋๋ค.
ํด๊ฒฐ์ฑ
: ๊ฐ์
์ ์ค์๊ฐ ์์ ์ด๋ฉ์ผ ๊ฐ์ง๋ฅผ ๊ตฌํํฉ๋๋ค.
- โ
๋งค์ 4,500๊ฐ์ ์์ ์ด๋ฉ์ผ ๊ฐ์
์ฐจ๋จ
- โ
๋ฌด๋ฃ ์ฒดํ ๋จ์ฉ 78% ๊ฐ์
- โ
์ฒดํ์์ ์ ๋ฃ๋ก์ ์ ํ์จ 22% ์ฆ๊ฐ
- โ
SendGrid ์ฐธ์ฌ ์งํ ๊ฐ์
- โ
๊ฐ์ง ๊ณ์ ์ผ๋ก ์ธํ ์๋ฒ ๋น์ฉ ์ ๊ฐ
SendGrid ํตํฉ์ ๋ํ FAQ
SendGrid์์ ํตํฉ์ ์ด๋ป๊ฒ ์๋ํฉ๋๊น?
EmailVerify + SendGrid ํตํฉ์ API๋ฅผ ํตํด ์๋ํฉ๋๋ค. SendGrid์ ์ถ๊ฐํ๊ฑฐ๋ SendGrid๋ฅผ ํตํด ์ ์กํ๊ธฐ ์ ์ ์ด๋ฉ์ผ์ ๊ฒ์ฆํฉ๋๋ค. ์ฐ๋ฆฌ API๋ ์ด๋ฉ์ผ์ ์ค์๊ฐ์ผ๋ก(1์ด ๋ฏธ๋ง) ๊ฒ์ฆํ๊ณ ์์ธํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค. ์ ํจํ๊ณ ์ํ์ด ๋ฎ์ ์ด๋ฉ์ผ๋ง SendGrid๋ฅผ ํตํด ์ ์ก๋์ด ๋ฐ์ ์ ํํ์ ๋ณดํธํฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์
์๋๊ฐ ๋๋ ค์ง๋๊น?
์๋์. EmailVerify์ API๋ ํ๊ท 1์ด ๋ฏธ๋ง(์ผ๋ฐ์ ์ผ๋ก 300-500ms)์ผ๋ก ์๋ตํฉ๋๋ค. ๋ ๋น ๋ฅธ ์ฑ๋ฅ์ ์ํด ๋ค์์ ์ํํ ์ ์์ต๋๋ค:
- ๋น๋๊ธฐ ๊ฒ์ฆ ์ฌ์ฉ (๊ฐ์
ํ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๊ฒ์ฆ)
- ์ด์ ์ ๊ฒ์ฆ๋ ์ด๋ฉ์ผ์ ๋ํ ์บ์ฑ ํ์ฑํ
- ํผํฌ ์๊ฐ์ด ์๋ ์๊ฐ์ ๋๋ ์ด๋ฉ์ผ ๊ฒ์ฆ
๊ธฐ์กด SendGrid ์ฐ๋ฝ์ฒ๋ฅผ ๊ฒ์ฆํ ์ ์์ต๋๊น?
์! ๋ค์์ ์ํํ ์ ์์ต๋๋ค:
- API ๋๋ UI๋ฅผ ํตํด SendGrid ์ฐ๋ฝ์ฒ๋ฅผ ๋ด๋ณด๋ด๊ธฐํฉ๋๋ค
- EmailVerify์ ๋๋ ๊ฒ์ฆ ๋๊ตฌ์ ์
๋ก๋ํฉ๋๋ค
- ์์ธํ ์ํ์ ํจ๊ป ๊ฒ์ฆ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค
- ์
๋ฐ์ดํธ๋ ์ฌ์ฉ์ ์ ์ ํ๋๋ก SendGrid์ ์ฌ๊ฐ์ ธ์ค๊ธฐํฉ๋๋ค
๋๋ ์ฐ๋ฆฌ API๋ฅผ ์ฌ์ฉํ์ฌ ์คํฌ๋ฆฝํธ๋ก ์ด ํ๋ก์ธ์ค๋ฅผ ์์ ํ ์๋ํํ ์ ์์ต๋๋ค.
์ ํจํ์ง ์์ ์ด๋ฉ์ผ์ ์ด๋ป๊ฒ ๋ฉ๋๊น?
์ ํจํ์ง ์์ ์ด๋ฉ์ผ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์์ ํ ์ ์ดํ ์ ์์ต๋๋ค:
- ๊ฐ์
์ ๊ฑฐ๋ถ (๊ถ์ฅ)
- ํฅํ ์ ์ก์ ๋ฐฉ์งํ๊ธฐ ์ํด SendGrid ์ต์ ๋ชฉ๋ก์ ์ถ๊ฐ
- ์๋ ๊ฒํ ๋ฅผ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ๋๊ทธ ์ง์
- ์ฌ๊ธฐ ํ์ง ๋ถ์์ ์ํด ๋ก๊ทธ
๋ฐ์ ์ ํํ์ ๋ณดํธํ๊ธฐ ์ํด ๊ฐ์
์ ๊ฑฐ๋ถํ๊ฑฐ๋ ์ต์ ๋ชฉ๋ก์ ์ถ๊ฐํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
๊ฒ์ฆ์ ์ ํ๋๋ ์ผ๋ง๋ ๋ฉ๋๊น?
EmailVerify๋ ๋ค์ธต ๊ฒ์ฆ์ ํตํด 99.9% ์ ํ๋๋ฅผ ์ ์งํฉ๋๋ค:
- ๊ตฌ๋ฌธ ๊ฒ์ฆ (RFC 5322 ์ค์)
- DNS ์กฐํ (๋๋ฉ์ธ์ด ์กด์ฌํ๊ณ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋จ)
- MX ๋ ์ฝ๋ ๊ฒ์ฆ (๋ฉ์ผ ์๋ฒ๊ฐ ์กด์ฌํ๊ณ ๋ฉ์ผ์ ์๋ฝํจ)
- SMTP ํธ๋์
ฐ์ดํฌ (๋ฉ์ผํจ์ด ์กด์ฌํ๊ณ ๋ฉ์ผ์ ๋ฐ์ ์ ์์)
- ๊ณ ๊ธ ์ํ ๊ฐ์ง (์ ์ฒด ์์ , ์์, ์ญํ ๊ธฐ๋ฐ ์ด๋ฉ์ผ)
์ฐ๋ฆฌ๋ ์ ํ๋๋ฅผ ์ ์งํ๊ธฐ ์ํด ๋งค์ผ ์์ฒ ๊ฐ์ ๋๋ฉ์ธ์ ๊ฒ์ฆํฉ๋๋ค.
EmailVerify๋ SendGrid ์ฌ์ฉ์ ์ ์ ํ๋๋ฅผ ์ง์ํฉ๋๊น?
์! SendGrid ์ฌ์ฉ์ ์ ์ ํ๋์ ๊ฒ์ฆ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค:
- ์ด๋ฉ์ผ ์ํ (์ ํจ/์ ํจํ์ง ์์/์ํ)
- ์ํ ์์ค (๋ฎ์/์ค๊ฐ/๋์)
- ๊ฒ์ฆ ๋ ์ง (ํ์์คํฌํ)
- ์ ์ฒด ์์ ์ํ (true/false)
- ์์ ์ด๋ฉ์ผ (true/false)
- ์ญํ ๊ณ์ (true/false)
์ด๋ฅผ ํตํด ๊ฒ์ฆ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฐ๋ฝ์ฒ๋ฅผ ์ธ๋ถํํ๊ณ ํ๊ฒํ
๋ ์บ ํ์ธ์ ๋ง๋ค ์ ์์ต๋๋ค.
๋ฌด๋ฃ ์ฒดํ์ด ์์ต๋๊น?
์! EmailVerify๋ ๋ค์์ ์ ๊ณตํฉ๋๋ค:
- โ
100๊ฐ์ ๋ฌด๋ฃ ๊ฒ์ฆ ํฌ๋ ๋ง (์ ์ฉ์นด๋ ๋ถํ์)
- โ
๋ชจ๋ ๊ธฐ๋ฅ์ ๋ํ ์ ์ฒด ์ก์ธ์ค (API, ๋๋ ๊ฒ์ฆ, ๊ณ ๊ธ ๊ฐ์ง)
- โ
์ ๋ฃ ํ๋์ ๋ํ 30์ผ ํ๋ถ ๋ณด์ฆ
- โ
๋ฌด๋ฃ ํตํฉ ์ง์ (์ค์ ์ ๋์๋๋ฆฝ๋๋ค)
ํตํฉ์ ์ผ๋ง๋ ์์ ํฉ๋๊น?
EmailVerify๋ ๋ณด์์ ๋งค์ฐ ์ค์ํ๊ฒ ์๊ฐํฉ๋๋ค:
- ๐ ์ํธํ: ๋ชจ๋ API ํธ์ถ์ HTTPS/TLS 1.3์ ์ฌ์ฉํฉ๋๋ค
- ๐ GDPR ์ค์: ์ด๋ฉ์ผ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฑฐ๋ ๊ณต์ ํ์ง ์์ต๋๋ค
- ๐ SOC 2 ์ธ์ฆ: ์
๊ณ ํ์ค ๋ณด์ ๊ดํ
- ๐ API ํค ๋ณด์: ํค๋ ์ํธํ๋๋ฉฐ ์ธ์ ๋ ์ง ๊ต์ฒดํ ์ ์์ต๋๋ค
- ๐ ๋ฐ์ดํฐ ๋ณด๊ด ์์: ์ด๋ฉ์ผ์ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌ๋๋ฉฐ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋์ง ์์ต๋๋ค
์ํฐํ๋ผ์ด์ฆ ๊ณ ๊ฐ์๊ฒ๋ ์ ์ฒด ๊ฐ์ฌ ๋ก๊ทธ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
EmailVerify์ SendGrid์ ๋ด์ฅ ๊ฒ์ฆ์ ์ฐจ์ด์ ์ ๋ฌด์์
๋๊น?
SendGrid๋ ๊ธฐ๋ณธ ๊ฒ์ฆ(๊ตฌ๋ฌธ ๋ฐ DNS ํ์ธ)์ ์ ๊ณตํ์ง๋ง, EmailVerify๋ ๋ค์์ ์ ๊ณตํฉ๋๋ค:
- โ
SMTP ๊ฒ์ฆ: ์ค์ ๋ก ๋ฉ์ผ ์๋ฒ์ ์ฐ๊ฒฐํ์ฌ ๋ฉ์ผํจ์ด ์กด์ฌํ๋์ง ํ์ธํฉ๋๋ค
- โ
๊ณ ๊ธ ์ํ ๊ฐ์ง: ์์, ์ ์ฒด ์์ ๋ฐ ์ญํ ๊ธฐ๋ฐ ์ด๋ฉ์ผ์ ์๋ณํฉ๋๋ค
- โ
99.9% ์ ํ๋: ๊ธฐ๋ณธ DNS/๊ตฌ๋ฌธ ํ์ธ๋ณด๋ค ๋์ ์ ํ๋
- โ
์ค์๊ฐ ๊ฒ์ฆ: ์ด๋ฉ์ผ์ด SendGrid์ ์
๋ ฅ๋๊ธฐ ์ ์ ๊ฒ์ฆํฉ๋๋ค
- โ
๋๋ ๊ฒ์ฆ: ๋ช ๋ถ ์์ ์ ์ฒด ๋ชฉ๋ก์ ์ ๋ฆฌํฉ๋๋ค
- โ
์ฌ์ ๋ณดํธ: ๋ฐ์ก์ ๋์ํ๋ ๋์ ๋ฐ์ก์ ๋ฐฉ์งํฉ๋๋ค
SendGrid์ ๊ฒ์ฆ์ ๋ฐ์์ (๋ฐ์ก ๋ฐ์ ํ)์ด์ง๋ง, EmailVerify๋ ์ฌ์ ์ (๋ฐ์ก ๋ฐฉ์ง)์
๋๋ค.
์์ํ ์ค๋น๊ฐ ๋์
จ์ต๋๊น?
์ค๋ EmailVerify๋ก SendGrid ๋ฐ์ ์ ํํ์ ๋ณดํธํ์ธ์:
- โ
99.9% ๊ฒ์ฆ ์ ํ๋ - ์
๊ณ ์ต๊ณ ์ ์ ๋ฐ๋
- โ
<1์ด ๊ฒ์ฆ ์๋ - ์ฌ์ฉ์ ๊ฒฝํ์ ์ํฅ ์์
- โ
๊ฐํธํ ํตํฉ - API๋ก 10๋ถ ์์ ์ค์
- โ
์ ์ฐํ ๊ฐ๊ฒฉ - ์ฌ์ฉํ ๋งํผ๋ง ์ง๋ถ, ์ด๋ฉ์ผ๋น $0.002๋ถํฐ ์์
- โ
24/7 ์ง์ - ๋์์ ๋๋ฆด ์ค๋น๊ฐ ๋ ์ ๋ฌธ ํ
์ฌ์ฉ์ ๊ฐ์
์์
โ
EmailVerify API (์ด๋ฉ์ผ ๊ฒ์ฆ)
โ
์ ํจ? โ SendGrid API (์ฐ๋ฝ์ฒ ์ถ๊ฐ + ์ ์ก)
์ ํจํ์ง ์์? โ ๊ฑฐ๋ถ ๋๋ ๋ก๊ทธ
// Example: Verify email before sending welcome message via SendGrid
const axios = require('axios');
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
async function sendWelcomeEmail(email, name) {
try {
// Step 1: Verify email with EmailVerify
const verificationResult = await axios.post(
'https://api.emailverify.ai/v1/verify',
{ email },
{
headers: {
'Authorization': `Bearer ${process.env.EMAILVERIFY_API_KEY}`,
'Content-Type': 'application/json'
}
}
);
const { status, risk_level, is_disposable, is_catch_all, is_role } = verificationResult.data;
// Step 2: Only send if email is valid and low-risk
if (status === 'valid' && risk_level === 'low' && !is_disposable) {
// Email is safe to send
const msg = {
to: email,
from: 'welcome@yourdomain.com',
subject: 'Welcome to Our Service!',
text: `Hello ${name}, welcome to our platform!`,
html: `<h1>Hello ${name}</h1><p>Welcome to our platform!</p>`,
};
await sgMail.send(msg);
console.log(`โ
Welcome email sent to ${email}`);
// Optional: Add to SendGrid marketing contacts
await addToSendGridContacts(email, name, {
email_verified: true,
risk_level: 'low'
});
return { success: true, sent: true };
} else if (status === 'invalid') {
// Email is invalid - do not send
console.log(`โ Email ${email} is invalid. Not sending.`);
return { success: false, reason: 'invalid_email' };
} else if (is_disposable) {
// Disposable email - block or flag
console.log(`โ ๏ธ Email ${email} is disposable. Flagging.`);
return { success: false, reason: 'disposable_email' };
} else {
// Risky email - flag for review
console.log(`โ ๏ธ Email ${email} is risky (${risk_level}). Manual review needed.`);
return { success: false, reason: 'risky_email', risk_level };
}
} catch (error) {
console.error('Verification or sending error:', error);
return { success: false, reason: 'api_error' };
}
}
async function addToSendGridContacts(email, name, customFields) {
const data = {
contacts: [
{
email: email,
first_name: name.split(' ')[0],
last_name: name.split(' ')[1] || '',
custom_fields: customFields
}
]
};
await axios.put(
'https://api.sendgrid.com/v3/marketing/contacts',
data,
{
headers: {
'Authorization': `Bearer ${process.env.SENDGRID_API_KEY}`,
'Content-Type': 'application/json'
}
}
);
}
// Usage example
app.post('/api/signup', async (req, res) => {
const { email, name } = req.body;
const result = await sendWelcomeEmail(email, name);
if (result.success) {
res.json({ message: 'Account created and welcome email sent!' });
} else {
res.status(400).json({
error: 'Invalid email address',
reason: result.reason
});
}
});
import requests
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail
EMAILVERIFY_API_KEY = 'your_emailverify_api_key'
SENDGRID_API_KEY = 'your_sendgrid_api_key'
def send_welcome_email(email, name):
# Step 1: Verify email with EmailVerify
verification_response = requests.post(
'https://api.emailverify.ai/v1/verify',
json={'email': email},
headers={
'Authorization': f'Bearer {EMAILVERIFY_API_KEY}',
'Content-Type': 'application/json'
}
)
result = verification_response.json()
# Step 2: Only send if valid and low-risk
if result['status'] == 'valid' and result['risk_level'] == 'low' and not result.get('is_disposable'):
# Safe to send
message = Mail(
from_email='welcome@yourdomain.com',
to_emails=email,
subject=f'Welcome {name}!',
html_content=f'<h1>Hello {name}</h1><p>Welcome to our platform!</p>'
)
try:
sg = SendGridAPIClient(SENDGRID_API_KEY)
response = sg.send(message)
print(f"โ
Email sent to {email}, status code: {response.status_code}")
# Optional: Add to marketing contacts
add_to_sendgrid_contacts(email, name, {
'email_verified': True,
'risk_level': 'low'
})
return {'success': True, 'sent': True}
except Exception as e:
print(f"Error sending email: {e}")
return {'success': False, 'reason': 'sendgrid_error'}
elif result['status'] == 'invalid':
print(f"โ Email {email} is invalid. Not sending.")
return {'success': False, 'reason': 'invalid_email'}
elif result.get('is_disposable'):
print(f"โ ๏ธ Email {email} is disposable. Blocking.")
return {'success': False, 'reason': 'disposable_email'}
else:
print(f"โ ๏ธ Email {email} is risky. Manual review needed.")
return {'success': False, 'reason': 'risky_email'}
def add_to_sendgrid_contacts(email, name, custom_fields):
data = {
'contacts': [
{
'email': email,
'first_name': name.split(' ')[0],
'last_name': ' '.join(name.split(' ')[1:]) if len(name.split(' ')) > 1 else '',
'custom_fields': custom_fields
}
]
}
requests.put(
'https://api.sendgrid.com/v3/marketing/contacts',
json=data,
headers={
'Authorization': f'Bearer {SENDGRID_API_KEY}',
'Content-Type': 'application/json'
}
)
const express = require('express');
const axios = require('axios');
const app = express();
app.use(express.json());
app.post('/webhook/sendgrid', async (req, res) => {
const events = req.body;
for (const event of events) {
const { event: eventType, email } = event;
// Handle bounces and blocks
if (['bounce', 'dropped', 'blocked'].includes(eventType)) {
console.log(`โ ๏ธ SendGrid event: ${eventType} for ${email}`);
// Verify email to check if it's permanently invalid
const verificationResult = await axios.post(
'https://api.emailverify.ai/v1/verify',
{ email },
{
headers: {
'Authorization': `Bearer ${process.env.EMAILVERIFY_API_KEY}`,
'Content-Type': 'application/json'
}
}
);
const { status } = verificationResult.data;
if (status === 'invalid') {
// Add to permanent suppression list
await addToSuppressionList(email, 'invalid_email');
console.log(`โ Email ${email} added to suppression list`);
}
}
}
res.status(200).send('OK');
});
async function addToSuppressionList(email, reason) {
// Add to SendGrid suppression list
await axios.post(
'https://api.sendgrid.com/v3/suppression/bounces',
{
emails: [
{
email: email,
reason: reason
}
]
},
{
headers: {
'Authorization': `Bearer ${process.env.SENDGRID_API_KEY}`,
'Content-Type': 'application/json'
}
}
);
// Also log to your database for analytics
// await logInvalidEmail(email, reason);
}
app.listen(3000, () => console.log('Webhook server running on port 3000'));
# SendGrid UI ๋๋ API๋ฅผ ํตํด ์ฐ๋ฝ์ฒ ๋ด๋ณด๋ด๊ธฐ
# ์ค์ โ ๋ง์ผํ
โ ์ฐ๋ฝ์ฒ โ ๋ด๋ณด๋ด๊ธฐ
// Import only valid emails to SendGrid
const validEmails = verifiedData.filter(
row => row.status === 'valid' && row.risk_level === 'low'
);
await axios.put(
'https://api.sendgrid.com/v3/marketing/contacts',
{ contacts: validEmails },
{
headers: {
'Authorization': `Bearer ${process.env.SENDGRID_API_KEY}`,
'Content-Type': 'application/json'
}
}
);