Sendgrid-nodejs: البدائل لا تعمل

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

ملخص القضية

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

image

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

  1. استنساخ https://github.com/panayi/test-sg/
  2. انسخ نص القالب من المثال وأنشئ قالب معاملات على SendGrid UI.
  3. قم بتحرير test.js لإدخال مفتاح API وعنوان بريدك الإلكتروني و templateId الذي أنشأته أعلاه.
  4. قم بتشغيل node test.js .

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

  • sendgrid-nodejs الإصدار: @ sendgrid / [email protected]
  • إصدار Node.js: 8.6.0.2
unknown or a help wanted question

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

مرحبًا ، بعد قراءة تعليق himanshupnt ، اختبرت @ himanshupnt .

في وقت لاحق وجدت وثائق Sendgrid Mail Send with Dynamic Transactional Templates ، لقد حصلت على نوع من القالب الجديد (وليس النموذج القديم) يعمل. لقد استخدمت نفس قالب HTML وتم تحديث الكود الخاص بي إلى:

  const sgMail = require("@sendgrid/mail");
  sgMail.setApiKey(process.env.SENDGRID_API_KEY);
  sgMail.setSubstitutionWrappers("{{", "}}"); // Configure the substitution tag wrappers globally

  const msg = {
    from: "[email protected]",
    templateId: "d-27e7d954368c46519eddc806e5cf8156",
    personalizations: [
      {
        to: [
          {
            email: "[email protected]"
          }
        ],
        dynamic_template_data: {
          name: "Someone",
          city: "Somewhere",
          subject: "Hello new world"
        }
      }
    ]
  };

  sgMail.send(msg).catch(err => console.error(err.message));

لاحظ أنني استبدلت "الاستبدالات" بـ "dynamic_template_data" ، ووضعت "إلى" داخل "التخصيصات" كما هو مطلوب في المستندات. كما أنني تعاملت مع الموضوع على أنه أحد "dynamic_template_data" ويعمل. (ضع {{subject}} في حقل موضوع النموذج)

شكر.

ال 43 كومينتر

مرحبا panayi ،

بعض الأشياء للتحقق:

  1. تحقق من صحة معرف القالب
  2. تحقق من وضع علامة على القالب نشطًا في واجهة المستخدم

هل يمكنك أيضًا مشاركة شكل HTML الخاص بك؟

شكر!

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

إلمر

مرحبًا ، thinkingserious ، لقد تمكنت من إعادة إنتاج نفس المشكلة كما ذكر panayi .
يبدو رمز Html الخاص بي شيئًا كهذا

مرحبًا first_name (الموظف: Employ_id)
بعض كود HTML

الشفرة

sgMail.setApiKey('apikey');
sgMail.setSubstitutionWrappers('{{', '}}'); // Triied sgMail.setSubstitutionWrappers('-', '-'); as well`

const msg = {
  to: '[email protected]',
  from: '[email protected]',
  subject: 'Hello world',
  text: 'Hello plain world!',
  html: 'Hello HTML world!',
  templateId: 'template-id',
  substitutions: {
    first_name: 'Tejas',
    employee_id: 'emp123',
  },
};
sgMail.send(msg);

ملاحظة: لقد حاولت حتى استخدام substitutionWrappers: ['{{', '}}']
ضمن msg لكن بدون حظ.

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

تم تقدير أي تعليمات / إصلاح لأنني استثمرت الكثير من الوقت في هذه المشكلة

مرحبا tjstlekr ،

في كود HTML الخاص بك ، يرجى تغيير first_name إلى {{first_name}} و employee_id إلى {{employee_id}} .

شكر!

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

إلمر

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

نعم tjstlekr ، أعني رمز القالب كما هو موضح في هذا المثال .

لا أستطيع الإجابة على سؤالك الثاني بدون أمثلة ملموسة. (على سبيل المثال ، نص الطلب ورمز القالب).

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

إلمر

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

هل حاولت:

substitutions: {
    'first_name': 'Tejas',
    'employee_id': 'emp123',
  },

نعم ، حاول thinkingserious ذلك. لقد جربت أيضًا الطرق التالية


substitutions: {
    '-first_name-': 'Tejas',
    '-employee_id-': 'emp123',
  },

substitutions: {
    '%first_name%': 'Tejas',
    '%employee_id%': 'emp123',
  },

substitutions: {
    '=first_name=': 'Tejas',
    '=employee_id'=: 'emp123',
  },

tjstlekr ،

