Sendgrid-nodejs: الموضوع لا يتغير في نموذج mail.send ()

تم إنشاؤها على ١ أغسطس ٢٠١٨  ·  26تعليقات  ·  مصدر: sendgrid/sendgrid-nodejs

ملخص القضية

الموضوع لا يتغير في البريد الإلكتروني

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

استدعاء sgMail.send (انظر أدناه)

const seeBellow = {
  "from": "[email protected]",
  "templateId": "d-1da76d64a1bd4c8b87c035ccaa3f6cfb",
  "dynamicTemplateData": {
    "username": "[email protected]",
    "giftcardAmount": "$45",
    "validUntil": "Aug 2019",
    "receiptNumber": 111299,
    "ewayTransactionId": "00003100003509951fac7d25e8dd96e0"
  },
  "personalizations": [
    {
      "to": "[email protected]",
      "subject": "Somebody has sent you a Gift Card"
    }
  ],
  "isMultiple": false,
  "substitutionWrappers": [
    "{{",
    "}}"
  ]
}

مما ينتج عنه المنشور التالي

{
  "method": "POST",
  "url": "/v3/mail/send",
  "body": {
    "from": {
      "email": "[email protected]"
    },
    "personalizations": [
      {
        "to": [
          {
            "email": "[email protected]"
          }
        ],
        "subject": "Somebody has sent you a Gift Card",
        "dynamic_template_data": {
          "username": "[email protected]",
          "giftcardAmount": "$45",
          "validUntil": "Aug 2019",
          "receiptNumber": 111299,
          "ewayTransactionId": "00003100003509951fac7d25e8dd96e0"
        }
      }
    ],
    "template_id": "d-1da76d64a1bd4c8b87c035ccaa3f6cfb"
  }
}

لقد حاولت أيضًا إرسال رسالتي بريد إلكتروني عبر مجموعة من الرسائل بدلاً من استخدام التخصيصات ولكن هذا أيضًا لا يعمل.

أخيرًا حاولت أيضًا وضع الموضوع بجانب الحقل من ، ما زلت لم أفلح

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

  • نسخة sendgrid في lockfile:
    "@sendgrid/mail": {
      "version": "6.3.1",
      "resolved": "https://registry.npmjs.org/@sendgrid/mail/-/mail-6.3.1.tgz",
      "integrity": "sha512-5zIeAV9iU+0hQkrOQ/D4RB2MfpK+lNbOortIfQdCh95aMDF/TRc9WB8FGNhmQrx9YMuJTms5eiBklF0Fi/dbVg==",
      "requires": {
        "@sendgrid/client": "6.3.0",
        "@sendgrid/helpers": "6.3.0"
      }
    },
  • إصدار Node.js: 8.11.1
unknown or a hacktoberfest help wanted bug

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

يجب أن يكون مثل:
"dynamic_template_data": {
"الموضوع": "موضوعك" ،
} ،

انتقل إلى https://sendgrid.com/dynamic_templates
وأضف {{{subject}}} في TEMPLATE SETTINGS.

إنه يعمل بالنسبة لي: +1:

ال 26 كومينتر

الحل البديل الذي أستخدمه هو إضافة موضوع في واجهة ويب SendGrid مثل {{subject}} ثم تمرير متغير الموضوع إلى dynamic_template_data . يبدو أن متغيرات القالب تعمل في الموضوعات بحيث يمكنك بشكل أساسي تمرير الموضوع بأكمله برمجيًا بهذه الطريقة.

مرحبا falconmick ،

يعمل الحل البديل @ wbw20 ، يرجى محاولة ذلك أثناء التحقيق في السبب الجذري.

@ wbw20 ،

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

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

إلمر

FWIW ، أرى سلوكًا مشابهًا مع Ruby lib.

لا يؤدي تعيين الموضوع على كائن البريد الإلكتروني إلى تجاوز أي شيء محدد في القالب على أدوات الويب. يجب أن تجعله مقودًا ويضيف إلى كل تخصيص.

أنا أيضا أواجه هذه المشكلة. أنا أجد صعوبة في تحديد سبب فشلها بالضبط.

يبدو الحل البديل قابلاً للتطبيق ، ولكنه مؤسف لأنه يتعارض مع الإعداد الذي لدينا لجميع رسائل البريد الإلكتروني الأخرى لـ SendGrid.

يجب أن يكون مثل:
"dynamic_template_data": {
"الموضوع": "موضوعك" ،
} ،

انتقل إلى https://sendgrid.com/dynamic_templates
وأضف {{{subject}}} في TEMPLATE SETTINGS.

إنه يعمل بالنسبة لي: +1:

يجب أن يكون حل atarabbi هو ما تحتاجه. يرجى الاستمرار في التعليق على هذا الموضوع إذا كنت لا تزال تواجه مشاكل. شكر!

يجب أن يكون حل atarabbi هو ما تحتاجه. يرجى الاستمرار في التعليق على هذا الموضوع إذا كنت لا تزال تواجه مشاكل. شكر!

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

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

سأحاول استخدام قالب ديناميكي لسطر الموضوع ، لكن الوثائق غير متسقة بشكل مدهش

مما أراه في المستندات هنا ، تم توثيقه لتحديث موضوع القالب باستخدام متغير المقاود (ممنوح ، قد يكون هذا شرحًا أكثر شمولاً). baugarten فقط للتأكد ، هل تقول أن هذا لا يعمل من أجلك؟ هل يمكنك الإشارة إلى أين نوجهك في الاتجاه الخاطئ؟

أرى أننا لا نوثق dynamic_template_data في حزمة العميل .

