Sendgrid-nodejs: tidak dapat mengirim email

Dibuat pada 15 Des 2017  ·  17Komentar  ·  Sumber: sendgrid/sendgrid-nodejs

Ringkasan Masalah

* DUKUNGAN MENGARAHKAN SAYA DI SINI *
BUKTI: https://support.sendgrid.com/hc/en-us/requests/1325416?page=1

Saya tidak dapat mengirim email dengan perpustakaan. dukungan mengarahkan saya ke sini. Saya mencoba mengirim dari node.js, berjalan di localhost. Saya pertama kali mencoba contoh seperti yang tercantum di npm, tetapi saya mendapatkan kesalahan 401 dengan tajuk seperti x-no-cors reason . jadi saya mencoba menggunakan @sendgrid/mail package sebagai gantinya, dan dengan itu saya mendapatkan kesalahan yang mengatakan ini:

TypeError: Cannot read property 'errors' of undefined
at ResponseError.toString (E:\songsplits\api\node_modules\@sendgrid\helpers\classes\response-error.js:45:27)
at Function.CapturedTrace.parseStackAndMessage (E:\songsplits\api\node_modules\bluebird\js\main\captured_trace.js:176:25)
at CapturedTrace.attachExtraTrace (E:\songsplits\api\node_modules\bluebird\js\main\captured_trace.js:79:32)
at Promise._attachExtraTrace (E:\songsplits\api\node_modules\bluebird\js\main\debuggability.js:102:19)
at Promise._rejectCallback (E:\songsplits\api\node_modules\bluebird\js\main\promise.js:471:10)
at E:\songsplits\api\node_modules\bluebird\js\main\promise.js:486:17
at Request.http [as _callback] (E:\songsplits\api\node_modules\@sendgrid\client\src\client.js:124:18)
at Request.self.callback (E:\songsplits\api\node_modules\request\request.js:188:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.<anonymous> (E:\songsplits\api\node_modules\request\request.js:1171:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage.<anonymous> (E:\songsplits\api\node_modules\request\request.js:1091:12)
at IncomingMessage.g (events.js:291:16)
at emitNone (events.js:91:20)

Langkah-langkah untuk Mereproduksi

di sini adalah modul minimal untuk direproduksi

email.js


const sgMail = require('@sendgrid/mail')

sgMail.setApiKey(process.env.SENDGRID_KEY);

module.exports.send = function send(html,subject,to,from){

    return new Promise((resolve,reject)=>{

        sgMail.send({
            to,
            from,
            subject,
            html
        }).then(resolve).catch(reject);

    });
};

index.js

const send = require('./mail');

send(
    '<!DOCTYPE html><html><head><title>Hi</title></head><body>Hi</body></html>',
    'Hi',
    '[email protected]',
    '[email protected]',
).then(()=>console.log('sent an email successfully!')).catch(err=>console.log(err));

Detail teknis:

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

Semua 17 komentar

hanya mencoba dengan kunci lain juga, dan tidak ada bueno. terkadang, kesalahan tidak terjadi, lalu responsnya adalah

Unauthorized (401)
Permission denied, wrong credentials

Hai @ r3wt ,

Ini adalah masalah yang dapat dibantu oleh tim dukungan kami. Mereka dapat membantu menggali akun Anda untuk mencari tahu masalah dengan kunci Anda.

Terima kasih!

Salam hangat,

Elmer

@thinkingserious Tim dukungan Anda adalah orang yang mengarahkan saya ke sini.

@ r3

Saya tahu bahwa ini dapat terjadi jika Anda memublikasikan Kunci API Anda ke github, karena tim kepatuhan kami akan menonaktifkan kunci Anda.

Hal lain yang dapat terjadi adalah jika Anda mengaktifkan manajemen IP, di mana akun Anda hanya dapat diakses dari IP tertentu. Jika kode Anda berjalan pada IP yang tidak ada dalam daftar itu, itu akan menyebabkan kesalahan juga.

Bisakah Anda membantu saya dan membuat kunci API baru dengan hak istimewa mail / send dan coba kodenya lagi?

Saat Anda melakukannya, dapatkah Anda memberi tahu kami nomor tiket dukungan Anda?
Terima kasih!!

Saya melihat tiketnya sekarang ... jadi saya akan mencarinya juga. Terima kasih!

@mbernier kuncinya ada di file konfigurasi di repo pribadi. bagaimana tim Anda dapat mendeteksi ini? tidak ada bahaya kebocoran kunci, ini adalah repositori pribadi.

sekarang, beberapa info tentang koneksi saya:

  • satelit, ipv6. tidak ada koneksi masuk jarak jauh.
  • saya menjalankan aplikasi di localhost

Jadi jika itu pribadi, maka itu bukan masalah - meskipun tim InfoSec kami selalu menyarankan untuk tidak meletakkan kunci bahkan di repo pribadi :)

Aplikasi Anda harus dapat mengirim email.

Bisakah Anda membuka di sini: https://sendgrid.com/docs/API_Reference/api_v3.html dan mencoba mengirim melalui tab "Coba" di halaman dokumen itu? Jika Anda mendapatkan kesalahan kembali, silakan posting tanggapan dan kesalahan di sini.

@beritabunghatta

image

@mbernier sayangnya kesalahan masih terjadi di node.js

image

Sepertinya akun Anda belum diaktifkan. Bisakah Anda login di app.sendgrid.com dan mencari notifikasi di bagian atas halaman. Ini akan mengarahkan Anda untuk memberikan lebih banyak informasi tentang diri Anda, untuk membuktikan bahwa Anda adalah pengirim yang baik.

@mbernier akun klien saya telah aktif selama minimal 2 tahun. saya memeriksa log dan klien secara aktif mengirim kampanye email dan barang lainnya? saya bingung.

@mbernier setelah saya mengikuti instruksi pengaturan dari menu akun interaktif, itu berhasil. sangat aneh.

Maaf tentang itu, saya tidak yakin apa yang mungkin terjadi. Saya membuat catatan tentang tiket dukungan, jadi harapan saya adalah dengan akses mereka mereka dapat memberi kami lebih banyak detail.

Saya senang ini berfungsi sekarang!

@ r3wt Saya akan menutup ini, beri tahu kami jika Anda mengalami masalah lain!

@mbernier masalah ini terjadi lagi.

Halo @ r3wt ,

Bisakah Anda menghubungi kembali tim dukungan kami, melalui tiket dukungan asli yang Anda buka dengan mereka, dan tautkan ke utas ini? Saya rasa sesuatu mungkin telah terjadi pada akun Anda dan mereka memiliki alat untuk menyelidiki akun Anda.

Terima kasih!

Salam hangat,

Elmer

Sekadar memberi tahu Anda, saya memiliki masalah yang sangat mirip sejauh yang saya tahu (masih baru). Solusinya adalah menyiapkan variabel kunci API di platform aplikasi heroku https://devcenter.heroku.com/articles/sendgrid#setup -api-key-environment-variable
Tidak ada masalah sekarang bagi saya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat