Panduan Menggunakan SparkPost dengan Node.js

Sebagai Pengacara Pengembang untuk SparkPost, saya menulis banyak aplikasi contoh. Latar belakang saya sebagian besar adalah pengembangan front-end, sehingga bahasa terkuat saya adalah JavaScript. Berkat Node.js, saya juga menjadi pengembang backend yang cukup baik. Apakah ini berarti saya sekarang adalah pengembang full stack?

Author

Burung

Kategori

Email

Panduan Menggunakan SparkPost dengan Node.js

Sebagai Pengacara Pengembang untuk SparkPost, saya menulis banyak aplikasi contoh. Latar belakang saya sebagian besar adalah pengembangan front-end, sehingga bahasa terkuat saya adalah JavaScript. Berkat Node.js, saya juga menjadi pengembang backend yang cukup baik. Apakah ini berarti saya sekarang adalah pengembang full stack?

Author

Burung

Kategori

Email

Panduan Menggunakan SparkPost dengan Node.js

Sebagai Pengacara Pengembang untuk SparkPost, saya menulis banyak aplikasi contoh. Latar belakang saya sebagian besar adalah pengembangan front-end, sehingga bahasa terkuat saya adalah JavaScript. Berkat Node.js, saya juga menjadi pengembang backend yang cukup baik. Apakah ini berarti saya sekarang adalah pengembang full stack?

Author

Burung

Kategori

Email

Pengantar Node.js

Sebagai Developer Advocate untuk SparkPost, saya banyak menulis aplikasi contoh. Latar belakang saya sebagian besar adalah pengembangan front-end, jadi bahasa terkuat saya adalah JavaScript. Berkat Node.js, saya juga menjadi pengembang backend yang cukup baik. Apakah ini berarti saya sekarang adalah pengembang full stack? Bagaimanapun, penting bagi saya bahwa kami memiliki pustaka klien SparkPost yang luar biasa untuk Node.js. Jadi, saya langsung terjun dan menjadi kontributor (bahkan sebelum saya dipekerjakan).

Izinkan saya membantu Anda memulai mengirim email dengan SparkPost di proyek Node.js Anda.


Instalasi & Pengaturan

Saya akan menganggap bahwa Anda telah menginstal Node.js. Karena kami mengikuti jadwal Dukungan Jangka Panjang (LTS) Node.js, Anda harus menjalankan versi 4 atau yang lebih tinggi. Anda dapat melihat versi yang Anda jalankan menggunakan perintah `node –version` di jendela terminal Anda.

Mari kita buat proyek npm baru. Jika Anda sudah memilikinya, Anda dapat melewati bagian ini.

> mkdir sparkpost-test > cd sparkpost-test > npm init --yes

Ini akan membuat proyek baru dan menerima semua pengaturan default. Anda juga bisa menjalankan `npm init` dan menjawab semua pertanyaan.

Sekarang kita dapat menginstal node-sparkpost:

> npm install sparkpost --save

Setelah terinstal, Anda dapat mengimpor dan membuat instansi kelas SparkPost:

const SparkPost = require('sparkpost') const client = new SparkPost('KUNCI API ANDA')

Merupakan praktik yang baik untuk menghindari menempatkan kunci API Anda di kode. Kami sangat merekomendasikan menyimpannya di luar kode Anda, jadi kami mengatur pustaka klien untuk mendeteksi variabel lingkungan SPARKPOST_API_KEY .


Mengirim Email

Sekarang Anda memiliki instansi SparkPost, Anda siap untuk mengirim. Ada cukup banyak opsi yang tersedia untuk mengirim, tetapi mari kita mulai dengan contoh sederhana. Berikut cara mengirim email kepada satu penerima, dengan menentukan konten inline:

client.transmissions.send({ content: { from: 'test@your-sending-domain.com', subject: 'Hello from node-sparkpost', html: '<p>Hello world</p>' }, recipients: [ {address: 'someone@somedomain.com'} ] }) .then(data => { console.log('Woohoo! Anda baru saja mengirim pengiriman pertama Anda!') console.log(data) }) .catch(err => { console.log('Whoops! Sesuatu telah salah') console.log(err) })

Catatan: Contoh ini menggunakan Promises, tetapi jangan khawatir. Kami juga mendukung fungsi callback.

