Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

แƒ“แƒฆแƒ”แƒก แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒ”.แƒฌ. Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ (แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜ Yandex Cloud แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ—แƒแƒœแƒฎแƒ›แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ แƒกแƒแƒคแƒแƒกแƒขแƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ—แƒแƒœ SendGrid แƒ’แƒแƒฃแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก "แƒกแƒแƒžแƒแƒœแƒก" แƒ›แƒจแƒ•แƒ˜แƒ“แƒแƒ“ แƒ›แƒซแƒ˜แƒœแƒแƒ แƒ” แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก (แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ•แƒฎแƒฃแƒ›แƒ แƒแƒ‘ - แƒ•แƒ˜แƒชแƒ˜, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒงแƒ•แƒ”แƒšแƒแƒœแƒ˜ แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ•แƒแƒ แƒ— แƒกแƒžแƒแƒ›แƒ˜แƒก แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’).

แƒ›แƒ”แƒช แƒขแƒ แƒแƒ“แƒ˜แƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’แƒ” (แƒแƒฆแƒแƒœแƒ“ แƒคแƒแƒœแƒแƒขแƒ˜แƒ–แƒ›แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”) แƒ“แƒ แƒ”.แƒฌ. แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” (แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”) แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ  แƒ›แƒแƒ›แƒฌแƒแƒœแƒก (แƒ“แƒ แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒแƒ  แƒ•แƒ˜แƒชแƒ˜ แƒ แƒแƒ’แƒแƒ ) แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒ, แƒ“แƒ แƒ›แƒ˜แƒ— แƒฃแƒ›แƒ”แƒขแƒ”แƒก, แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒฎแƒแƒ“แƒ แƒ“แƒ แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜. แƒกแƒฎแƒ•แƒ แƒ แƒแƒ› แƒแƒ แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜. แƒ•แƒ˜แƒฆแƒแƒช แƒ”แƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ แƒ›แƒแƒ— แƒฃแƒฉแƒ”แƒ›แƒแƒ“ แƒ“แƒ แƒ›แƒ” แƒ•แƒ˜แƒฎแƒ“แƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ–แƒแƒ แƒ”แƒ‘แƒก. 2019 แƒฌแƒšแƒ˜แƒก แƒแƒฅแƒขแƒแƒ›แƒ‘แƒ แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜ Yandex-แƒ›แƒ แƒฌแƒแƒ แƒ›แƒแƒแƒ“แƒ’แƒ˜แƒœแƒ แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ Yandex Cloud แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ - แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜แƒ แƒ แƒฃแƒกแƒ”แƒ—แƒ˜แƒก แƒคแƒ”แƒ“แƒ”แƒ แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”. แƒ“แƒ แƒ แƒแƒช แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— แƒกแƒแƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒแƒ, แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒแƒšแƒ˜แƒกแƒ˜แƒก แƒฃแƒœแƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฉแƒ”แƒ›แƒก แƒžแƒ”แƒ แƒ˜แƒคแƒ”แƒ แƒ˜แƒฃแƒš แƒฎแƒ”แƒ“แƒ•แƒแƒจแƒ˜ แƒแƒ แƒ˜แƒแƒœ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ“แƒ˜ แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒฃแƒ™แƒ•แƒ”.

แƒฌแƒแƒ แƒ›แƒแƒ•แƒ˜แƒ“แƒ’แƒ˜แƒœแƒแƒ— แƒ”แƒก แƒกแƒชแƒ”แƒœแƒแƒ แƒ˜. แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒšแƒ˜แƒกแƒ˜แƒก แƒฃแƒœแƒแƒ แƒ˜ แƒ“แƒแƒ˜แƒ›แƒแƒฎแƒกแƒแƒ•แƒ แƒ” แƒ“แƒ แƒ“แƒแƒ˜แƒ•แƒ˜แƒฌแƒงแƒ” แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช, แƒกแƒฎแƒ•แƒแƒ—แƒ แƒจแƒแƒ แƒ˜แƒก, แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜) แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒก แƒจแƒ”แƒ˜แƒซแƒ˜แƒœแƒแƒก แƒชแƒ˜แƒคแƒ แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒแƒคแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒฎแƒ“แƒ˜แƒก แƒ’แƒแƒ“แƒแƒฎแƒ“แƒแƒก. แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒฎแƒ˜แƒก แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ (แƒ“แƒแƒ‘แƒœแƒ”แƒฃแƒšแƒแƒ“ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ Yandex.Money) แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒ’แƒแƒ“แƒแƒฎแƒ“แƒแƒก แƒ“แƒ แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒš แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ–แƒ” (แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒ‘แƒ›แƒฃแƒšแƒ˜ แƒ“แƒแƒกแƒแƒ แƒ”แƒ™แƒแƒ“ Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜) HTTP- แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ˜แƒก แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒ—แƒแƒœแƒฎแƒ, แƒกแƒ แƒฃแƒšแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜, แƒขแƒ”แƒšแƒ”แƒคแƒแƒœแƒ˜แƒก แƒœแƒแƒ›แƒ”แƒ แƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ›แƒฎแƒ“แƒ”แƒšแƒ˜แƒก แƒ”แƒš.แƒคแƒแƒกแƒขแƒ. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒ”แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ แƒแƒ˜แƒ›แƒ” แƒ’แƒ–แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒ›แƒฃแƒจแƒแƒ•แƒแƒ—, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“: แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒ—แƒแƒœแƒฎแƒ, แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜, แƒ’แƒแƒ•แƒฃแƒ’แƒ–แƒแƒ•แƒœแƒแƒ— แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก SMS ะธ Email แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—. แƒแƒกแƒ” แƒ แƒแƒ› แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒ—แƒแƒ•แƒก แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜.

แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ Cloud Firestore แƒฉแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” แƒ•แƒฃแƒงแƒฃแƒ แƒ”แƒ— แƒ›แƒแƒก แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒจแƒ˜ แƒแƒšแƒ˜แƒกแƒแƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒแƒฎแƒกแƒแƒ•แƒก (แƒ“แƒ แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜, แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘, แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ•แƒ— แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒก แƒกแƒฎแƒ•แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก - Yandex แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ). แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ SMS แƒ“แƒ แƒ’แƒแƒ•แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ Yandex.Money - แƒแƒ›แƒแƒก แƒฃแƒแƒฎแƒšแƒแƒ”แƒก แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜ แƒ›แƒแƒ•แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ—. แƒแƒฎแƒšแƒ แƒ›แƒแƒ“แƒ˜แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฌแƒ”แƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒ— แƒ•แƒ˜แƒ›แƒฃแƒจแƒแƒแƒ—.

1. แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜ SendGrid-แƒจแƒ˜

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒSendGrid แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฉแƒ”แƒ›แƒ˜ แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ” แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ” แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒ›แƒแƒ— แƒแƒฅแƒ•แƒ— แƒ›แƒ–แƒ SDK Node.js-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒ˜แƒ แƒฉแƒ˜แƒแƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒฎแƒ•แƒ แƒกแƒแƒคแƒแƒกแƒขแƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜.

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒ— แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ” แƒ“แƒ แƒจแƒ”แƒแƒ•แƒกแƒ”แƒ— แƒกแƒแƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ แƒคแƒแƒ แƒ›แƒ แƒ˜แƒฅ. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒ˜แƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— แƒฉแƒ”แƒ›แƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜, แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒžแƒแƒœแƒ”แƒšแƒจแƒ˜ แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— แƒ”แƒšแƒคแƒแƒกแƒขแƒ˜แƒก API -> แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒ“แƒ แƒ›แƒ—แƒแƒ•แƒแƒ  แƒžแƒแƒœแƒ”แƒšแƒ–แƒ” - แƒ•แƒ”แƒ‘ API แƒ“แƒ ะฝะฐะถะธะผะฐะตะผ ะบะฝะพะฟะบัƒ แƒแƒ แƒฉแƒ”แƒ•แƒ. แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒกแƒ”แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒฃแƒ แƒแƒ—แƒ–แƒ”:

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ”แƒขแƒแƒžแƒ–แƒ” แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— Node.js:

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒฉแƒ•แƒ”แƒœ แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ API-แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ (แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ™แƒแƒœแƒกแƒแƒšแƒจแƒ˜ แƒ“แƒ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒแƒฅแƒ•แƒก แƒกแƒแƒ”แƒ แƒ—แƒ แƒฉแƒ•แƒ”แƒœแƒก แƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒ™แƒแƒ“แƒ—แƒแƒœ; แƒ›แƒ” แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒขแƒแƒœแƒ” แƒฃแƒฎแƒ แƒฌแƒœแƒ”แƒšแƒ˜ แƒ“แƒ”แƒ›แƒ-แƒแƒžแƒ˜-แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜) แƒ“แƒ แƒ“แƒแƒแƒญแƒ˜แƒ แƒ”แƒ— แƒฆแƒ˜แƒšแƒแƒ™แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ:

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ— แƒ›แƒแƒก แƒ“แƒ แƒจแƒ”แƒ•แƒ˜แƒœแƒแƒฎแƒแƒ•แƒ— แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒฆแƒ แƒ›แƒแƒ“. แƒ“แƒ แƒ’แƒ•แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒ”แƒ™แƒ แƒแƒœแƒ˜ แƒฆแƒ˜แƒšแƒแƒ™แƒ˜แƒ— แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒกแƒฃแƒ แƒแƒ—แƒ–แƒ”, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฏแƒ”แƒ  แƒแƒ  แƒ“แƒแƒ•แƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ‘แƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒ— แƒ™แƒแƒ“แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒแƒ–แƒ”:

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

