Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ ΠΏΠΎΡˆΡ‚Π°

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ ΠΏΠΎΡˆΡ‚Π°

ДСнСс ќС создадСмС Ρ‚.Π½. Π€ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Yandex (ΠΎΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½ΠΎ ΠΈΠΌΠ΅ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ΠΎΠ±Π»Π°ΠΊΠΎΡ‚ Yandex), кој Π΄ΠΎΠ³ΠΎΠ²Π°Ρ€Π°Π» со услугата Π·Π° ΠΏΠΎΡˆΡ‚Π° SendGrid ќС испрати β€žΡΠ°ΠΏΡƒΠ½β€œ Π΄ΠΎ ΠΌΠΈΡ€Π½ΠΎ заспанитС корисници (само сС ΡˆΠ΅Π³ΡƒΠ²Π°ΠΌ - Π·Π½Π°ΠΌ Π΄Π΅ΠΊΠ° ситС смС ΠΏΡ€ΠΎΡ‚ΠΈΠ² спам).

И јас сум ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ (Π½ΠΎ Π±Π΅Π· Ρ„Π°Π½Π°Ρ‚ΠΈΠ·Π°ΠΌ) Π½Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΡ‚Π΅ сСрвСри, ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°Ρ‡ Π½Π° Ρ‚.Π½. Π±Π΅Π· сСрвСрот (Π±Π΅Π· сСрвСр) Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π°, бидСјќи Π½Π΅ ΠΌΠΈ сС Π΄ΠΎΠΏΠ°Ρ“Π° (ΠΈ навистина Π½Π΅ Π·Π½Π°ΠΌ ΠΊΠ°ΠΊΠΎ Π΄Π°) администрирам сСрвСри, Π° ΡƒΡˆΡ‚Π΅ повСќС, плаќам Π·Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΊΠΎΠ³Π° Ρ‚ΠΈΠ΅ Π½Π΅ сС Π²Ρ‡ΠΈΡ‚Π°Π½ΠΈ. Π”Ρ€ΡƒΠ³Π° Ρ€Π°Π±ΠΎΡ‚Π° сС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅. НСкој Π³ΠΈ сСрвисира Π±Π΅Π· ΠΌΠ΅Π½Π΅, Π° јас плаќам само ΠΏΠΎΠ²ΠΈΡ†ΠΈ. На ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚ Π½Π° ΠΎΠΊΡ‚ΠΎΠΌΠ²Ρ€ΠΈ 2019 Π³ΠΎΠ΄ΠΈΠ½Π°, Yandex Π³ΠΎ прСтстави ΡΠ²ΠΎΡ˜ΠΎΡ‚ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ΠΎΠ±Π»Π°ΠΊΠΎΡ‚ Yandex - сС Ρ‡ΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° Π΅ ΠΏΡ€Π² Π²ΠΎ Руската Π€Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΡ˜Π° Π±Π΅Π· сСрвСрот. И ΠΎΠ½Π° ΡˆΡ‚ΠΎ Π΅ особСно ΡƒΠ±Π°Π²ΠΎ Π΅ ΡˆΡ‚ΠΎ Π·Π° Π²Π΅ΡˆΡ‚ΠΈΠ½ΠΈΡ‚Π΅ Π½Π° Алис Ρ‚ΠΈΠ΅ сС Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ слободни, ΠΏΠ° ΠΎΡ‚Ρ‚ΠΎΠ³Π°Ρˆ сС Π²ΠΎ ΠΌΠΎΡ˜Π°Ρ‚Π° ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€Π½Π° визија. Но, ајдС Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅ вСќС.

АјдС Π΄Π° Π³ΠΎ замислимС ΠΎΠ²Π° сцСнарио. Π’Π°ΡˆΠ°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π΅ΡˆΡ‚ΠΈΠ½Π°Ρ‚Π° Π½Π° Алис Π—Π°ΠΏΠΎΠΌΠ½ΠΈ ΠΈ Π—Π°Π±ΠΎΡ€Π°Π²ΠΈ Π½Π° ΡˆΡ‚ΠΎ, ΠΏΠ°Ρ‚Π΅ΠΌ, ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Yandex) Π³ΠΎ ΠΏΠΎΠΊΠ°Π½ΡƒΠ²Π° корисникот Π΄Π° ΠΊΡƒΠΏΠΈ Π΄ΠΈΠ³ΠΈΡ‚Π°Π»Π΅Π½ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ, Π° корисникот Π²Ρ€ΡˆΠΈ плаќањС. НСкој Π²ΠΈΠ΄ Π½Π° ΠΏΠ»Π°Ρ‚Π΅Π½ систСм (Π·Π±ΡƒΠ½ΡƒΠ²Π°Ρ‡ΠΊΠΈ сличСн Π½Π° Yandex.Money) ја ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° исплатата ΠΈ ја ΠΈΡΠΏΡ€Π°ΡœΠ° Π½Π° адрСсата ΡˆΡ‚ΠΎ ја Π΄Π°Π²Π°Ρ‚Π΅ (ΠΈ Π½ΠΈΠ΅ ќС ΠΈΠΌΠ°ΠΌΠ΅ врска Π΄ΠΎ ΠΏΠΎΠ²ΠΈΠΊ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Yandex) HTTP-Побавка ΡˆΡ‚ΠΎ содрТи Π΄Π΅Ρ‚Π°Π»ΠΈ Π·Π° плаќањС, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС износот, цСлосното ΠΈΠΌΠ΅, тСлСфонскиот Π±Ρ€ΠΎΡ˜ ΠΈ Π΅ -ΠΏΠΎΡˆΡ‚Π°Ρ‚Π° Π½Π° ΠΏΠ»Π°ΡœΠ°Ρ‡ΠΎΡ‚. НиС сакамС Π΄Π° Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π°ΠΌΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π° нСкој Π½Π°Ρ‡ΠΈΠ½, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ ја ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π°, Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ соодвСтни записи Π²ΠΎ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, испратСтС ΠΈΠΌ Π½Π° корисницитС БМБ ΠΈ Π•-ΠΏΠΎΡˆΡ‚Π° со ΠΏΠΎΡ‚Π²Ρ€Π΄Π° Π·Π° ΠΏΡ€ΠΈΠ΅ΠΌΠΎΡ‚ Π½Π° плаќањС ΠΈ ΠΏΠΎΠ½Π°Ρ‚Π°ΠΌΠΎΡˆΠ½ΠΈ упатства. Π—Π½Π°Ρ‡ΠΈ сСбС си микросСрвис.

Π—Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ ΠΎΠ΄ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Yandex Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ записи Π²ΠΎ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Облак-ΠΎΠ³Π½ΠΎΠΎΡ‚ΠΏΠΎΡ€Π½ΠΈΡ†Π° вСќС Π³ΠΎ Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π²ΠΌΠ΅ Π²ΠΎ упатството Алис сС сСќава Π½Π° сè (И Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π°, мислам, ќС Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Π΄Ρ€ΡƒΠ³Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ - Π‘Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π° Yandex). Π—Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ Π΄Π° сС испрати Π΄ΠΎ корисницитС БМБ ΠΈ Π΄Π° ја ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°ΠΌΠ΅ Π½Π°ΡˆΠ°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со Yandex.Money - ќС Π³ΠΎ срСдимС Π²ΠΎ блиска ΠΈΠ΄Π½ΠΈΠ½Π°. Π‘Π΅Π³Π° Π΄Π° сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅ само со ΠΈΡΠΏΡ€Π°ΡœΠ°ΡšΠ΅ писма.

1. НаправСтС смСтка Π²ΠΎ SendGrid

Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ Π½Π° ΡƒΠΌSendGrid Π΅ само ΠΌΠΎΡ˜ΠΎΡ‚ ΠΈΠ·Π±ΠΎΡ€, кој Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠ² ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ, Π° Π³Π»Π°Π²Π½Π°Ρ‚Π° Π΅ ΡˆΡ‚ΠΎ ΠΈΠΌΠ°Π°Ρ‚ Π³ΠΎΡ‚ΠΎΠ² SDK Π·Π° Node.js. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ која Π±ΠΈΠ»ΠΎ Π΄Ρ€ΡƒΠ³Π° услуга Π·Π° ΠΏΠΎΡˆΡ‚Π°.

АјдС Π΄Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌΠ΅ Π½Π° страницата Π·Π° Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡ˜Π° Π½Π° смСтката ΠΈ ΠΏΠΎΠΏΠΎΠ»Π½Π΅Ρ‚Π΅ Π³ΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°Ρ€ΠΎΡ‚ Π·Π° Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡ˜Π° Ρ‚Π°ΠΌΡƒ. ΠŸΠΎΡ‚ΠΎΠ° ΠΎΠ΄ΠΈΠΌΠ΅ Π½Π° ΠŸΡ€ΠΎΡ„ΠΈΠ», Π²ΠΎ ΠΏΠ°Π½Π΅Π»ΠΎΡ‚ Π·Π° Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡ˜Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ API Π·Π° Π΅-ΠΏΠΎΡˆΡ‚Π° -> Π’ΠΎΠ΄ΠΈΡ‡ Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π°, ΠΈ Π½Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ ΠΏΠ°Π½Π΅Π» - Π’Π΅Π±-API ΠΈ притиснСтС Π³ΠΎ ΠΊΠΎΠΏΡ‡Π΅Ρ‚ΠΎ Π˜Π·Π±Π΅Ρ€ΠΈ. Π‘Π΅ Π΅ ΠΊΠ°ΠΊΠΎ Π½Π° сликата:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ ΠΏΠΎΡˆΡ‚Π°

Π’ΠΎ слСдниот Ρ‡Π΅ΠΊΠΎΡ€ ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ Node.js:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ ΠΏΠΎΡˆΡ‚Π°

Π‘Π»Π΅Π΄Π½ΠΎ Π΄ΠΎΠ°Ρ“Π°ΠΌΠ΅ со Π·Π° Π½Π°ΡˆΠΈΡ‚Π΅ API-ΠΈΠΌΠ΅ Π½Π° ΠΊΠ»ΡƒΡ‡ΠΎΡ‚ (ќС сС ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π° само Π²ΠΎ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° Π²ΠΎ списокот со ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ ΠΈ Π½Π΅ΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²Π° врска со Π½Π°ΡˆΠΈΠΎΡ‚ ΠΈΠ΄Π΅Π½ ΠΊΠΎΠ΄; само ΡˆΡ‚ΠΎ дојдов Π΄ΠΎ Π½Π΅ΠΏΡ€ΠΎΠΏΠ°Π΄Π»ΠΈΠ² Π΄Π΅ΠΌΠΎ-Π°ΠΏΠΈ-ΠΊΠ»ΡƒΡ‡) ΠΈ притиснСтС Π³ΠΎ ΠΊΠΎΠΏΡ‡Π΅Ρ‚ΠΎ ΠšΡ€Π΅ΠΈΡ€Π°Ρ˜ ΠΊΠ»ΡƒΡ‡:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ ΠΏΠΎΡˆΡ‚Π°

ΠšΠ»ΡƒΡ‡ΠΎΡ‚ ќС сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°, ќС Π³ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°ΠΌΠ΅ ΠΈ ќС Π³ΠΎ Ρ‡ΡƒΠ²Π°ΠΌΠ΅ Π²ΠΎ најдлабока Π΄ΠΎΠ²Π΅Ρ€Π±Π°. И ќС ΠΈΠΌΠ°ΠΌΠ΅ Π΅ΠΊΡ€Π°Π½ со ΠΊΠΎΠΏΡ‡Π΅ ΠŸΠΎΡ‚Π²Ρ€Π΄Π΅Ρ‚Π΅ ја ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°, ΠΊΠ°ΠΊΠΎ Π½Π° сликата ΠΏΠΎΠ΄ΠΎΠ»Ρƒ, Π½ΠΎ сè ΡƒΡˆΡ‚Π΅ Π½Π΅ΠΌΠ° Π΄Π° ΠΊΠ»ΠΈΠΊΠ½Π΅ΠΌΠ΅, Π½ΠΎ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌΠ΅ Π½Π° ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ ΠΏΠΎΡˆΡ‚Π°

2. ΠŸΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΊΠΎΠ΄

Но, самиот ΠΊΠΎΠ΄, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π΅ смСшно ΠΌΠ°Π» - 22 Ρ€Π΅Π΄Π°!

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Yandex ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ ΠΏΠΎΡˆΡ‚Π°

Π’ΠΎ линија #8 ΠœΠΎΡ˜Π°Ρ‚Π° Π΅-ΠΏΠΎΡˆΡ‚Π° Π΅ Ρ…Π°Ρ€Π΄ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π° (ΠΈ Π·Π°Ρ‚ΠΎΠ° Π΅ срамСТливо скриСна) - Π²Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ ја Π²Π°ΡˆΠ°Ρ‚Π°. Π’ΠΎ Ρ€Π΅Π°Π»Π½ΠΈΠΎΡ‚ ΠΆΠΈΠ²ΠΎΡ‚, ќС Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ ситС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ (Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ Π΅-ΠΌΠ°ΠΈΠ») ΠΎΠ΄ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΎΡ‚ настанот. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΡ‚ ПОБВ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ сС ΠΈΡΠΏΡ€Π°ΡœΠ° Π΄ΠΎ Π½Π°ΡˆΠ°Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° корисникот со ΠΏΠΎΠ»Π΅ (сопствСност) Π΅-ΠΌΠ°ΠΈΠ», врСдноста Π½Π° ΠΎΠ²Π° ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π΄ΠΎΠ±ΠΈΠ΅ Π²Π°ΠΊΠ°:

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 МоТно Π΅ Π΄Π° сС постават ΠΎΠ²ΠΈΠ΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° Π·Π° Ρ‚Ρ€Π°Π΅ΡšΠ΅. Како? - ЌС Π³ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ°ΠΌ ΠΏΠΎΠ΄ΠΎΠ»Ρƒ. Π—Π°Ρ‚ΠΎΠ° ΠΏΠ°ΠΊΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π΄ΠΎΡ‚Π΅Π½Π² исто Ρ‚Π°ΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ инсталиратС, Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° .Н.Π‘ - Π½Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅, Π° Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅ ΠΊΠΎΠ΄ΠΎΡ‚ Π΅ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° индСкс.js Π½Π΅ ΠΌΠ΅Π½ΡƒΠ²Π°Ρ˜. Но, ΠΎΠ²Π΄Π΅ Π³ΠΎ инсталиравмС овој ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΏΠ° создавамС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ индСкс.js ΠΈ .Н.Π‘:

touch index.js
touch .env

Π’ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° индСкс.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

Π’ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° индСкс.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

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€