Sendgrid-nodejs: الاستبدال لا يعمل

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

ملخص القضية

لقد انتقلت من sendgrid 2.0.0 إلى @sendgrid/mail 6.1.2 ، البدائل لا تعمل بعد الآن

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

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

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

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

التعليق الأكثر فائدة

sydneyhenrard ،

لمساعدتنا في حل هذه المشكلة ، نود أن نرسل لك بعض الهدايا المميزة كعربون امتناننا.

شكرا لدعم SendGrid!

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

إلمر

ال 17 كومينتر

مرحبا sydneyhenrard ،

هنا مثال كامل.

يبدو أنك تحتاج إلى تعيين substitutionWrappers . في حالتك سيكون ذلك % . ثم في الكائن substitutions ، ستترك الأحرف % .

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

إلمر

هل هناك اصطلاح على المتغير؟

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

البريد الإلكتروني المستلم:

Hi %DISPLAY_NAME% – Test

مرحبا sydneyhenrard ،

لقد تمكنت من إعادة إنتاج هذه المشكلة. لقد أضفت هذا إلى تراكم لدينا لإصلاح. يبدو أنه في حالة استبدال n ، لم يتم تعيين الاستبدال 0 بشكل صحيح.

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

إلمر

thinkingserious هل هذا من

إنها مشكلة في SDK. لست متأكدًا تمامًا من طبيعة المشكلة. أخطط لفحص الحمولة للمساعدة في استكشاف الأخطاء وإصلاحها.

إذا استخدمت متغير camelCase ، فليس لدي مشكلة في الاستبدالات حتى بالنسبة للتعويض 0

شكرا sydneyhenrard ،

من المفترض أن يساعد ذلك في الوصول إلى السبب الجذري بشكل أسرع :)

أعتقد أنني قد أعرف ما هي المشكلة ، اسمحوا لي أن تحقق.

442 يجب أن يصلح هذا 👍

تم دمجها كـ v6.1.3 ، شكرًاadamreisnz!

sydneyhenrard ،

لمساعدتنا في حل هذه المشكلة ، نود أن نرسل لك بعض الهدايا المميزة كعربون امتناننا.

شكرا لدعم SendGrid!

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

إلمر

كان لديه نفس المشكلة في 01/2018. غيرت متغيرات الاستبدال لدينا من٪ companyname٪ إلى٪ company_name٪ لأن متغيرات الكلمة الواحدة لم تكن تعمل. ثابت على الفور.

مرحبًا greglbyv ،

ما هو إصدار SDK الذي تستخدمه؟ شكر!

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

إلمر

هل من المفترض أن تعمل البدائل عند استخدام قالب مصمم للتصميم؟ يمكنني جعلهم يعملون فقط عندما أقوم ببناء القالب يدويًا ، فالقوالب التي تم إنشاؤها باستخدام أداة التصميم لا تعمل أبدًا.

airstofather ،

لمساعدتك ، سأحتاج إلى مزيد من التفاصيل. 1) ما هو النموذج الذي تشير إليه؟ 2) هل يمكنك تقديم رمز عينة؟ كل من HTML للقالب ورمز Node.js. شكرا جزيلا!

أيضًا ، قد يكون من الأفضل فتح مشكلة منفصلة. شكر!

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

إلمر

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

الرجاء تجاهل تعليقي السابق. بعد ردك ، عدت لأنظر إليه بعيون جديدة وكانت مساحة إضافية في المتغير المحرف الذي تسبب في المشكلة التي لم ألتقطها في المرة الأولى.

كل شيء يعمل كما هو معلن. شكرا جزيلا.

thinkingserious لقد جربت كل شيء ، جمل ، شرطة سفلية. لا يزال المتغير غير ممتلئ ، عندما أقوم بإجراء الاختبار عبر واجهة المستخدم sendgrid وتمرير المتغير ، فإنه يعمل بشكل جيد. انها فقط لن تعمل من خلال وظائف سحابة Firebase. هذا هو الكود الخاص بي

أنا أستخدم "@ 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
          }
        }
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

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

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

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

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

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

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