Fungsi Yandex ngirim email

Fungsi Yandex ngirim email

Dina iki kita bakal nggawe sing disebut. Fungsi Yandex (jeneng resmi Fungsi Yandex Cloud), sing colluded karo layanan mailing SendGrid bakal ngirim "sabun" menyang pangguna sing turu kanthi tentrem (mung guyon - aku ngerti yen kita kabeh nglawan spam).

Aku uga mungsuh (nanging tanpa fanatisme) saka server tradisional, lan panyengkuyung saka supaya disebut-. serverless (serverless) solusi, amarga aku ora seneng (lan aku ora ngerti carane) ngatur server, lan malah luwih, mbayar wektu nalika lagi ora dimuat. Liyane iku fungsi. Ana sing nglayani tanpa aku, lan aku mung mbayar telpon. Ing awal Oktober 2019, Yandex nampilake Fungsi Yandex Cloud - misale jek dadi pisanan ing Federasi Rusia serverless. Lan sing paling apik yaiku kanggo katrampilan Alice sing umume gratis, mula dheweke wis ana ing visi periferalku. Nanging ayo padha miwiti.

Ayo mbayangno skenario iki. Aplikasi sampeyan (contone, skill Alice Eling lan Lali kang, dening cara, uga dianggo ing Fungsi Yandex) ngajak pangguna tuku produk digital, contone, opsi tambahan, lan pangguna nggawe pembayaran. Sawetara jinis sistem pembayaran (bingung padha karo Yandex.Money) pangolahan pembayaran lan dikirim menyang alamat sing nyedhiyani (lan kita bakal duwe link kanggo nelpon Fungsi Yandex) HTTP- panjalukan sing ngemot rincian pembayaran, kayata jumlah, jeneng lengkap, nomer telpon lan email sing mbayar. Kita pengin ngolah data iki kanthi cara, contone: mriksa jumlahe, nggawe entri sing cocog ing basis data, kirim menyang pangguna SMS ΠΈ email karo konfirmasi panrimo pembayaran lan instruksi luwih. Dadi dhewe layanan mikro.

Babagan carane saka Fungsi Yandex nggawe entri ing database Cloud Firestore kita wis katon ing tutorial Alice ngelingi kabeh (lan ing mangsa ngarep, aku mikir, kita bakal nimbang conto kanggo database liyane - Database Yandex). Babagan carane ngirim menyang pangguna SMS lan nggabungake aplikasi kita karo Yandex.Dhuwit - kita bakal ngurutake ing mangsa ngarep. Saiki ayo urusan ngirim layang.

1. Nggawe akun ing SendGrid

komentarSendGrid mung pilihanku, sing digawe kanggo sawetara alasan, sing utama yaiku duwe SDK sing wis siap kanggo Node.js. Sampeyan bisa milih layanan surat liyane.

Ayo nerusake menyang kaca registrasi akun lan isi formulir registrasi ing kono. Banjur kita menyang Dashboard, ing panel navigasi pilih Email API -> Panduan Integrasi, lan ing panel utama - API Web lan klik ing kene Pilih. Kabeh kaya ing gambar:

Fungsi Yandex ngirim email

Ing langkah sabanjure kita milih Node.js:

Fungsi Yandex ngirim email

Sabanjure kita teka kanggo kita API-jeneng kunci (bakal ditampilake mung ing console ing dhaptar tombol, lan ora ana hubungane karo kode mangsa kita; Aku mung teka karo imperishable demo-api-key) banjur pencet tombol kasebut Nggawe Key:

Fungsi Yandex ngirim email

Tombol bakal digawe, kita bakal nyalin lan tetep ing kapercayan paling jero. Lan kita bakal duwe layar kanthi tombol Verifikasi Integrasi, kaya ing gambar ing ngisor iki, nanging kita ora bakal ngeklik, nanging ayo nerusake nulis kode kasebut:

Fungsi Yandex ngirim email

2. Nulis kode

Nanging kode dhewe, minangka sampeyan bisa ndeleng, ridiculously cilik - 22 baris!

Fungsi Yandex ngirim email

Ing baris #8 Emailku wis hardcoded (lan mulane didhelikake isin) - tuduhake email sampeyan. Ing urip nyata, kita bakal nampa kabeh data (kalebu email) saka obyek acara. Contone, yen cara POST obyek dikirim menyang fungsi kita user karo lapangan (properti) email, nilai lapangan iki bisa dipikolehi kaya iki:

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

Lan yen alamat email liwati menyang fungsi nggunakake cara Njaluk, contone: https://functions.yandexcloud.net/123abc?[email protected]
nilai parameter email sampeyan bisa njaluk kaya iki:

const email = event.queryStringParameters.email;

Kanggo ndeleng apa persis sing ana ing obyek acara, sampeyan bisa nggawe sing paling gampang Fungsi Yandex lan twist karo pitakon:

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

Iki dibahas kanthi luwih rinci (nanging kurang jelas) ing dokumentasi resmi kene.

Dadi, gawe direktori proyek (contone, tukang layang), pindhah menyang, miwiti proyek, nginstal dependensi:

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

Ing kene mung paket sing dibutuhake @sendgrid/mail. Kantong plastik email-validator mriksa alamat email kanggo validitas (carane aku ora guess langsung?), Nanging yen kita yakin (wis wis dicenthang kanggo dangu tanpa kita), kita ora kudu nginstal (lan, saka mesthi, kita ora kudu mriksa ing kode). Kantong plastik dotenv dirancang kanggo maca cathetan saka file .NS minangka variabel runtime. Nanging ing Fungsi Yandex Sampeyan bisa nyelehake variabel kasebut langsung menyang lingkungan runtime. kepriye? - Aku bakal nuduhake ing ngisor iki. Mulane paket dotenv sampeyan uga ora bisa nginstal, lan file .NS - ora nggawe, lan ing wektu sing padha kode ing file indeks.js ora owah. Nanging ing kene kita wis nginstal paket iki, mula kita nggawe file indeks.js ΠΈ .NS:

touch index.js
touch .env

Ing file indeks.js tulis 22 baris kode sing ditampilake ing gambar ing ndhuwur (mung ing baris #8 ngganti email sampeyan), lan ing file .NS - (tanpa kuotasi utawa tandha waca) nemtokake pasangan - jeneng/nilai kunci APIsing bubar ditampa ing console SendGrid:
SENDGRID_API_KEY=jasa-rahasia-sendgrid-api-key

Lan yen sampeyan pengin kurang karya, clone repositori lan nginstal paket:

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

Ing file indeks.js, ing baris #8 ngganti email; nggawe file ing direktori root .NS, lan ing kono nuduhake jeneng / nilai tombol API, kaya sing dituduhake ing ndhuwur.

3. Nyebar

Luwih utawa kurang cetha lan rinci babagan Yandex.Cloud lan carane sijine iku ana Fungsi Yandex diterangake ing artikelku Alice ing tanah Bitrix - Aku ngirim bodho kanggo negara iki, lan kanggo wong liya (lan sing bali) - banjur buku komik cilik (i.e. seri gambar lan teks).

Kita nggawe zip-archive (ayo sebut wae, contone, mailer.zip), ing ngendi kita kalebu direktori simpul lan file .env, index.js - kabeh saka katalog proyek kita:

Fungsi Yandex ngirim email

Kita nggawe fungsi kanthi jeneng ... kanthi bener - tukang layang, ing menu pandhu arah kiwa kita ketik Ing editor, isi kolom sing dibutuhake, banjur pindhah menyang tab arsip ZIP download arsip kita mailer.zip:

Fungsi Yandex ngirim email

Lan ing ngisor iki pilihan sing wis kasebut sadurunge kanggo download kunci API langsung kene, tinimbang nggawe file ing project .NS, lan aja nginstal paket kasebut dotenv. Nanging kita wis nindakake kabeh iki, mula aku nuduhake mung kanggo informasi. Tegese, ora perlu duplikat!

Fungsi Yandex ngirim email

Saiki ing pojok tengen ndhuwur klik tombol Nggawe Versi, lan ngenteni sawetara detik. Nalika kabeh wis siyap, kita bakal kanthi otomatis pindhah menyang bagean Ringkesan. Ing kana kita bakal ngaktifake pilihan kasebut fungsi umumsupaya sampeyan bisa sesambungan karo donya njaba.

Fungsi Yandex ngirim email

Sampeyan ndeleng link biru ngelawan prasasti Link kanggo nelpon? Klik iku. Jendhela browser kosong bakal mbukak ... Nanging ngenteni - aku nampa email:

Fungsi Yandex ngirim email

Saiki sampeyan bisa bali menyang console SendGrid, banjur pencet tombol Verifikasi Integrasi. Sistem bakal mriksa kabeh liwat saluran, lan minangka asil kudu bali layar kaya iki:

Fungsi Yandex ngirim email

Mekaten, wong lanang (lan bocah-bocah wadon, mesthi) - kabeh pancen prasaja lan elegan! Bakal ana luwih akeh artikel. Yen ana sing kasengsem maca kaya iki, langganan supaya ora ketinggalan.

4. Sumbangan

Fungsi Yandex ngirim email

Source: www.habr.com

Add a comment