Panduan Menggunakan SparkPost dengan Node.js

Burung

1 Sep 2017

Email

1 min read

Panduan Menggunakan SparkPost dengan Node.js

Poin Penting

    • SparkPost menawarkan beberapa cara untuk mengirim email dari Node.js — panggilan API langsung, transportasi Nodemailer, dan pengiriman multi-saluran notif.me.

    • Simpan kunci API di variabel lingkungan, jangan pernah mengkodekannya secara langsung. SparkPost secara otomatis mendeteksi SPARKPOST_API_KEY.

    • Transmissions API memberikan Anda fleksibilitas yang kuat: template, data substitusi, lampiran, dan penandaan kampanye.

    • Pengguna Nodemailer dapat langsung beralih ke SparkPost dengan transportasi resmi — tanpa penulisan ulang kode yang signifikan.

    • notif.me menyediakan pengiriman multi-saluran (email, SMS, push) dengan strategi cadangan, menjadikannya ideal untuk sistem notifikasi yang kuat.

    • Node.js cocok secara alami dengan API email cloud modern dan alur kerja tanpa server, membuatnya mudah untuk menyematkan kemampuan email langsung di dalam aplikasi Anda.

Sorotan Tanya jawab

  • Apa cara tercepat untuk mulai mengirim email dengan SparkPost di Node.js?

    Instal paket sparkpost, inisialisasi klien dengan kunci API (sebaiknya melalui variabel lingkungan), dan panggil metode transmissions.send() dengan penerima + konten.

  • Apakah saya perlu menyimpan kunci API SparkPost saya dalam kode?

    Tidak — dan Anda tidak seharusnya. Gunakan variabel lingkungan. Klien secara otomatis membaca SPARKPOST_API_KEY.

  • Bolehkah saya mengirim email menggunakan templat alih-alih HTML inline?

    Ya. API Transmissions mendukung templat yang disimpan, data pengganti, daftar penerima, lampiran, cc/bcc, dan banyak lagi.

  • Apa yang terjadi jika saya sudah menggunakan Nodemailer?

    Anda terlindungi — SparkPost dilengkapi dengan transportasi Nodemailer resmi. Cukup konfigurasikan dengan kunci API Anda dan gunakan Nodemailer seperti biasa.

  • Dapatkah SparkPost bekerja dengan sistem pengiriman pesan multi-saluran?

    Ya. Perpustakaan seperti notifme-sdk memungkinkan email, SMS, push, dan webpush dengan logika fallback, dan mereka menyertakan penyedia SparkPost.

  • Apakah Node.js cocok untuk alur kerja email tanpa server?

    Absolut. Ini cocok dengan Cloud Functions, Lambdas, dan lingkungan tanpa server lainnya yang menggunakan API SparkPost untuk email berbasis peristiwa.

  • Siapa yang harus menggunakan Transmissions API dibandingkan dengan Nodemailer atau notif.me?

    • Gunakan Transmissions API ketika Anda ingin kontrol penuh dan performa.

    • Gunakan Nodemailer jika proyek Anda sudah menggunakannya dan Anda ingin integrasi cepat.

    • Gunakan notif.me untuk pengiriman pesan multi-saluran atau strategi pengiriman cadangan.

  • Apa praktik terbaik terbesar saat mengirim email dari Node?

    Perlakukan kunci API Anda sebagai sensitif — hanya variabel lingkungan, jangan pernah menyimpannya dalam kode.

Pengenalan ke Node.js

Sebagai Pengacara Pengembang untuk SparkPost, saya menulis banyak aplikasi contoh. Latar belakang saya sebagian besar adalah pengembangan front-end, oleh karena itu bahasa terkuat saya adalah JavaScript. Berkat Node.js, saya juga seorang pengembang backend yang cukup baik. Berbicara tentang aplikasi contoh, Node.js juga bekerja dengan baik untuk membangun fungsi serverless yang terintegrasi dengan Flow Builder - seperti panduan integrasi Google Cloud Functions dan Vision API kami. Apakah ini berarti saya sekarang adalah pengembang full stack? Bagaimanapun, penting bagi saya bahwa kami memiliki pustaka 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 di proyek Node.js Anda. Sebelum menyelami spesifik Node.js, Anda mungkin ingin memahami dasar-dasar API email dalam infrastruktur cloud dan bagaimana mereka cocok dalam pengembangan aplikasi modern.