2. แƒ™แƒแƒ“แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ

แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒแƒ•แƒแƒ“ แƒ™แƒแƒ“แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒกแƒแƒกแƒแƒชแƒ˜แƒšแƒแƒ“ แƒ›แƒชแƒ˜แƒ แƒ”แƒ - 22 แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜!

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

แฒฎแƒแƒ–แƒจแƒ˜ #8 แƒฉแƒ”แƒ›แƒ˜ แƒ”แƒšแƒคแƒแƒกแƒขแƒ แƒแƒ แƒ˜แƒก แƒ›แƒงแƒแƒ แƒ˜ แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ (แƒ“แƒ, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ›แƒแƒ แƒชแƒฎแƒ•แƒแƒ“ แƒ“แƒแƒ›แƒแƒšแƒฃแƒšแƒ˜) - แƒ’แƒ—แƒฎแƒแƒ•แƒ—, แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜. แƒ แƒ”แƒแƒšแƒฃแƒ  แƒชแƒฎแƒแƒ•แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒก (แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒ”แƒšแƒคแƒแƒกแƒขแƒแƒ–แƒ”) แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜แƒ“แƒแƒœ แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒ. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ—แƒฃ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ POST แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜ แƒ”แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ แƒฉแƒ•แƒ”แƒœแƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ•แƒ”แƒšแƒ˜แƒ— (แƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ—) แƒ”แƒšแƒคแƒแƒกแƒขแƒแƒ–แƒ”, แƒแƒ› แƒ•แƒ”แƒšแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒœแƒแƒ˜แƒ แƒแƒ“:

const { user } = event;
const email = user.email;

แƒ“แƒ แƒ—แƒฃ แƒ”แƒš.แƒคแƒแƒกแƒขแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒ’แƒแƒ“แƒแƒ”แƒชแƒ”แƒ›แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“: https://functions.yandexcloud.net/123abc?[email protected]
แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒ”แƒšแƒคแƒแƒกแƒขแƒแƒ–แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ”แƒก แƒแƒกแƒ”:

const email = event.queryStringParameters.email;

แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒแƒ“ แƒ แƒแƒก แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒกแƒแƒ’แƒแƒœแƒ˜ แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒ, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒฃแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒกแƒ˜ Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ“แƒ แƒ’แƒแƒ“แƒแƒแƒขแƒ แƒ˜แƒแƒšแƒ”แƒ— แƒ˜แƒ’แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒ—:

module.exports.handler = async function (event) {
  return {
   'statusCode': 200, 
   'body': JSON.stringify(event)
  };
};

แƒ”แƒก แƒฃแƒคแƒ แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ (แƒ›แƒแƒ’แƒ แƒแƒ› แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒœแƒแƒ—แƒšแƒแƒ“) แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒ˜แƒšแƒฃแƒšแƒ˜ แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ  แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜ แƒแƒฅ.

แƒแƒกแƒ” แƒ แƒแƒ›, แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒคแƒแƒกแƒขแƒแƒšแƒ˜แƒแƒœแƒ˜), แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒ— แƒ›แƒแƒกแƒ–แƒ”, แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜, แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

mkdir mailer
cd mailer
npm init -y
npm i @sendgrid/mail email-validator dotenv

แƒแƒฅ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒ แƒกแƒแƒญแƒ˜แƒ แƒ @sendgrid/mail. แƒžแƒšแƒแƒกแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒฉแƒแƒœแƒ—แƒ แƒ”แƒš.แƒคแƒแƒกแƒขแƒ˜แƒก แƒ“แƒแƒ›แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก แƒ”แƒš.แƒคแƒแƒกแƒขแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒก แƒ•แƒแƒšแƒ˜แƒ“แƒแƒ‘แƒแƒ–แƒ” (แƒ แƒแƒ’แƒแƒ  แƒ•แƒ”แƒ  แƒ›แƒ˜แƒ•แƒฎแƒ•แƒ“แƒ˜ แƒ›แƒแƒจแƒ˜แƒœแƒ•แƒ”?), แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฃ แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒแƒ แƒ— (แƒ˜แƒก แƒฃแƒ™แƒ•แƒ” แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒแƒœแƒ˜แƒ แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒก แƒ’แƒแƒ แƒ”แƒจแƒ”), แƒแƒ  แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ (แƒ“แƒ, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒ˜แƒ’แƒ˜ แƒ™แƒแƒ“แƒจแƒ˜). แƒžแƒšแƒแƒกแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒฉแƒแƒœแƒ—แƒ แƒ“แƒแƒขแƒ”แƒœแƒ•แƒ˜ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜แƒ แƒคแƒแƒ˜แƒšแƒ˜แƒ“แƒแƒœ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒแƒ“ .แƒ”แƒœแƒ• แƒ แƒแƒ’แƒแƒ แƒช แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜. แƒ›แƒแƒ’แƒ แƒแƒ› แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒ› แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜. แฒ แƒแƒ’แƒแƒ ? - แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ’แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘. แƒแƒ›แƒ˜แƒขแƒแƒ› แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒ“แƒแƒขแƒ”แƒœแƒ•แƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— แƒ˜แƒ’แƒ˜ แƒ“แƒ แƒคแƒแƒ˜แƒšแƒ˜ .แƒ”แƒœแƒ• - แƒแƒ  แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒ“แƒ แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ™แƒแƒ“แƒ˜ แƒแƒ แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒจแƒ˜ index.js แƒแƒ  แƒจแƒ”แƒชแƒ•แƒแƒšแƒ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฅ แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒ”แƒก แƒžแƒแƒ™แƒ”แƒขแƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒก index.js ะธ .แƒ”แƒœแƒ•:

touch index.js
touch .env