أعتقد أن الحل الخاص بك هو الحصول على أي شخص يمكنه تغيير رمز قالب HTML ليقوم بلف المتغيرات بحرف (أحرف) بديلة.

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

إلمر

thinkingserious هو الصحيح. يجب أن يتم تغليف متغيرات القالب بأقواس مزدوجة {{name}}. وإلا فلن تعرف SendGrid أين تسقط البدائل التي أرسلتها.

المتغيرات تحتاج حقا أقواس مزدوجة؟ سأقوم بتجربته ولكن منشورًا مختلفًا لنفس الشخص أظهر البدائل تعمل بالشرطات ، وليس الأقواس المزدوجة:
screenshot 2018-06-26 14 08 12

مرحبًا tetreault ،

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

شكر!

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

إلمر

لقد واجهت نفس المشكلة مثل panayi .

تابعت نموذج قوالب المعاملات . لقد قمت بتعيين أغلفة الاستبدال وفي القالب ، استبدلت بدائل بين قوسين مزدوجين. ومع ذلك ، فقد أزال البريد الإلكتروني الذي تلقيته جميع البدائل دون استبدال تلك التي قدمتها.

حاولت مع كل من محرر الكود ومحرر التصميم للقالب.

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

شكر!

مرحبًا nrator ،

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

شكر!

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

إلمر

مرحبًا thinkingserious

أنا لا أستخدم متغيرات ولكن سلسلة لذا فهي ليست فارغة. فيما يلي مقتطف الشفرة و HTML والنتيجة التي حصلت عليها:

الشفرة

const sgMail = require("@sendgrid/mail");
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
sgMail.setSubstitutionWrappers("{{", "}}"); // Configure the substitution tag wrappers globally

const msg = {
  from: "[email protected]", // my personal email
  to: "[email protected]", // my another personal email
  subject: "Hello world",
  text: "Hello plain world!",
  html: "<p>Hello HTML world!</p>",
  templateId: "d-27e7d954368c46519eddc806e5cf8156",
  substitutions: {
    name: "Some One",
    city: "Denver"
  }
};

  sgMail.send(msg).catch(err => console.error(err.message));

قالب HTML

<html>
<head>
    <title></title>
</head>
<body>
Hello {{name}},
<br /><br/>
I'm glad you are trying out the template feature!
<br /><br/>
<%body%>
<br /><br/>
I hope you are having a great day in {{city}} :)
<br /><br/>
</body>
</html>

حصلت على البريد الإلكتروني

Hello , 

I'm glad you are trying out the template feature! 

<%body%> 

I hope you are having a great day in :) 

تفاصيل تقنية
sendgrid-nodejs الإصدار: @ sendgrid / [email protected]
إصدار Node.js: 8.11.2

تحياتي الحارة،
جايسون

مرحبًا ، أواجه نفس المشكلة مع قوالب المعاملات. المتغيرات لن تلتقط. باستخدام بيانات الاختبار لمعاينة القالب في لوحة معلومات SG ، يبدو كل شيء صحيحًا.
يتم إرسال رسائل البريد الإلكتروني إلى الشخص المناسب ، وباستخدام النموذج الصحيح باستثناء القيم المتغيرة المفقودة.
لقد أنشأت نموذجًا قديمًا منذ يومين كان يعمل بشكل جيد واليوم انتقلت إلى أحدث
قوالب المعاملات ولا تعمل. لقد قمت فقط بنسخ النموذج القديم القديم الذي كان
تعمل بشكل جيد.
"@ sendgrid / mail": "6.3.1" | Node.js 8.10.2 تحديث
هذا هو الكود الخاص بي:

async function sendEmail({ email, firstName, password }) {
  const msg = {
    to: [{ email, firstName }],
    from: {
      email: "[email protected]",
      name: "name"
    },
    asm: {
      group_id: 1234
    },
    templateId: "d-64b15a042b2d41d7a4b5b6a4eea649c5",
    substitutions: {
      userName: firstName,
      email,
      password
    }
  }
  try {
    await sgMail.send(msg);
  } catch(e){
    e.message
  }

  };

وهنا نموذج html:

<h3>Hi {{userName}},</h3>

<div><span style="font-size:16px;">Your account has been setup. To login please use</span></div>

<div><span style="font-size:16px;">the credentials below.</span></div>

<div>&nbsp;</div>

<div><span style="font-size:16px;"><strong>Email:</strong>&nbsp;{{email}}</span></div>

<div><strong><span style="font-size:16px;">Password:&nbsp;</span></strong><span style="color: rgb(0, 0, 0); font-family: arial; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400;">{{password}}</span></div>

