Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

ДнСс Ρ‰Π΅ създадСм Ρ‚.Π½Π°Ρ€. Yandex функция (ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½ΠΎ ΠΈΠΌΠ΅ ΠžΠ±Π»Π°Ρ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Yandex), ΠΊΠΎΠΉΡ‚ΠΎ сС Π΅ сговорил с пощСнската услуга SendGrid Ρ‰Π΅ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ β€žΡΠ°ΠΏΡƒΠ½β€œ Π½Π° спокойно спящи ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ (ΡˆΠ΅Π³ΡƒΠ²Π°ΠΌ сС - Π·Π½Π°ΠΌ, Ρ‡Π΅ всички смС ΠΏΡ€ΠΎΡ‚ΠΈΠ² спама).

Аз ΡΡŠΡ‰ΠΎ съм ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ (Π½ΠΎ Π±Π΅Π· Ρ„Π°Π½Π°Ρ‚ΠΈΠ·ΡŠΠΌ) Π½Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, ΠΈ ΠΏΡ€ΠΈΠ²ΡŠΡ€ΠΆΠ΅Π½ΠΈΠΊ Π½Π° Ρ‚.Π½Π°Ρ€. Π±Π΅Π· ΡΡŠΡ€Π²ΡŠΡ€ (Π±Π΅Π·ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ) Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½Π΅ ΠΎΠ±ΠΈΡ‡Π°ΠΌ (ΠΈ наистина Π½Π΅ Π·Π½Π°ΠΌ ΠΊΠ°ΠΊ Π΄Π°) администрирам ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈ ΠΎΡ‰Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΠ»Π°Ρ‰Π°ΠΌ Π·Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π΅ са Π·Π°Ρ€Π΅Π΄Π΅Π½ΠΈ. Π”Ρ€ΡƒΠ³ΠΎ Π½Π΅Ρ‰ΠΎ са Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅. Някой Π³ΠΈ обслуТва Π±Π΅Π· ΠΌΠ΅Π½, Π° Π°Π· ΠΏΠ»Π°Ρ‰Π°ΠΌ само Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ΠΈ. Π’ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° ΠΎΠΊΡ‚ΠΎΠΌΠ²Ρ€ΠΈ 2019 Π³. Yandex прСдстави своя ΠžΠ±Π»Π°Ρ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Yandex - ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π΅ ΠΏΡŠΡ€Π²ΠΈΡΡ‚ Π² Руската фСдСрация Π±Π΅Π· ΡΡŠΡ€Π²ΡŠΡ€. И Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ особСно Ρ…ΡƒΠ±Π°Π²ΠΎ Π΅, Ρ‡Π΅ Π·Π° умСнията Π½Π° Алис Ρ‚Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ са Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΎΡ‚Ρ‚ΠΎΠ³Π°Π²Π° са Π² ΠΌΠΎΠ΅Ρ‚ΠΎ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€Π½ΠΎ Π·Ρ€Π΅Π½ΠΈΠ΅. Но Π½Π΅ΠΊΠ° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Π²Π΅Ρ‡Π΅.

НСка си прСдставим Ρ‚ΠΎΠ·ΠΈ сцСнарий. Π’Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡƒΠΌΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Алис Π—Π°ΠΏΠΎΠΌΠ½ΠΈ ΠΈ Π·Π°Π±Ρ€Π°Π²ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ, ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, ΡΡŠΡ‰ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΡŠΡ€Ρ…Ρƒ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Yandex) ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π½Π° потрСбитСля Π΄Π° Π·Π°ΠΊΡƒΠΏΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ, ΠΈ потрСбитСлят ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΠ»Π°Ρ‰Π°Π½Π΅. Някакъв Π²ΠΈΠ΄ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½Π° систСма (ΠΎΠ±ΡŠΡ€ΠΊΠ²Π°Ρ‰ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° Yandex) ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΏΠ»Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ ΠΈ Π³ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π½Π° посочСния ΠΎΡ‚ вас адрСс (ΠΈ Π½ΠΈΠ΅ Ρ‰Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π²Ρ€ΡŠΠ·ΠΊΠ° Π·Π° ΠΎΠ±Π°ΠΆΠ΄Π°Π½Π΅ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Yandex) HTTP- заявка, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠ»Π°Ρ‰Π°Π½Π΅, ΠΊΠ°Ρ‚ΠΎ сума, Ρ‚Ρ€ΠΈΡ‚Π΅ ΠΈΠΌΠ΅Π½Π°, Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅Π½ Π½ΠΎΠΌΠ΅Ρ€ ΠΈ ΠΈΠΌΠ΅ΠΉΠ» Π½Π° ΠΏΠ»Π°Ρ‚Π΅Ρ†Π°. ИскамС Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ сумата, Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ подходящи записи Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΠΌ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ SMS ΠΈ ИмСйл с ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ инструкции. Π—Π½Π°Ρ‡ΠΈ сСбС си микроуслуга.

