Sendgrid-nodejs: غير قادر على إرسال البريد

تم إنشاؤها على ١٥ ديسمبر ٢٠١٧  ·  17تعليقات  ·  مصدر: sendgrid/sendgrid-nodejs

ملخص القضية

* الدعم موجه لي هنا *
إثبات: https://support.sendgrid.com/hc/en-us/requests/1325416؟page=1

أنا غير قادر على إرسال بريد إلكتروني إلى المكتبة. الدعم يوجهني هنا. أحاول الإرسال من node.js ، يعمل على مضيف محلي. لقد جربت أولاً المثال كما هو مدرج في npm ، لكنني تلقيت خطأ 401 برأس يشبه x-no-cors reason . لذلك حاولت استخدام حزمة @sendgrid/mail بدلاً من ذلك ، وبهذا يظهر لي خطأ يقول هذا:

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)

خطوات التكاثر

هنا وحدة صغيرة لإعادة إنتاجها

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));

تفاصيل تقنية:

  • sendgrid-nodejs الإصدار: رئيسي (أحدث التزام: [رقم التنفيذ])
  • إصدار Node.js: 6
help wanted question

ال 17 كومينتر

حاولت للتو باستخدام مفتاح آخر أيضًا ، ولا يوجد بوينو. في بعض الأحيان ، لا يحدث الخطأ ، ثم تكون الاستجابة

Unauthorized (401)
Permission denied, wrong credentials

مرحبًا @ r3wt ،

هذه مشكلة يمكن لفريق الدعم لدينا المساعدة فيها. يمكنهم المساعدة في البحث في حسابك لمعرفة المشكلة المتعلقة بمفتاحك (مفاتيحك).

شكرا جزيلا!

مع أحر تحياتي،

إلمر

thinkingserious فريق الدعم الخاص بك هو الذي وجهني هنا.

@ r3wt

أعلم أن هذا يمكن أن يحدث إذا قمت بنشر API Key الخاص بك إلى github ، لأن فريق الامتثال لدينا سيعطل مفتاحك.

الشيء الآخر الذي يمكن أن يحدث هو إذا قمت بتشغيل إدارة IP ، حيث لا يمكن الوصول إلى حسابك إلا من عناوين IP محددة. إذا كان الرمز الخاص بك يعمل على عنوان IP غير موجود في تلك القائمة ، فسيؤدي ذلك إلى حدوث أخطاء أيضًا.

هل يمكنك تقديم خدمة لي من فضلك وإنشاء مفتاح API جديد مع البريد / إرسال الامتيازات وتجربة الرمز مرة أخرى؟

أثناء قيامك بذلك ، هل يمكنك إخبارنا برقم تذكرة الدعم الخاص بك؟
شكر!!

أرى التذكرة الآن ... لذا سأبحث هناك أيضًا. شكر!

mbernier ، المفتاح موجود في ملف التكوين في الريبو الخاص. كيف سيتمكن فريقك من اكتشاف هذا؟ ليس هناك خطر من تسريب المفتاح ، فهو مستودع خاص.

الآن ، بعض المعلومات حول اتصالي:

  • القمر الصناعي ، ipv6. لا توجد اتصالات واردة عن بعد.
  • أنا أقوم بتشغيل التطبيق على المضيف المحلي

لذلك إذا كان الأمر خاصًا ، فهذه ليست مشكلة - على الرغم من أن فرق InfoSec لدينا تقترح دائمًا عدم وضع المفاتيح حتى في عمليات إعادة الشراء الخاصة :)

يجب أن يكون تطبيقك قادرًا على إرسال رسائل البريد الإلكتروني.

هل يمكنك الانتقال إلى هنا: https://sendgrid.com/docs/API_Reference/api_v3.html ومحاولة الإرسال عبر علامة التبويب "جربها" في صفحة المستندات هذه؟ إذا ظهر لك خطأ ، يرجى نشر الرد والخطأ هنا.

تضمين التغريدة

image

mbernier للأسف لا تزال الأخطاء تحدث في node.js

image

يبدو أن حسابك لم يتم تنشيطه. هل يمكنك تسجيل الدخول إلى app.sendgrid.com والبحث عن الإخطارات في أعلى الصفحة. سيوجهك لتقديم المزيد من المعلومات عن نفسك ، من أجل إثبات أنك مرسل جيد.

mbernier حساب عملائي نشط لمدة عامين على الأقل. لقد راجعت السجلات وكان العميل يرسل بنشاط حملات وأشياء أخرى عبر البريد الإلكتروني؟ أنا محتار.

mbernier بعد أن اتبعت تعليمات الإعداد من قائمة الحساب التفاعلية ،

آسف لذلك ، لست متأكدًا مما كان يمكن أن يحدث. لقد قمت بتدوين ملاحظات على بطاقة الدعم ، لذا آمل أن يتمكنوا من خلال وصولهم من تزويدنا بمزيد من التفاصيل.

أنا سعيد لأنه يعمل الآن!

@ r3wt سأغلق هذا ، من فضلك أخبرنا إذا واجهت أي مشاكل أخرى!

mbernier تحدث المشكلة مرة أخرى.

مرحبا @ r3wt ،

هل يمكنك التواصل مجددًا مع فريق الدعم لدينا ، عبر بطاقة الدعم الأصلية التي فتحتها معهم ، والربط بهذا الموضوع؟ أعتقد أن شيئًا ربما حدث لحسابك وأن لديهم الأدوات اللازمة للتحقق من حسابك.

شكر!

مع أحر تحياتي،

إلمر

فقط لإعلامك ، واجهت مشكلات مشابهة جدًا بقدر ما أستطيع أن أقول (لا تزال جديدة). كان الحل هو إعداد متغير مفتاح واجهة برمجة التطبيقات في منصة التطبيق heroku https://devcenter.heroku.com/articles/sendgrid#setup -api-key-environment-variable
لا توجد مشاكل الآن بالنسبة لي.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

agostonbonomi picture agostonbonomi  ·  3تعليقات

thinkingserious picture thinkingserious  ·  4تعليقات

polkhovsky picture polkhovsky  ·  3تعليقات

egges picture egges  ·  3تعليقات

danielflippance picture danielflippance  ·  4تعليقات