<div><span style="font-weight: 600; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-family: arial; font-size: 14px; color: rgb(0, 0, 0);"><span style="font-size: 16px;">SignIn Url: <a href="https://a.abc.com">https://a.abc.com/</a></span></span></div>

<div>&nbsp;</div>

<div>&nbsp;</div>

<div><span style="font-size:16px;">Please let us know if you need any help, email us at <a href="mailto:[email protected]">[email protected]</a></span></div>

في صحتك

لقد انتقلت للتو إلى القالب القديم بنفس كود html وهو يعمل. هل يمكن أن يكون ذلك بسبب التغييرات الجديدة في V3 API؟

مرحبًا ، بعد قراءة تعليق himanshupnt ، اختبرت @ himanshupnt .

في وقت لاحق وجدت وثائق Sendgrid Mail Send with Dynamic Transactional Templates ، لقد حصلت على نوع من القالب الجديد (وليس النموذج القديم) يعمل. لقد استخدمت نفس قالب HTML وتم تحديث الكود الخاص بي إلى:

  const sgMail = require("@sendgrid/mail");
  sgMail.setApiKey(process.env.SENDGRID_API_KEY);
  sgMail.setSubstitutionWrappers("{{", "}}"); // Configure the substitution tag wrappers globally

  const msg = {
    from: "[email protected]",
    templateId: "d-27e7d954368c46519eddc806e5cf8156",
    personalizations: [
      {
        to: [
          {
            email: "[email protected]"
          }
        ],
        dynamic_template_data: {
          name: "Someone",
          city: "Somewhere",
          subject: "Hello new world"
        }
      }
    ]
  };

  sgMail.send(msg).catch(err => console.error(err.message));

لاحظ أنني استبدلت "الاستبدالات" بـ "dynamic_template_data" ، ووضعت "إلى" داخل "التخصيصات" كما هو مطلوب في المستندات. كما أنني تعاملت مع الموضوع على أنه أحد "dynamic_template_data" ويعمل. (ضع {{subject}} في حقل موضوع النموذج)

شكر.

nrator هذا ما فعلته لي أيضًا. شكرا لنشره!

أواجه نفس المشكلة وفتحت مشكلة أيضًا (بعد تجربة الحلول المذكورة في البداية). ومع ذلك فقد تمكنت من إضافة name و city إلى القالب التالي الذي ذكره nrator . لكن تعذر استبدال <%subject%> و <%body%> حيث تم تضمينهما في البريد الإلكتروني الذي أتلقاه. كيف يمكنني استبدال <%body%> و <%subject%> ؟ @ himanshupnt كيف حللت هذا؟

مرحبًا @ pankaja92 ، لم أستطع الحصول على <٪ subject٪> يعمل كذلك. الآن طريقتي في التعامل مع الموضوع هي التعامل معه باعتباره أحد "dynamic_template_data" ، مما يعني أنني أقوم بلفه {{}} بدلاً من <٪٪> وأتعامل معه داخل "dynamic_template_data".

لقد وجدت مستندات sendgrid هذه والتي قد تساعد. يبدو أن معلمة الموضوع لا تعمل بالرغم من ذلك.

nrator شكرا. انها عملت. لذلك ، ليست هناك حاجة إلى <٪ body٪> أيضًا بشكل صحيح (لأنها لن تعمل أيضًا كما هو موضح في المثال المذكور).

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

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

بالنسبة للرموز الفعلية ، يمكنك الرجوع إلى هذا الريبو .

أتمنى أن يساعد!

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

بدلاً من استخدام substitutions ، استخدم dynamicTemplateData في الكائن الرئيسي msg بدلاً من ذلك:

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

sgMail.setApiKey(process.env.SENDGRID_API_KEY)
sgMail.setSubstitutionWrappers('{{', '}}')

const msg = {
  to: '[email protected]',
  from: '[email protected]',
  templateId: 'd-27e7d954368c46519eddc806e5cf8156',
  dynamicTemplateData: {
    name: 'Some One',
    city: 'Denver',
  },
}

sgMail.send(msg)

المرجع: https://github.com/sendgrid/sendgrid-nodejs/pull/691

وفقًا لذلك PR ، عندما يكون templateId قالبًا ديناميكيًا (مسبوقًا بـ d- ) ، لا يتم إرسال substitutions على الإطلاق ، لذا فإن dynamicTemplateData يجب استخدام الكائن.

لقد أنشأوا مشكلة هنا لتحسين استخدام إضافة القوالب الديناميكية إلى المستندات ، ولكن حتى ذلك الحين آمل أن يكون هذا مفيدًا. 🎉

