Sendgrid-nodejs: أرسل بريدًا إلكترونيًا إلى عدة مستلمين بحيث يرى الجميع بريدهم الإلكتروني فقط في رأس TO

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

مرحبا،

كيف يمكنني إرسال بريد فردي باستدعاء API واحد باستخدام Web API v3 بحيث يرى كل مستلم عنوانه فقط في مربع TO؟ حاليًا ، أقوم بإرسال رسائل بريدية باستخدام nodejs و Web API v3 وتبعية sendgrid ولكن المشكلة هي أن المستخدمين يحصلون على قائمة المستلمين بالكامل في مربع TO. هذا هو الطلب:

var request = sg.emptyRequest({
        method: 'POST',
        path: '/v3/mail/send',
        body: {
            personalizations: [
                {
                    to: recepientEmails,
                    substitutions: emailTemplate.substitutions
                }
            ],
            from: {
                email: '[email protected]',
                name: 'Dorotea from AWW'
            },
            template_id: emailTemplate.template_id,
            categories: emailTemplate.categories
        }
    });

لقد قرأت أنه باستخدام Web API v2 ، سأحتاج إلى استخدام رأس x-smtp بحيث يتم إرسال البريد الإلكتروني إلى كل مستلم على حدة هنا في الصف الأول من الجدول.
https://sendgrid.com/docs/API_Reference/Web_API/mail.html

وقد قرأت أن كل شيء بدءًا من Web API v2 مع SMTP يمكن إجراؤه باستخدام Web API v3 باستخدام طلب واحد فقط هنا.
https://sendgrid.com/docs/Classroom/Send/v3_Mail_Send/how_to_migrate_from_v2_to_v3_mail_send.html

للختام ، أريد إجراء مكالمة API واحدة باستخدام Web API v3 لإرسال بريد إلكتروني إلى عناوين متعددة وأريد أن يكون لكل بريد إلكتروني فقط بريد المستلم هذا في رأس TO.

كل خير ،
زفونيمير

help wanted question

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

مرحبًا @ zvone187 ،

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

يجب عليك إضافة تخصيص مختلف لكل مستلم. يجب أن يُترجم إلى شيء مثل هذا في الكود:

// This assumes every recipient gets the same substitutions. If not, just add the right substitution for each email
const personalizations = recipientEmails.map(email => ({
    to: [{ email }],
    substitutions: emailTemplate.substitutions
}));
const request = sg.emptyRequest({
    method: 'POST',
    path: '/v3/mail/send',
    body: {
        personalizations,
        from: {
            email: '[email protected]',
            name: 'Dorotea from AWW'
        },
        template_id: emailTemplate.template_id,
        categories: emailTemplate.categories
    }
});

لست متأكدًا من الحد الحالي لعدد المستلمين الذين يمكنك الإرسال إليهم في طلب واحد.

ال 4 كومينتر

مرحبًا @ zvone187 ،

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

يجب عليك إضافة تخصيص مختلف لكل مستلم. يجب أن يُترجم إلى شيء مثل هذا في الكود:

// This assumes every recipient gets the same substitutions. If not, just add the right substitution for each email
const personalizations = recipientEmails.map(email => ({
    to: [{ email }],
    substitutions: emailTemplate.substitutions
}));
const request = sg.emptyRequest({
    method: 'POST',
    path: '/v3/mail/send',
    body: {
        personalizations,
        from: {
            email: '[email protected]',
            name: 'Dorotea from AWW'
        },
        template_id: emailTemplate.template_id,
        categories: emailTemplate.categories
    }
});

لست متأكدًا من الحد الحالي لعدد المستلمين الذين يمكنك الإرسال إليهم في طلب واحد.

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

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

iamtheib ،

شكرا للمساعدة! يرجى ملء هذا النموذج وسنرسل لك بعض الهدايا :)

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

إلمر

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