แƒคแƒแƒ˜แƒšแƒจแƒ˜ index.js แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ™แƒแƒ“แƒ˜แƒก 22 แƒฎแƒแƒ–แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ”แƒ™แƒ แƒแƒœแƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ–แƒ” (แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฎแƒแƒ–แƒจแƒ˜ #8 แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ”แƒšแƒคแƒแƒกแƒขแƒ) แƒ“แƒ แƒคแƒแƒ˜แƒšแƒจแƒ˜ .แƒ”แƒœแƒ• - (แƒงแƒแƒ•แƒ”แƒšแƒ’แƒ•แƒแƒ แƒ˜ แƒ‘แƒ แƒญแƒงแƒแƒšแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒžแƒฃแƒœแƒฅแƒขแƒฃแƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”) แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ— แƒฌแƒงแƒ•แƒ˜แƒšแƒ˜ - แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜/แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ APIแƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฎแƒšแƒแƒฎแƒแƒœ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ— แƒ™แƒแƒœแƒกแƒแƒšแƒจแƒ˜ SendGrid:
SENDGRID_API_KEY=แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜-แƒซแƒแƒšแƒ˜แƒแƒœ-แƒกแƒแƒ˜แƒ“แƒฃแƒ›แƒšแƒ-sendgrid-api-แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜

แƒ“แƒ แƒ—แƒฃ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ’แƒ˜แƒœแƒ“แƒแƒ—, แƒ™แƒšแƒแƒœแƒ˜แƒ แƒ”แƒ— แƒกแƒแƒชแƒแƒ•แƒ˜ แƒ“แƒ แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜:

git clone https://github.com/stmike/ycf-sendgrid-mailer-tutorial.git
cd ycf-sendgrid-mailer-tutorial
npm i

แƒคแƒแƒ˜แƒšแƒจแƒ˜ index.js, แƒฎแƒแƒ–แƒจแƒ˜ #8 แƒ”แƒš.แƒคแƒแƒกแƒขแƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ; แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒคแƒแƒ˜แƒšแƒ˜ root แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ .แƒ”แƒœแƒ•, แƒ“แƒ แƒ›แƒแƒกแƒจแƒ˜ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ— แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜/แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ API, แƒ แƒแƒ’แƒแƒ แƒช แƒ–แƒ”แƒ›แƒแƒ— แƒแƒ แƒ˜แƒก แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜.

3. แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ

แƒ›แƒ”แƒข-แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒ›แƒ™แƒแƒคแƒ˜แƒแƒ“ แƒ“แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ Yandex.Cloud แƒ“แƒ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ˜แƒ’แƒ˜ แƒ˜แƒฅ Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒฉแƒ”แƒ›แƒก แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒแƒšแƒ˜แƒกแƒ แƒ‘แƒ˜แƒขแƒ แƒ˜แƒฅแƒกแƒ˜แƒก แƒฅแƒ•แƒ”แƒงแƒแƒœแƒแƒจแƒ˜ - แƒฃแƒ›แƒ”แƒชแƒแƒ แƒ”แƒ‘แƒก แƒ•แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜ แƒแƒ› แƒฅแƒ•แƒ”แƒงแƒแƒœแƒแƒจแƒ˜ แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒแƒกแƒ—แƒ•แƒ˜แƒก (แƒ“แƒ แƒ•แƒ˜แƒœแƒช แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ“แƒ) - แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒžแƒแƒขแƒแƒ แƒ แƒ™แƒแƒ›แƒ˜แƒฅแƒกแƒก (แƒ”.แƒ˜. แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒขแƒ”แƒฅแƒกแƒขแƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒแƒก).

แฒจแƒ”แƒฅแƒ›แƒœแƒ zip-แƒแƒ แƒฅแƒ˜แƒ•แƒ˜ (แƒ“แƒแƒ•แƒแƒ แƒฅแƒ•แƒแƒ—, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, mailer.zip), แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒ˜แƒขแƒแƒœแƒ— แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒก แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก_แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ .env, index.js - แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ™แƒแƒขแƒแƒšแƒแƒ’แƒ˜แƒ“แƒแƒœ:

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ—... แƒกแƒฌแƒแƒ แƒแƒ“ - แƒคแƒแƒกแƒขแƒแƒšแƒ˜แƒแƒœแƒ˜, แƒ›แƒแƒ แƒชแƒฎแƒ”แƒœแƒ แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒœแƒ˜แƒฃแƒจแƒ˜ แƒจแƒ”แƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— แƒ แƒ”แƒ“แƒแƒฅแƒขแƒแƒ แƒ˜, แƒจแƒ”แƒแƒ•แƒกแƒ”แƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒ— แƒฉแƒแƒœแƒแƒ แƒ—แƒ–แƒ” ZIP แƒแƒ แƒฅแƒ˜แƒ•แƒ˜ แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒ แƒฅแƒ˜แƒ•แƒ˜ mailer.zip:

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

แƒ“แƒ แƒแƒฅ แƒแƒ แƒ˜แƒก แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒแƒ“แƒ แƒ” แƒœแƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ API แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒแƒฅ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ .แƒ”แƒœแƒ•แƒ“แƒ แƒแƒ  แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒ“แƒแƒขแƒ”แƒœแƒ•แƒ˜. แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ›แƒ” แƒ•แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒœแƒฃ แƒ“แƒฃแƒ‘แƒšแƒ˜แƒ แƒ”แƒ‘แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ!

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

แƒแƒฎแƒšแƒ แƒ–แƒ”แƒ“แƒ แƒ›แƒแƒ แƒฏแƒ•แƒ”แƒœแƒ แƒ™แƒฃแƒ—แƒฎแƒ”แƒจแƒ˜ แƒ“แƒแƒแƒญแƒ˜แƒ แƒ”แƒ— แƒฆแƒ˜แƒšแƒแƒ™แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ“แƒ แƒ“แƒแƒ”แƒšแƒแƒ“แƒ”แƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฌแƒแƒ›แƒก. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒ–แƒแƒ“ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ, แƒฉแƒ•แƒ”แƒœ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ“แƒแƒ•แƒแƒšแƒ— แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ แƒ’แƒแƒœแƒ˜แƒฎแƒ˜แƒšแƒแƒก. แƒ˜แƒฅ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘แƒ— แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒก แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒ แƒแƒ—แƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒซแƒšแƒแƒ— แƒ›แƒแƒกแƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ แƒ’แƒแƒ แƒ” แƒกแƒแƒ›แƒงแƒแƒ แƒแƒ“แƒแƒœ.

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

แƒ—แƒฅแƒ•แƒ”แƒœ แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒšแƒฃแƒ แƒฏ แƒ‘แƒ›แƒฃแƒšแƒก แƒฌแƒแƒ แƒฌแƒ”แƒ แƒ˜แƒก แƒกแƒแƒžแƒ˜แƒ แƒ˜แƒกแƒžแƒ˜แƒ แƒแƒ“ แƒ“แƒแƒ แƒ”แƒ™แƒ•แƒ˜แƒก แƒšแƒ˜แƒœแƒ™แƒ˜? แƒ“แƒแƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ—. แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜แƒก แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜ แƒคแƒแƒœแƒฏแƒแƒ แƒ แƒ’แƒแƒ˜แƒฎแƒกแƒœแƒ”แƒ‘แƒ... แƒ›แƒแƒ’แƒ แƒแƒ› แƒ“แƒแƒ”แƒšแƒแƒ“แƒ”แƒ— - แƒ›แƒ” แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ” แƒ”แƒš.แƒฌแƒ”แƒ แƒ˜แƒšแƒ˜:

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

แƒแƒฎแƒšแƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ— แƒ™แƒแƒœแƒกแƒแƒšแƒจแƒ˜ SendGridแƒ“แƒ แƒ“แƒแƒแƒญแƒ˜แƒ แƒ”แƒ— แƒฆแƒ˜แƒšแƒแƒ™แƒก แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ. แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ แƒแƒ แƒฎแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ‘แƒ แƒฃแƒœแƒแƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒ”แƒ™แƒ แƒแƒœแƒ˜:

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

แƒ”แƒกแƒ” แƒ˜แƒ’แƒ˜, แƒ‘แƒ˜แƒญแƒ”แƒ‘แƒ (แƒ“แƒ แƒ’แƒแƒ’แƒแƒ”แƒ‘แƒ, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ) - แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒแƒ แƒ—แƒšแƒแƒช แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ“แƒ แƒ”แƒšแƒ”แƒ’แƒแƒœแƒขแƒฃแƒ แƒ˜แƒ! แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜. แƒ—แƒฃ แƒ•แƒ˜แƒœแƒ›แƒ”แƒก แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒ แƒแƒ›แƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ, แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ”แƒ แƒ”แƒ—, แƒ แƒแƒ› แƒแƒ  แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒแƒ—.

4. แƒจแƒ”แƒ›แƒแƒฌแƒ˜แƒ แƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ˜

Yandex แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