برجاء متابعة هذا العدد: # 703

تغيير "الاستبدالات" إلى "dynamic_template_data"

jseyfert ألا يجب أن يكون dynamic_template_data ؟

aroach أنت على صواب. لقد قمت بتحديث تعليقي.

في البداية لم ينجح الأمر في جانبي أيضًا.
لقد لاحظت أن إصداري كان قديمًا بعض الشيء (كنت أستخدم @ sendgrid / mail @ 6.2.1)
لقد قمت بتحديث الحزمة وتغيير الكود الخاص بي وهو يعمل الآن:

باستخدام @ sendgrid / [email protected]

const result = await this.sgMail.send({
                personalizations: [{
                    to: this._to
                }],
                dynamicTemplateData: {
                    test: 'test' <== working (code in template: {{ test }})
                },
                templateId: this._templateId,
            });

يجب أن أشير إلى أن الكود أدناه لا يعمل:

const result = await this.sgMail.send({
                personalizations: [{
                    to: this._to,
                dynamicTemplateData: {
                    test: 'test' <== NOT working (code in template: {{ test }})
                }
                }],
                templateId: this._templateId,
            });

نعم ، أنت بحاجة إلى استخدام v6.3.1 لدعم dynamic_template_data.

في الثلاثاء 11 ديسمبر 2018 الساعة 4:15 صباحًا كتب Roy Milder [email protected] :

في البداية لم ينجح الأمر في جانبي أيضًا.
لقد لاحظت أن إصداري كان قديمًا بعض الشيء (كنت أستخدمه
@ sendgrid / mail @ 6.2.1)
لقد قمت بتحديث الحزمة وتغيير الكود الخاص بي وهو يعمل الآن:

باستخدام @ sendgrid / [email protected]

نتيجة const = wait this.sgMail.send ({
التخصيصات: [{
إلى: this._to
}] ،
dynamicTemplateData: {
test: 'test' <== working (الكود في النموذج: {{test}})
} ،
templateId: this._templateId ،
}) ؛

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/sendgrid/sendgrid-nodejs/issues/676#issuecomment-446166152 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/ACL-sjFRFP8txUETNWFVLs0chW5yyL1Nks5u35OzgaJpZM4TOB5l
.

مرحبا لا تنسى
لا تنشئ نموذج معاملات ، وأنشئ نموذجًا قديمًا وقم بعمل نسخة منه.
ثم كل الخطوات التي ستعملها.

dynamicTemplateData

تناسبني. لدي أحدث إصدار من مكتبة SendGrid ، وأنا أستخدمها من خلال Firebase (الوظائف). المشكلة الرئيسية الآن هي عدم وجود دعم TypeScript - والوثائق.

roymilder ، شكرًا جزيلاً لك. لقد جعلت إجابتك يومي - البدائل للقوالب الديناميكية غير واضحة تمامًا.
مجد!

مرحبا OleksiiM ،

هل هذا المثال يساعد؟

@ darren-dev ،

شكرا للمساعدة! فيما يتعلق بنقص دعم TypeScript والوثائق ، هل تشير إلى جانب Firebase؟

uups ،

شكرا للمساعدة!

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

إلمر

thinkingserious ، نعم هو كذلك. شكرا جزيلا.

OleksiiM ،

أين نظرت أولا؟ أحاول اكتشاف كيفية التأكد من أن الأشخاص الذين يحتاجون إلى استخدام قوالب ديناميكية ينتقلون إلى الرابط الذي أرسلته إليك أولاً.

تضمين التغريدة
بدأت هنا .

انها تقول:
"إرسال قوالب المعاملات
يمكنك إرسال قوالب المعاملات باستخدام إحدى الطرق الثلاث:
استخدام ترحيل SMTP
تضمين معرف القالب في معلمة القوالب لنقطة نهاية Web API v3 Mail Send
استخدام المعلمة x-smtpapi في نقطة نهاية إرسال البريد لـ Web API v2 "

لذلك انتقلت إلى "تضمين معرف القالب في معلمة القوالب لنقطة نهاية إرسال البريد لـ Web API v3 ".

لماذا كان غير واضح:
تعرض الصفحة الأخيرة قائمة "معامِلات الطلب الأساسية" المحتملة التي تعرض template_id ولكنها لا تذكر شيئًا عن حقل "dynamic_template_data". لقد حاولت استخدام "التخصيصات" + "الاستبدالات" + "template_id" ولم تنجح.
أيضًا ، نظرًا لأنني مستخدم Sendgrid جديد ، لم أكن على دراية بالقوالب "القديمة" والقوالب "الجديدة" (الديناميكية) والفرق بينهما (لا تذكر صفحات مستندات sendgrid من الأعلى شيئًا عن ذلك).