Sebagai Pengacara Pengembang untuk SparkPost, saya menulis banyak aplikasi contoh. Latar belakang saya sebagian besar adalah pengembangan front-end, oleh karena itu bahasa terkuat saya adalah JavaScript. Berkat Node.js, saya juga seorang pengembang backend yang cukup baik. Berbicara tentang aplikasi contoh, Node.js juga bekerja dengan baik untuk membangun fungsi serverless yang terintegrasi dengan Flow Builder - seperti panduan integrasi Google Cloud Functions dan Vision API kami. Apakah ini berarti saya sekarang adalah pengembang full stack? Bagaimanapun, penting bagi saya bahwa kami memiliki pustaka 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 di proyek Node.js Anda. Sebelum menyelami spesifik Node.js, Anda mungkin ingin memahami dasar-dasar API email dalam infrastruktur cloud dan bagaimana mereka cocok dalam pengembangan aplikasi modern.

Sebagai Pengacara Pengembang untuk SparkPost, saya menulis banyak aplikasi contoh. Latar belakang saya sebagian besar adalah pengembangan front-end, oleh karena itu bahasa terkuat saya adalah JavaScript. Berkat Node.js, saya juga seorang pengembang backend yang cukup baik. Berbicara tentang aplikasi contoh, Node.js juga bekerja dengan baik untuk membangun fungsi serverless yang terintegrasi dengan Flow Builder - seperti panduan integrasi Google Cloud Functions dan Vision API kami. Apakah ini berarti saya sekarang adalah pengembang full stack? Bagaimanapun, penting bagi saya bahwa kami memiliki pustaka 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 di proyek Node.js Anda. Sebelum menyelami spesifik Node.js, Anda mungkin ingin memahami dasar-dasar API email dalam infrastruktur cloud dan bagaimana mereka cocok dalam pengembangan aplikasi modern.

Instalasi & Pengaturan

Saya akan menganggap bahwa Anda telah menginstal Node.js. Karena kami mengikuti jadwal Dukungan Jangka Panjang (LTS) Node.js, Anda perlu menjalankan versi 4 atau yang 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 default. Anda juga dapat menjalankan `npm init` sebagai gantinya dan menjawab semua permintaan.

Sekarang kita bisa menginstal node-sparkpost:

> npm install sparkpost --save

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

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

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

Saya akan menganggap bahwa Anda telah menginstal Node.js. Karena kami mengikuti jadwal Dukungan Jangka Panjang (LTS) Node.js, Anda perlu menjalankan versi 4 atau yang 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 default. Anda juga dapat menjalankan `npm init` sebagai gantinya dan menjawab semua permintaan.

Sekarang kita bisa menginstal node-sparkpost:

> npm install sparkpost --save

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

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

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

Saya akan menganggap bahwa Anda telah menginstal Node.js. Karena kami mengikuti jadwal Dukungan Jangka Panjang (LTS) Node.js, Anda perlu menjalankan versi 4 atau yang 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 default. Anda juga dapat menjalankan `npm init` sebagai gantinya dan menjawab semua permintaan.

Sekarang kita bisa menginstal node-sparkpost:

> npm install sparkpost --save

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

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

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

Mengirim Email

Sekarang Anda memiliki instance SparkPost, Anda siap untuk mengirim. Ada cukup banyak opsi yang tersedia untuk pengiriman, tetapi mari kita mulai dengan contoh sederhana. Berikut cara Anda mengirim email ke 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! You just sent your first mailing!')
  console.log(data)
})
.catch(err => {
  console.log('Whoops! Something went wrong')
  console.log(err)
})

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