Π—Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ ΠΎΡ‚ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Yandex ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ записи Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Cloud Firestore Π²Π΅Ρ‡Π΅ Π³ΠΎ Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ Π² ΡƒΡ€ΠΎΠΊΠ° Алис ΠΏΠΎΠΌΠ½ΠΈ всичко (ΠΈ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅, мисля, Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Π΄Ρ€ΡƒΠ³Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ - Π‘Π°Π·Π° Π΄Π°Π½Π½ΠΈ Yandex). Π—Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚Π΅ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ SMS ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°ΠΉΡ‚Π΅ Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Yandex.Money β€” Ρ‰Π΅ Π³ΠΎ ΠΎΠΏΡ€Π°Π²ΠΈΠΌ Π² Π±Π»ΠΈΠ·ΠΊΠΎ Π±ΡŠΠ΄Π΅Ρ‰Π΅. Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° сС Π·Π°Π΅ΠΌΠ΅ΠΌ с ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° писма.

1. Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Π°ΠΊΠ°ΡƒΠ½Ρ‚ Π² SendGrid

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅SendGrid Π΅ просто моят ΠΈΠ·Π±ΠΎΡ€, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ… ΠΏΠΎΡ€Π°Π΄ΠΈ няколко ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ, ΠΊΠ°Ρ‚ΠΎ основната Π΅, Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚ Π³ΠΎΡ‚ΠΎΠ² SDK Π·Π° Node.js. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ всяка Π΄Ρ€ΡƒΠ³Π° пощСнска услуга.

МинавамС към страницата Π·Π° рСгистрация Π½Π° Π°ΠΊΠ°ΡƒΠ½Ρ‚Π° ΠΈ ΠΏΠΎΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ рСгистрационния формуляр Ρ‚Π°ΠΌ. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΎΡ‚ΠΈΠ²Π°ΠΌΠ΅ Π½Π° Π’Π°Π±Π»ΠΎ, Π² навигационния ΠΏΠ°Π½Π΅Π» ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ИмСйл API -> Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅, Π° Π½Π° основния ΠΏΠ°Π½Π΅Π» - Π£Π΅Π± API ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π±ΡƒΡ‚ΠΎΠ½Π° Π˜Π·Π±Π΅Ρ€Π΅Ρ‚Π΅. Всичко Π΅ ΠΊΠ°Ρ‚ΠΎ Π½Π° снимката:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

Π’ слСдващата ΡΡ‚ΡŠΠΏΠΊΠ° ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ Node.js:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° измислямС Π·Π° Π½Π°ΡˆΠΈΡ‚Π΅ API-ΠΈΠΌΠ΅ Π½Π° ΠΊΠ»ΡŽΡ‡ (Ρ‰Π΅ сС ΠΏΠΎΠΊΠ°Π·Π²Π° само Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° Π² списъка с ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ ΠΈ няма Π½ΠΈΡ‰ΠΎ ΠΎΠ±Ρ‰ΠΎ с Π±ΡŠΠ΄Π΅Ρ‰ΠΈΡ Π½ΠΈ ΠΊΠΎΠ΄; Ρ‚ΠΎΠΊΡƒ-Ρ‰ΠΎ измислих Π½Π΅ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π΅Π½ Π΄Π΅ΠΌΠΎ-api-ΠΊΠ»ΡŽΡ‡) ΠΈ натиснСтС Π±ΡƒΡ‚ΠΎΠ½Π° БъздаванС Π½Π° ΠΊΠ»ΡŽΡ‡:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