أيضًا ، هل تستخدم أحدث إصدار للمكتبة v6.3.1؟

بالتأكيد تريد إصلاح هذا ، واعتذر عن الالتباس!

FWIW أرى أيضًا هذه المشكلة في مكتبة Golang ، ولا يمكنني تجاوز موضوع القالب من استدعاء API. إذا لم أتمكن من العثور على حل مناسب ، فسأثير مشكلة هناك أيضًا.

عذرًا ، تقول المستندات تحديدًا أن الموضوع الأساسي سيتم استبداله بموضوع التخصيص ، والذي لا يماثل على الإطلاق القدرة على قالب الموضوع.

تحرير: خاصة عندما لا تعمل مكتباتك الخاصة. يضيفون موضوعًا في التخصيص ، حيث لا يمكن استخدامه للقالب. إذا كنت تتوقع أن يكون هذا هو السلوك الموثق ، فستحتاج المكتبات إلى إضافته إلى الكائن الفرعي dynamic_template_data.

واجه أيضًا هذا الموضوع ، لا يبدو أنه قد تم الكتابة فوقه ، ولكن الحل يمكن استخدامه.

يبدو أن ترك الموضوع في "dynamic_template_data" والإشارة إليه في النموذج باستخدام {{{subject}}} يعمل بالفعل. أيضا ما لاحظته هو أن custom_args لم يعد موجودًا. يتم دمجه مع الاستبدالات في "dynamic_template_data". للأسف لا تخبر المستندات هذا. إذا كنت تريد تمرير معلمة لغة على سبيل المثال ، فقم بذلك أيضًا في "dynamic_template_data".

يعمل الحقل "dynamic_template_data" لكنه يبدو غير موثق: https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/index.html

وما زالت هذه المسألة. لماذا تم إغلاق هذا؟

الحل لا يعمل بشكل موثوق. إذا قمت بإرسال ما يقرب من 30 رسالة بريد إلكتروني في حلقة باستخدام نفس الموضوع بالضبط ، فسأحصل على بعضها بالموضوع الذي أرسلته والبعض الآخر (بدون موضوع).

هل توجد حاليًا طريقة لإرسال موضوع مخصص بشكل موثوق عبر واجهة برمجة التطبيقات؟

@ deepai-org من الأفضل استخدام أحدث المستندات هنا: https://sendgrid.com/docs/API_Reference/api_v3.html

vladkosarev هل تقول أنك تستخدم نفس القالب الديناميكي مع موضوع مقولب مع المقاود (انظر https://github.com/sendgrid/sendgrid-nodejs/issues/713#issuecomment-443206995) وأن حمولة طلبك تحتوي على بيانات القالب الديناميكي للموضوع ولا تستخدم الموضوع بشكل موثوق؟ إذا كانت هذه هي الحالة ، فمن الأفضل الاتصال بالدعم لأن هذا ليس شيئًا يمكن / يجب معالجته بواسطة مكتبة من جانب العميل.

@ childish-sambino بعد فترة كان الموضوع صحيحًا بالفعل في جميع رسائل البريد الإلكتروني. يبدو أن هناك شيئًا غير متزامن يحدث لفترة من الوقت وستحصل بعض رسائل البريد الإلكتروني على قالب بريد إلكتروني قديم وبعض الرسائل الجديدة.

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

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

بالنسبة إلى سبب الحاجة إلى بعض المزامنة حتى يكون الموضوع صحيحًا لجميع رسائل البريد الإلكتروني ، فمن الأفضل الاتصال بالدعم.

@ childish-sambino هل يمكنك أن تدلني من فضلك على مكان في المستندات يشرح كيفية استخدام الموضوع في القالب الديناميكي؟ ما زلت لا أجد ذلك في أي مكان في هذا الرابط الجديد. شكر!

إذا كنت أتذكر vladkosarev بشكل صحيح ، فأنت تريد تعيين قيمة المقاود في القالب نفسه للموضوع - يتم ذلك باستخدام القالب GUI. ثم قم فقط بالإشارة إلى هذه القيمة في التعليمات البرمجية الخاصة بك.

image

aroach شكرًا ولكني مهتم برؤية ذلك في المستند ، وليس في تعليق على جيثب. بالمناسبة {{}} لم يعمل معي عندما حاولت ، فقط الأقواس الثلاثية {{{}} عملت (يمكن أن تكون نفس المشكلة غير المتزامنة كما كانت من قبل).

vladkosarev يبدو أنه مذكور هنا: https://sendgrid.com/docs/ui/sending-email/how-to-send-an-email-with-dynamic-transactional-templates/

يمكن استخدام قالب المقاود هذا في النص ، و html ، وأسطر الموضوع في القالب الخاص بك.

aroach شكرا لك. لقد أجريت للتو المزيد من الاختبارات واستغرق الموضوع بعض الوقت لتطبيقه فعليًا على أحد النماذج ، لذا يبدو أنه لا يعمل إذا كنت تختبر (تحرير القالب / الإرسال) إذا انتظرت 10 دقائق ، فسيتم تطبيقه بالفعل ويعمل على النحو المنشود. قد أتواصل مع SG لتوثيق أن تحديثات القوالب ليست في الوقت الحقيقي (على الأقل للموضوع) وأنه يتعين عليك الانتظار قليلاً لإجراء اختبار. شكرا جزيلا.

يجب أن يكون Whatthefoxsays قادرًا على ملاحقة هذا الأمر و / أو إجراء التعديلات المناسبة. 👋

aroach شيء واحد يجب أن أذكره على الأرجح هو أن لدينا

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