Untuk aplikasi perusahaan yang memerlukan manajemen email yang komprehensif, pengembang juga perlu mempertimbangkan membangun sistem pengarsipan email untuk menangani penyimpanan dan persyaratan kepatuhan.

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 pengganti, dan banyak lagi. Lihat contoh-contoh, dokumentasi untuk sumber Transmissions, dan dokumentasi API Transmissions untuk informasi lebih lanjut.

Sekarang Anda memiliki instance SparkPost, Anda siap untuk mengirim. Ada cukup banyak opsi yang tersedia untuk pengiriman, tetapi mari kita mulai dengan contoh sederhana. Berikut cara Anda mengirim email ke 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! You just sent your first mailing!')
  console.log(data)
})
.catch(err => {
  console.log('Whoops! Something went wrong')
  console.log(err)
})

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

Untuk aplikasi perusahaan yang memerlukan manajemen email yang komprehensif, pengembang juga perlu mempertimbangkan membangun sistem pengarsipan email untuk menangani penyimpanan dan persyaratan kepatuhan.

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 pengganti, dan banyak lagi. Lihat contoh-contoh, dokumentasi untuk sumber Transmissions, dan dokumentasi API Transmissions untuk informasi lebih lanjut.

Sekarang Anda memiliki instance SparkPost, Anda siap untuk mengirim. Ada cukup banyak opsi yang tersedia untuk pengiriman, tetapi mari kita mulai dengan contoh sederhana. Berikut cara Anda mengirim email ke 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! You just sent your first mailing!')
  console.log(data)
})
.catch(err => {
  console.log('Whoops! Something went wrong')
  console.log(err)
})

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

Untuk aplikasi perusahaan yang memerlukan manajemen email yang komprehensif, pengembang juga perlu mempertimbangkan membangun sistem pengarsipan email untuk menangani penyimpanan dan persyaratan kepatuhan.

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 pengganti, dan banyak lagi. Lihat contoh-contoh, dokumentasi untuk sumber Transmissions, dan dokumentasi API Transmissions untuk informasi lebih lanjut.

Bonus: Mengirim Email dengan Nodemailer

Nodemailer adalah perpustakaan populer untuk Node.js yang membuat pengiriman email “mudah seperti kue.” Bagi Anda yang memilih untuk menggunakan perpustakaan 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 instance 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 memasukkan itu langsung ke dalam kode Anda.

Ada beberapa opsi yang dapat diteruskan ke 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);
    }
  }
);

Nodemailer adalah perpustakaan populer untuk Node.js yang membuat pengiriman email “mudah seperti kue.” Bagi Anda yang memilih untuk menggunakan perpustakaan 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 instance 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 memasukkan itu langsung ke dalam kode Anda.

Ada beberapa opsi yang dapat diteruskan ke 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);
    }
  }
);

Nodemailer adalah perpustakaan populer untuk Node.js yang membuat pengiriman email “mudah seperti kue.” Bagi Anda yang memilih untuk menggunakan perpustakaan 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 instance 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 memasukkan itu langsung ke dalam kode Anda.

Ada beberapa opsi yang dapat diteruskan ke 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. Apakah Anda ingin mengirim email, sms, push, atau webpush, Anda dapat melakukannya dengan mudah. Ini juga memiliki strategi fallback dan round robin bawaan untuk beberapa penyedia. Kami baru-baru ini bekerja dengan pencipta untuk membangun penyedia SparkPost. Anda perlu menginstal paket `notifme-sdk` di proyek Anda.

> npm install notifme-sdk --save

Anda sekarang 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
        }
      ]
    }
  }
});

Kembali, kita menarik API Key dari variabel lingkungan. Kami telah 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)
.catch(console.error);

Sangat mudah digunakan dan saya sarankan untuk melihat fitur lainnya.

Perbandingan Opsi Pengiriman Email di Node.js

Metode

Paket yang Diperlukan

Penanganan API Key

Terbaik Untuk

Catatan

API SparkPost (node-sparkpost)

sparkpost

Menggunakan SPARKPOST_API_KEY env var

Kontrol API langsung, akses penuh ke fitur Transmissions

Paling fleksibel; mendukung template, data substitusi, lampiran, kampanye