ΠšΠ»ΡŽΡ‡ΡŠΡ‚ Ρ‰Π΅ бъдС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½, Π½ΠΈΠ΅ Ρ‰Π΅ Π³ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°ΠΌΠ΅ ΠΈ Ρ‰Π΅ Π³ΠΎ ΠΏΠ°Π·ΠΈΠΌ Π² Π½Π°ΠΉ-голяма Ρ‚Π°ΠΉΠ½Π°. И Ρ‰Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π΅ΠΊΡ€Π°Π½ с Π±ΡƒΡ‚ΠΎΠ½ ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ интСграцията, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ Π½Π° снимката ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ, Π½ΠΎ всС ΠΎΡ‰Π΅ няма Π΄Π° Ρ‰Ρ€Π°ΠΊΠ²Π°ΠΌΠ΅ Π²ΡŠΡ€Ρ…Ρƒ Π½Π΅Π³ΠΎ, Π° Π½Π΅ΠΊΠ° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към писанС Π½Π° ΠΊΠΎΠ΄Π°:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

2. ПисанС на код

Но самият ΠΊΠΎΠ΄, ΠΊΠ°ΠΊΡ‚ΠΎ Π²ΠΈΠΆΠ΄Π°Ρ‚Π΅, Π΅ смСшно малък - 22 Ρ€Π΅Π΄Π°!

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

Π’ Ρ€Π΅Π΄ΠΈΡ†Π° #8 ΠœΠΎΡΡ‚ ΠΈΠΌΠ΅ΠΉΠ» Π΅ Ρ‚Π²ΡŠΡ€Π΄ΠΎ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½ (ΠΈ слСдоватСлно ΠΏΠ»Π°Ρ…ΠΎ скрит) - моля, посочСтС своя. Π’ рСалния ΠΆΠΈΠ²ΠΎΡ‚ Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ всички Π΄Π°Π½Π½ΠΈ (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Π° ΠΏΠΎΡ‰Π°) ΠΎΡ‚ ΠΎΠ±Π΅ΠΊΡ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅. НапримСр, Π°ΠΊΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ ПУБНИ към Π½Π°ΡˆΠ°Ρ‚Π° функция сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ΠΎΠ±Π΅ΠΊΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» с ΠΏΠΎΠ»Π΅ (ΠΈΠΌΠΎΡ‚) Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Π° ΠΏΠΎΡ‰Π°, стойността Π½Π° Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

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

И Π°ΠΊΠΎ ΠΈΠΌΠ΅ΠΉΠ» Π°Π΄Ρ€Π΅ΡΡŠΡ‚ сС ΠΏΡ€Π΅Π΄Π°Π²Π° Π½Π° функцията с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° GET, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: 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/ΠΏΠΎΡ‰Π°. Найлонов ΠΏΠ»ΠΈΠΊ ΠΈΠΌΠ΅ΠΉΠ»-Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ провСрява ΠΈΠΌΠ΅ΠΉΠ» адрСса Π·Π° валидност (ΠΊΠ°ΠΊ Π½Π΅ сС досСтих Π²Π΅Π΄Π½Π°Π³Π°?), Π½ΠΎ Π°ΠΊΠΎ смС сигурни Π² Π½Π΅Π³ΠΎ (Π²Π΅Ρ‡Π΅ Π΅ провСряван ΠΎΡ‚Π΄Π°Π²Π½Π° Π±Π΅Π· нас), Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° Π³ΠΎ инсталирамС (ΠΈ, Π½Π° Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° Π³ΠΎ провСрявамС Π² ΠΊΠΎΠ΄Π°). Найлонов ΠΏΠ»ΠΈΠΊ dotenv ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° записи ΠΎΡ‚ Ρ„Π°ΠΉΠ» .env ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС. Но Π² Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Yandex Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° поставитС Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² срСдата Π·Π° изпълнСниС. ΠΊΠ°ΠΊ? - Π©Π΅ Π³ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ° ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ dotenv ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π΄Π° Π½Π΅ Π³ΠΎ инсталиратС ΠΈ Ρ„Π°ΠΉΠ»Π° .env - Π½Π΅ ΡΡŠΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅, Π° Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΊΠΎΠ΄ΡŠΡ‚ Π΅ във Ρ„Π°ΠΉΠ»Π° index.js Π½Π΅ сС промСнят. Но Ρ‚ΡƒΠΊ смС инсталирали Ρ‚ΠΎΠ·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ създавамС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ index.js ΠΈ .env:

