Sendgrid-nodejs: Pergantian tidak berfungsi

Dibuat pada 7 Sep 2017  ·  17Komentar  ·  Sumber: sendgrid/sendgrid-nodejs

Ringkasan Masalah

Saya bermigrasi dari sendgrid 2.0.0 ke @sendgrid/mail 6.1.2 , substitusi tidak berfungsi lagi

Langkah-langkah untuk Mereproduksi

SendgridService.prototype.sendTestEmail = function () {
  var text = 'Hi %DISPLAY_NAME%\n\n'
  const msg = {
    to: '[email protected]',
    subject: 'Test Email',
    from: {email: '[email protected]', name: 'Test'},
    text: text,
    substitutions: {
      "%DISPLAY_NAME%": 'Test'
    }
  }
  return sendgrid.send(msg)
}

Detail teknis:

  • sendgrid-nodejs Versi: master (terakhir komit: [nomor komit])
  • Versi Node.js: 8.4.0
help wanted question

Komentar yang paling membantu

@rumahsakitotak ,

Untuk membantu kami mengatasi masalah ini, kami ingin mengirimkan beberapa barang curian sebagai tanda terima kasih kami.

Terima kasih telah mendukung SendGrid!

Salam hangat,

Elmer

Semua 17 komentar

Halo @sydneyhenrard ,

Berikut adalah contoh lengkapnya.

Tampaknya Anda perlu menyetel substitutionWrappers . Dalam kasus Anda, itu akan menjadi % . Kemudian di objek substitutions , Anda akan membiarkan karakter % keluar.

Salam hangat,

Elmer

Apakah ada konvensi tentang variabel?

SendgridService.prototype.sendTestEmail = function () {
  var text = 'Hi %DISPLAY_NAME% - %displayname%\n\n'
  const msg = {
    to: '[email protected]',
    subject: 'Test Email',
    from: {email: '[email protected]', name: 'Test'},
    text: text,
    substitutionWrappers: ['%', '%'],
    substitutions: {
      DISPLAY_NAME: 'Test',
      displayname: 'Test'
    }
  }
  return sendgrid.send(msg)
}

Email yang diterima:

Hi %DISPLAY_NAME% – Test

Halo @sydneyhenrard ,

Saya dapat mereproduksi masalah ini. Saya telah menambahkan ini ke backlog kami untuk diperbaiki. Sepertinya diberikan substitusi n, substitusi 0 tidak diatur dengan benar.

Salam hangat,

Elmer

@thinkingserious, apakah ini di pihak Anda atau ada masalah dengan Node SDK?

Ini masalah dengan SDK. Saya tidak begitu yakin persis apa masalahnya. Saya berencana untuk memeriksa payload untuk membantu memecahkan masalah.

Jika saya menggunakan variabel camelCase, saya tidak punya masalah dengan substitusi bahkan untuk substitusi 0

Terima kasih @sydneyhenrard ,

Itu akan membantu mencapai akar masalah lebih cepat :)

Saya rasa saya mungkin tahu apa masalahnya, biarkan saya menyelidikinya.

442 harus memperbaiki ini 👍

Digabung sebagai v6.1.3, terima kasih @adamreisnz!

@rumahsakitotak ,

Untuk membantu kami mengatasi masalah ini, kami ingin mengirimkan beberapa barang curian sebagai tanda terima kasih kami.

Terima kasih telah mendukung SendGrid!

Salam hangat,

Elmer

memiliki masalah yang sama pada 01/2018. mengubah variabel substitusi kami dari% companyname% menjadi% company_name% karena variabel kata tunggal tidak berfungsi. segera diperbaiki.

Halo @greglbyv ,

Versi SDK apa yang Anda gunakan? Terima kasih!

Salam hangat,

Elmer

Apakah substitusi seharusnya berfungsi saat menggunakan template desain yang dibangun? Saya bisa membuatnya berfungsi hanya ketika saya membuat template dengan tangan, yang dibuat dengan alat desain tidak pernah berfungsi.

@bayu_joo

Untuk membantu Anda, saya memerlukan detail lebih lanjut. 1) Template mana yang Anda maksud? 2) Bisakah Anda memberikan kode sampel? Baik template HTML dan kode Node.js. Terima kasih!

Selain itu, mungkin yang terbaik adalah membuka masalah terpisah. Terima kasih!

Salam hangat,

Elmer

@serius

Mohon abaikan komentar saya sebelumnya. Setelah balasan Anda, saya kembali melihatnya dengan mata segar dan itu adalah spasi ekstra dalam variabel interpolasi yang menyebabkan masalah yang tidak saya tangkap pertama kali.

Semua bekerja seperti yang diiklankan. Terima kasih.

@thinkingserious Saya telah mencoba segalanya, camelcase, underscore. Variabel masih tidak terisi, ketika saya melakukan pengujian melalui UI sendgrid dan meneruskan variabel, itu berfungsi dengan baik. Itu hanya tidak akan berfungsi melalui fungsi cloud firebase. Ini kode saya

Saya menggunakan "@ sendgrid / mail": "^ 6.3.1"

const msgbody = {
          to: userData.email,
          from: '[email protected]',
          subject: 'Registration Complete',
          templateId: 'd-dffc1e7c8a4a4ed5a4384eded1701f65',
          substitutionWrappers: ['{{', '}}'],
          substitutions: {
            first_name: userData.firstName
          }
        }
Apakah halaman ini membantu?
0 / 5 - 0 peringkat