شكرًا لك على السؤال وتحسين المستندات. آمل أن يتجنب الأشخاص الآخرون هذا النوع من المشاكل.

thinkingserious إذا كان بإمكاني إضافة:
أنا أستخدم حاليًا هذه المستندات: https://sendgrid.com/docs/API_Reference/api_v3.html

التعليمات الخاصة بإرسال البريد الإلكتروني (https://sendgrid.api-docs.io/v3.0/mail-send) لا تذكر dynamic_template_data على الإطلاق في التخصيصات.

لذلك هذا غير واضح أيضًا.

أتمنى أن يساعد!

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

شكرا OleksiiM &roymilder! نحن نقدر مساهماتك في مجتمع Twilio SendGrid :)

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

بدلاً من استخدام substitutions ، استخدم dynamicTemplateData في الكائن الرئيسي msg بدلاً من ذلك:

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

sgMail.setApiKey(process.env.SENDGRID_API_KEY)
sgMail.setSubstitutionWrappers('{{', '}}')

const msg = {
  to: '[email protected]',
  from: '[email protected]',
  templateId: 'd-27e7d954368c46519eddc806e5cf8156',
  dynamicTemplateData: {
    name: 'Some One',
    city: 'Denver',
  },
}

sgMail.send(msg)

المرجع # 691

وفقًا لذلك PR ، عندما يكون templateId قالبًا ديناميكيًا (مسبوقًا بـ d- ) ، لا يتم إرسال substitutions على الإطلاق ، لذا فإن dynamicTemplateData يجب استخدام الكائن.

لقد أنشأوا مشكلة هنا لتحسين استخدام إضافة القوالب الديناميكية إلى المستندات ، ولكن حتى ذلك الحين آمل أن يكون هذا مفيدًا. 🎉

صراع منذ يومين رأيت هذا وحصلت على هذا العمل.

مرحبا Travotics ،

ما الوثائق التي بدأت بها قبل أن تجد ما ورد أعلاه؟ أحاول تحسين هذه التجربة. شكر!

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

إلمر

thinkingserious https://github.com/sendgrid/sendgrid-nodejs/blob/master/use-cases/kitchen-sink.md

لا يحتوي على dynamicTemplateData ولكنه يحتوي على substitutionWrappers و substitutions .

بالإضافة إلى تحديث المستندات ، سيكون من الجيد أيضًا تحديث واجهة النوع MailData (https://github.com/sendgrid/sendgrid-nodejs/blob/master/packages/helpers/classes/) mail.d.ts # L117). بالنسبة إلى إصدارات @ sendgrid / mail التي لا تدعم substitutions ، يجب أن يتوقعوا المعلمة V2MailData التي تم حذف الحقول substititons و substitutionWrappers .

مرحبًا ، بعد قراءة تعليق himanshupnt ، اختبرت @ himanshupnt .

في وقت لاحق وجدت وثائق Sendgrid Mail Send with Dynamic Transactional Templates ، لقد حصلت على نوع من القالب الجديد (وليس النموذج القديم) يعمل. لقد استخدمت نفس قالب HTML وتم تحديث الكود الخاص بي إلى:

  const sgMail = require("@sendgrid/mail");
  sgMail.setApiKey(process.env.SENDGRID_API_KEY);
  sgMail.setSubstitutionWrappers("{{", "}}"); // Configure the substitution tag wrappers globally

  const msg = {
    from: "[email protected]",
    templateId: "d-27e7d954368c46519eddc806e5cf8156",
    personalizations: [
      {
        to: [
          {
            email: "[email protected]"
          }
        ],
        dynamic_template_data: {
          name: "Someone",
          city: "Somewhere",
          subject: "Hello new world"
        }
      }
    ]
  };

  sgMail.send(msg).catch(err => console.error(err.message));

لاحظ أنني استبدلت "الاستبدالات" بـ "dynamic_template_data" ، ووضعت "إلى" داخل "التخصيصات" كما هو مطلوب في المستندات. كما أنني تعاملت مع الموضوع على أنه أحد "dynamic_template_data" ويعمل. (ضع {{subject}} في حقل موضوع النموذج)

شكر.

شكرا جزيلا لهذا! لقد أمضيت وقتًا طويلاً في تصحيح الأخطاء لهذا الأمر. : /

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