Sendgrid-nodejs: Отправляйте электронные письма нескольким получателям, чтобы все видели только свое письмо в заголовке TO

Созданный на 6 янв. 2017  ·  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 рейтинги