Nodemailer + SparkPost Transport

nodemailer, nodemailer-sparkpost-transport

Menggunakan env var dalam konfigurasi transport

Pengembang yang sudah menggunakan Nodemailer

Jalur migrasi termudah; sedikit perubahan kode

notif.me + Penyedia SparkPost

notifme-sdk

Menggunakan env var dalam konfigurasi penyedia

Pesan multi-saluran (email, SMS, push)

Termasuk strategi fallback + round-robin di seluruh penyedia

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. Apakah Anda ingin mengirim email, sms, push, atau webpush, Anda dapat melakukannya dengan mudah. Ini juga memiliki strategi fallback dan round robin bawaan untuk beberapa penyedia. Kami baru-baru ini bekerja dengan pencipta untuk membangun penyedia SparkPost. Anda perlu menginstal paket `notifme-sdk` di proyek Anda.

> npm install notifme-sdk --save

Anda sekarang 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
        }
      ]
    }
  }
});

Kembali, kita menarik API Key dari variabel lingkungan. Kami telah 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)
.catch(console.error);

Sangat mudah digunakan dan saya sarankan untuk melihat fitur lainnya.

Perbandingan Opsi Pengiriman Email di Node.js

Metode

Paket yang Diperlukan

Penanganan API Key

Terbaik Untuk

Catatan

API SparkPost (node-sparkpost)

sparkpost

Menggunakan SPARKPOST_API_KEY env var

Kontrol API langsung, akses penuh ke fitur Transmissions

Paling fleksibel; mendukung template, data substitusi, lampiran, kampanye

Nodemailer + SparkPost Transport

nodemailer, nodemailer-sparkpost-transport

Menggunakan env var dalam konfigurasi transport

Pengembang yang sudah menggunakan Nodemailer

Jalur migrasi termudah; sedikit perubahan kode

notif.me + Penyedia SparkPost

notifme-sdk

Menggunakan env var dalam konfigurasi penyedia

Pesan multi-saluran (email, SMS, push)

Termasuk strategi fallback + round-robin di seluruh penyedia

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. Apakah Anda ingin mengirim email, sms, push, atau webpush, Anda dapat melakukannya dengan mudah. Ini juga memiliki strategi fallback dan round robin bawaan untuk beberapa penyedia. Kami baru-baru ini bekerja dengan pencipta untuk membangun penyedia SparkPost. Anda perlu menginstal paket `notifme-sdk` di proyek Anda.

> npm install notifme-sdk --save

Anda sekarang 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
        }
      ]
    }
  }
});

Kembali, kita menarik API Key dari variabel lingkungan. Kami telah 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)
.catch(console.error);

Sangat mudah digunakan dan saya sarankan untuk melihat fitur lainnya.

Perbandingan Opsi Pengiriman Email di Node.js

Metode

Paket yang Diperlukan

Penanganan API Key

Terbaik Untuk

Catatan

API SparkPost (node-sparkpost)

sparkpost

Menggunakan SPARKPOST_API_KEY env var

Kontrol API langsung, akses penuh ke fitur Transmissions

Paling fleksibel; mendukung template, data substitusi, lampiran, kampanye

Nodemailer + SparkPost Transport

nodemailer, nodemailer-sparkpost-transport

Menggunakan env var dalam konfigurasi transport

Pengembang yang sudah menggunakan Nodemailer

Jalur migrasi termudah; sedikit perubahan kode

notif.me + Penyedia SparkPost

notifme-sdk

Menggunakan env var dalam konfigurasi penyedia

Pesan multi-saluran (email, SMS, push)

Termasuk strategi fallback + round-robin di seluruh penyedia

Tidak ada cara yang salah untuk Node

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

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

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

Berita lainnya

Baca lebih lanjut dari kategori ini

A person is standing at a desk while typing on a laptop.

Platform AI-native lengkap yang dapat berkembang seiring dengan bisnis Anda.

© 2025 Burung

A person is standing at a desk while typing on a laptop.

Platform AI-native lengkap yang dapat berkembang seiring dengan bisnis Anda.

© 2025 Burung