SendGrid SMTP API: несколько электронных писем одному и тому же получателю

У меня есть веб-приложение, которое использует функциональность X-SMTP SendGrid для создания одного электронного письма, которое затем объединяется и пересылается списку получателей, указанному в заголовке X-SMTPAPI.

Документация здесь: http://sendgrid.com/docs/API_Reference/SMTP_API/

Я использую MVC.NET и отправляю электронное письмо с помощью объекта MailMessage через smtp.sendgrid.net.

Кажется, все работает нормально, что касается объединения значений из заголовка и отправки электронных писем.

Однако я заметил, что если я несколько раз укажу один и тот же адрес электронной почты в списке «Кому», будет отправлено только одно электронное письмо (или, по крайней мере, я просто получу его).

У кого-нибудь был такой же опыт? Кто-нибудь знает способ обойти эту проблему?

Заранее спасибо!


person Medjeti    schedule 06.02.2014    source источник


Ответы (1)


Серверы SendGrid устранят дублирование массива To. Единственный способ обойти это — разделить дубликаты на отдельные SMTP-сообщения или изменить адреса, чтобы они не были дубликатами (вы можете использовать плюсовую адресацию, например, [email protected] и [email protected]).

person bwest    schedule 07.02.2014
comment
Спасибо за ваш ответ! Это где-нибудь задокументировано? Неужели нет способа отключить это поведение? - person Medjeti; 10.02.2014
comment
Если вы укажете уникальные данные для 2 получателей, например. различные уникальные_аргументы или значения подстановки, то будет отправлено 2 сообщения. Имейте в виду, что сообщения будут иметь один и тот же идентификатор SMTP, поэтому некоторые клиенты (например, gmail) будут отображать только одно из сообщений. - person bwest; 10.02.2014
comment
Чтобы ответить на ваши другие вопросы: мы обновим документацию (спасибо!), и нет возможности отключить поведение. Можете ли вы немного объяснить свой вариант использования? У нас не часто есть люди, которые намеренно хотят отправить дубликаты. - person bwest; 10.02.2014
comment
Еще раз спасибо, я подумаю о том, чтобы смешать там некоторые unique_args. Мой сценарий представляет собой соревнование, в котором пользователи могут участвовать в нескольких группах. Вместо того, чтобы объединять результаты для всех групп пользователей в одно большое сложное электронное письмо с результатами, мы решили использовать отдельные электронные письма с изложением результатов для каждой группы. - person Medjeti; 11.02.2014
comment
Итак, я попытался добавить массив unique_args с именем uid и значением случайно сгенерированного guid, и панель управления SendGrid действительно показывает все электронные письма как отправленные, включая повторяющиеся адреса. Однако, как вы упомянули, мой клиент (или, может быть, сервер Exchange?) показывает только одно полученное электронное письмо. - person Medjeti; 14.02.2014
comment
Да, именно этого я и опасался :( Лучший совет, который я могу дать в этой ситуации, — разделить дубликаты из вашего массива на разные SMTP-сообщения. Если в вашем массиве более 2 вхождений, может иметь смысл использовать рекурсивная функция для этого. - person bwest; 14.02.2014
comment
@bwest: у меня тоже такая проблема. Мой вариант использования описан здесь: stackoverflow.com /вопросы/28051007/. Может быть, вы мне подскажете... - person Anders Östman; 20.01.2015