touch index.js
touch .env

Π’ΡŠΠ² Ρ„Π°ΠΉΠ»Π° index.js Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ 22 Ρ€Π΅Π΄Π° ΠΊΠΎΠ΄, ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° Π΅ΠΊΡ€Π°Π½Π½Π°Ρ‚Π° снимка ΠΏΠΎ-Π³ΠΎΡ€Π΅ (само Π² Ρ€Π΅Π΄Π° #8 ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚Π΅ своя ΠΈΠΌΠ΅ΠΉΠ») ΠΈ във Ρ„Π°ΠΉΠ»Π° .env - (Π±Π΅Π· ΠΊΠ°Π²ΠΈΡ‡ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΏΠΈΠ½Π°Ρ‚Π΅Π»Π½ΠΈ Π·Π½Π°Ρ†ΠΈ) посочСтС Π΄Π²ΠΎΠΉΠΊΠ°Ρ‚Π° - ΠΈΠΌΠ΅ Π½Π° ΠΊΠ»ΡŽΡ‡/стойност 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 смяна Π½Π° ΠΈΠΌΠ΅ΠΉΠ»; ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» Π² основната дирСктория .env, Π° Π² Π½Π΅Π³ΠΎ посочСтС ΠΈΠΌΠ΅Ρ‚ΠΎ/стойността Π½Π° ΠΊΠ»ΡŽΡ‡Π° API, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΎ-Π³ΠΎΡ€Π΅.

3. Π Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Ρ‚Π΅

ΠŸΠΎΠ²Π΅Ρ‡Π΅ ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ясно ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π·Π° Yandex.Cloud ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ поставим Ρ‚Π°ΠΌ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Yandex описан Π² статията ΠΌΠΈ Алиса Π² страната Π½Π° Битрикс - Π˜Π·ΠΏΡ€Π°Ρ‰Π°ΠΌ Π½Π΅Π²Π΅ΠΆΠΈΡ‚Π΅ Π² Ρ‚Π°Π·ΠΈ страна, Π° Π·Π° всички останали (ΠΈ Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС Π²ΡŠΡ€Π½Π°Ρ…Π°) - Ρ‚ΠΎΠ³Π°Π²Π° малък комикс (Ρ‚.Π΅. ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ снимки ΠΈ тСкст).

Π‘ΡŠΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ†ΠΈΠΏ-Π°Ρ€Ρ…ΠΈΠ² (Π΄Π° Π³ΠΎ Π½Π°Ρ€Π΅Ρ‡Π΅ΠΌ Π½Π°ΠΏΡ€. mailer.zip), Π² ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ дирСкторията ΠΌΠΎΠ΄ΡƒΠ»ΠΈ_възСл ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ .env, index.js - всичко ΠΎΡ‚ нашия ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

БъздавамС функция с ΠΈΠΌΠ΅Ρ‚ΠΎ... ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ - ΠΏΠΎΠ΄Π°Ρ‚Π΅Π», Π² лявото Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ мСню Π²Π»ΠΈΠ·Π°ΠΌΠ΅ Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΏΠΎΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π΅Ρ‚Π° ΠΈ ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ към Ρ€Π°Π·Π΄Π΅Π»Π° ZIP Π°Ρ€Ρ…ΠΈΠ² ΠΈΠ·Ρ‚Π΅Π³Π»Π΅Ρ‚Π΅ нашия Π°Ρ€Ρ…ΠΈΠ² mailer.zip:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

И Ρ‚ΡƒΠΊ Π΅ спомСнатата ΠΏΠΎ-Π³ΠΎΡ€Π΅ опция Π·Π° изтСглянС API ΠΊΠ»ΡŽΡ‡ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Ρ‚ΡƒΠΊ, вмСсто Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ» Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° .env, ΠΈ Π½Π΅ инсталирайтС ΠΏΠ°ΠΊΠ΅Ρ‚Π° dotenv. Но Π²Π΅Ρ‡Π΅ смС Π½Π°ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ всичко Ρ‚ΠΎΠ²Π°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π³ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΌ само Π·Π° информация. ВоСст няма Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Π΄ΡƒΠ±Π»ΠΈΡ€Π°Π½Π΅!

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

Π‘Π΅Π³Π° Π² горния дСсСн ъгъл Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ Π±ΡƒΡ‚ΠΎΠ½Π° БъздаванС Π½Π° вСрсияи ΠΈΠ·Ρ‡Π°ΠΊΠ°ΠΉΡ‚Π΅ няколко сСкунди. ΠšΠΎΠ³Π°Ρ‚ΠΎ всичко Π΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Ρ‰Π΅ ΠΎΡ‚ΠΈΠ΄Π΅ΠΌ Π² сСкцията ΠŸΡ€Π΅Π³Π»Π΅Π΄. Π’Π°ΠΌ Ρ‰Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅ опцията общСствСна функциятака Ρ‡Π΅ Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° взаимодСйстватС с Π½Π΅Π³ΠΎ ΠΎΡ‚ външния свят.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

Π’ΠΈΠΆΠ΄Π°Ρ‚Π΅ синята Π²Ρ€ΡŠΠ·ΠΊΠ° срСщу надписа Π›ΠΈΠ½ΠΊ Π·Π° ΠΎΠ±Π°ΠΆΠ΄Π°Π½Π΅? ΠšΠ»ΠΈΠΊΠ½Π΅Ρ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ Π½Π΅Π³ΠΎ. Π©Π΅ сС ΠΎΡ‚Π²ΠΎΡ€ΠΈ ΠΏΡ€Π°Π·Π΅Π½ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π½Π° Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π°... Но ΠΈΠ·Ρ‡Π°ΠΊΠ°ΠΉΡ‚Π΅ - ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ… ΠΈΠΌΠ΅ΠΉΠ»:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ към ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° SendGrid, ΠΈ натиснСтС Π±ΡƒΡ‚ΠΎΠ½Π° ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ интСграцията. БистСмата Ρ‰Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ всичко ΠΏΠΎ своитС ΠΊΠ°Π½Π°Π»ΠΈ ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° трябва Π΄Π° Π²ΡŠΡ€Π½Π΅ Π΅ΠΊΡ€Π°Π½ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ·ΠΈ:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

Π’ΠΎΠ²Π° Π΅ всичко, ΠΌΠΎΠΌΡ‡Π΅Ρ‚Π° (ΠΈ ΠΌΠΎΠΌΠΈΡ‡Π΅Ρ‚Π°, Ρ€Π°Π·Π±ΠΈΡ€Π° сС) - всичко Π΅ наистина ΠΌΠ½ΠΎΠ³ΠΎ просто ΠΈ Π΅Π»Π΅Π³Π°Π½Ρ‚Π½ΠΎ! Π©Π΅ ΠΈΠΌΠ° ΠΎΡ‰Π΅ статии. Ако някой ΠΈΠΌΠ° интСрСс Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅ Π½Π΅Ρ‰ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ, Π½Π΅ΠΊΠ° сС Π°Π±ΠΎΠ½ΠΈΡ€Π°, Π·Π° Π΄Π° Π½Π΅ пропуснСтС.

4. ДарСния

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎΡ‰Π°

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€