Reach

Grow

Manage

Automate

Reach

Grow

Manage

Automate

Panduan Menggunakan SparkPost dengan Node.js

Email

1 min read

Panduan Menggunakan SparkPost dengan Node.js

Email

1 min read

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?

Pengenalan Node.js

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

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

Instalasi & Pengaturan

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

Mari kita buat proyek npm baru. Jika Anda sudah memiliki satu, 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 dapat menjalankan `npm init` dan menjawab semua prompt.

Sekarang kita bisa menginstal node-sparkpost:

> npm install sparkpost --save

Setelah terinstal, Anda dapat mengimpor dan membuat instance dari kelas SparkPost:

const SparkPost = require('sparkpost') const client = new SparkPost('YOUR API KEY')

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

Mengirim Email

Sekarang setelah Anda memiliki instance SparkPost, Anda siap untuk mengirim. Ada beberapa opsi yang tersedia untuk mengirim, tetapi mari kita mulai dengan contoh sederhana. Begini cara Anda 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 surat pertama Anda!') console.log(data) }) .catch(err => { console.log('Oops! Ada yang salah') console.log(err) })

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

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

Bonus: Mengirim Email dengan Nodemailer

Nodemailer adalah pustaka populer untuk Node.js yang membuat pengiriman email "mudah seperti kue." Bagi Anda yang memilih untuk menggunakan pustaka ini, kami membuat transportasi SparkPost untuk Nodemailer. Anda harus menginstal paket nodemailer  dan nodemailer-sparkpost-transport di proyek Anda.

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

Sekarang Anda dapat membuat instance transportasi 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 API Key dari variabel lingkungan. Ini tetap praktik terbaik untuk tidak meletakkannya langsung dalam kode Anda.

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

Ini caranya 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 berbagai jenis pesan transaksional. Apakah Anda ingin mengirim email, sms, push, atau webpush, Anda dapat melakukannya dengan mudah. Ini juga memiliki strategi built in fall dan round robin untuk beberapa penyedia. Kami baru-baru ini bekerja dengan para pencipta untuk membangun penyedia SparkPost. Anda perlu menginstal paket `notifme-sdk` dalam proyek Anda.

> npm install notifme-sdk --save

Sekarang Anda dapat membuat instance 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, }] } } })

Sekali lagi, kami menarik API Key dari variabel lingkungan. Kami sudah mengatakannya tiga kali — itu sangat penting. 🙂

Sekarang mari kita ulangi contoh yang sama, 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)

Sangat mudah digunakan dan saya merekomendasikan untuk melihat fitur lainnya.

Tidak ada cara yang salah untuk Node

Ketika mengirim email menggunakan Node.js, Anda memiliki banyak pilihan. Kami telah bekerja keras untuk membantu membuatnya semudah mungkin.

Bergabunglah dengan Newsletter kami.

Tetap terinformasi dengan Bird melalui pembaruan mingguan ke kotak masuk Anda.

Lihat Pernyataan Privasi Bird untuk rincian tentang pemrosesan data.

Bergabunglah dengan Newsletter kami.

Tetap terinformasi dengan Bird melalui pembaruan mingguan ke kotak masuk Anda.

Lihat Pernyataan Privasi Bird untuk rincian tentang pemrosesan data.

Bergabunglah dengan Newsletter kami.

Tetap terinformasi dengan Bird melalui pembaruan mingguan ke kotak masuk Anda.

Lihat Pernyataan Privasi Bird untuk rincian tentang pemrosesan data.

Reach

Grow

Manage

Automate

Sumber Daya

Perusahaan

Newsletter

Tetap terinformasi dengan Bird melalui pembaruan mingguan ke kotak masuk Anda.

Lihat Pernyataan Privasi Bird untuk rincian tentang pemrosesan data.