Ada lebih banyak opsi yang tersedia dengan transmisi, termasuk menentukan template yang disimpan atau daftar penerima, cc dan bcc, menambahkan lampiran, menentukan kampanye, menggunakan data substitusi, dan banyak lagi. Lihat contoh-contoh, dokumen untuk sumber Transmissions, dan dokumentasi API Transmissions untuk info lebih lanjut.


Bonus: Mengirim Email dengan Nodemailer

Nodemailer adalah pustaka populer untuk Node.js yang membuat pengiriman email “semudah kue.” Bagi Anda yang memilih untuk menggunakan pustaka ini, kami telah membuat transport SparkPost untuk Nodemailer. Anda perlu menginstal paket nodemailer  dan nodemailer-sparkpost-transport di proyek Anda.

> npm install nodemailer nodemailer-sparkpost-transport --save

Sekarang Anda dapat membuat instansi transport nodemailer:

const nodemailer = require('nodemailer') const sparkPostTransport = require('nodemailer-sparkpost-transport') const transporter = nodemailer.createTransport(sparkPostTransport({ 'sparkPostApiKey': process.env.SPARKPOST_API_KEY }))

 

Perhatikan bagaimana saya membaca Kunci API dari variabel lingkungan. Ini masih merupakan praktik terbaik untuk tidak menempatkannya langsung di kode Anda.

Ada beberapa opsi yang dapat dimasukkan ke dalam transport SparkPost, seperti id kampanye dan apakah pesan tersebut bersifat transaksional atau tidak. Lihat README.md untuk semua opsi.

Berikut cara Anda mengirim pesan yang sama di atas menggunakan Nodemailer:

transporter.sendMail({ from: 'test@your-sending-domain.com', to: 'someone@somedomain.com', subject: 'Hello from nodemailer-sparkpost-transport', html: '<p>Hello world</p>' }, (err, info) => { if (err) { console.error(err); } else { console.log(info); } })


Bonus Ganda: Mengirim Email dengan notif.me

Kita semua tahu bahwa email adalah raja komunikasi tetapi terkadang Anda ingin dapat menjangkau orang melalui beberapa saluran. notif.me adalah pustaka Node.js untuk mengirim semua jenis pesan transaksional. Baik Anda ingin mengirim email, sms, push, atau webpush, Anda dapat melakukannya dengan mudah. Ini juga memiliki strategi fall dan round robin bawaan untuk beberapa penyedia. Kami baru-baru ini bekerja sama dengan pencipta untuk membangun penyedia SparkPost. Anda perlu menginstal paket `notifme-sdk` di proyek Anda.

> npm install notifme-sdk --save

Anda sekarang dapat membuat instansi notifme dengan penyedia SparkPost:

const NotifmeSdk = require('notifme-sdk').default const notifmeSdk = new NotifmeSdk({ channels: { email: { providers: [{ type: 'sparkpost', apiKey: process.env.SPARKPOST_API_KEY, }] } } })

Kembali, kami mengambil Kunci API dari variabel lingkungan. Kami sudah mengatakan tiga kali — ini sangat penting. 🙂

Sekarang mari kita ulangi contoh yang sama ini, kali ini menggunakan notif.me:

notifmeSdk.send({ email: { from: 'test@your-sending-domain.com', to: 'someone@somedomain.com', subject: 'Hello from the SparkPost notif.me provider', html: '<p>Hello world</p>' } }).then(console.log)

Ini sangat mudah digunakan dan saya merekomendasikan untuk melihat fitur-fitur lainnya.

Tidak ada cara yang salah untuk Node

Ketika datang untuk mengirim email menggunakan Node.js, Anda memiliki banyak opsi. Kami telah bekerja keras untuk membantu membuatnya sesederhana mungkin.

Sign up

Platform yang didukung AI untuk Pemasaran, Dukungan, dan Keuangan

Dengan mengklik "Dapatkan Demo" Anda setuju dengan Bird's

Sign up

Platform yang didukung AI untuk Pemasaran, Dukungan, dan Keuangan

Dengan mengklik "Dapatkan Demo" Anda setuju dengan Bird's

Sign up

Platform yang didukung AI untuk Pemasaran, Dukungan, dan Keuangan

Dengan mengklik "Dapatkan Demo" Anda setuju dengan Bird's

Channels

Grow

Engage

Automate

APIs

Resources

Company

Socials

Tumbuh

Kelola

Otomatisasi

Tumbuh

Kelola

Otomatisasi