Массовая рассылка HTML-рассылки в Asp.Net

Я разрабатываю сайт, на котором мне нужно отправлять информационные бюллетени HTML в список рассылки.

Я построил html-фрейм, в котором у меня есть ссылки «Просмотреть в браузере» и «Отписаться» (какие причины будут различаться). В админке выкладываю html и загружаю картинки для html-рассылки. Это хороший способ сделать это?

Как я должен отправлять электронные письма лицам XX.XXX? Я не могу использовать скрытую копию, потому что ссылка для отказа от подписки будет другой. Так что я думаю, что я должен отправить все электронные письма отдельно. Но код должен быть отказоустойчивым, поэтому только половина получит информационный бюллетень в случае ошибки.

С уважением, Лассе.


person Lasse Espeholt    schedule 03.10.2009    source источник


Ответы (2)


Надеюсь, это полезно:

  1. Используйте MailDefinition в качестве механизма шаблонов http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.maildefinition.aspx Если у вас большие числа, вы можете не использовать SMTP в качестве транспортного протокола, а создавать файлы для каждого электронного письма. которые вы хотите отправить, а затем поместить их прямо в папку «Drop» вашего SMTP-сервера. Mirosoft SMTP Server позволяет это довольно легко.

  2. Используйте уникальный обратный адрес электронной почты для каждого электронного письма (но включите ответ на реальный адрес, например офис (в) yourdomain.com. Пусть эти возвратные адреса электронной почты указывают на одну общую учетную запись, и после отправки вашего информационного бюллетеня удалите все адреса, которые были возвращены из вашей базы данных.

  3. Что касается отказоустойчивости, я, кажется, не совсем понимаю. Почему вы хотите, чтобы только половина получала информационный бюллетень? Я бы выявлял любые проблемы, связанные с сервером, и немедленно останавливал обработку, а любые проблемы, связанные с клиентом (электронная почта клиента не работает, см. 2.), либо пропускаются и регистрируются (если обнаружены во время обработки), либо обрабатываются позже (если обнаруживаются позже).

  4. В зависимости от вашего местного законодательства проверьте политику отказа от подписки.

  5. Также взгляните на встраивание изображений непосредственно в html (неизвестный факт заключается в том, что вы можете вставлять изображения непосредственно в файлы ). Это обычно увеличивает размер электронной почты, но позволяет Outlook отображать эти изображения напрямую, не обращаясь к вашему серверу. Конечно, если вы хотите отслеживать новостную рассылку через маяк изображения или что-то подобное, вам нужны образы сервера.

  6. Конечно, проверьте все распространенные почтовые клиенты на правильность отображения. Насколько я знаю, почти невозможно отправить формат, который каждый клиент будет отображать правильно, если вы не отправите обычный текст :)

person Alex Duggleby    schedule 03.10.2009
comment
1. Я посмотрю :) 2. Следует отметить, что я использую веб-отель, а не свой собственный сервер. Но нельзя ли сбойные адреса электронной почты не попасть в обработку? 3. Мой английский не очень хорош, поэтому я думаю, что вы меня неправильно поняли. Я не хочу отправлять половину бюллетеня. Но если у меня есть цикл for, который отправляет электронное письмо на каждый адрес электронной почты, что произойдет, если он выйдет из строя внутри цикла for? 5. Я знаю, но я бы предпочел не отправлять большое электронное письмо через мой веб-отель. 6. Ага :) Я не думаю, что буду отправлять более 3-5000 электронных писем одновременно, но было бы неплохо быть уверенным в завтрашнем дне. - person Lasse Espeholt; 03.10.2009
comment
2. Не всегда. Обычно smtp-сервер, на который вы отправляете, будет выдавать только получателя, который не найден, если это система с одним сервером, которая знает обо всех своих получателях. Возьмите более крупную систему, и входящий сервер не знает об учетной записи. 3. Просто поместите try catch в цикл и зарегистрируйте ошибку. для затем попробуйте затем отправить почту отправить поймать (журнал) затем конец для. 5. Хорошо, тогда изображения на стороне сервера, вероятно, являются единственным решением, но многие провайдеры не будут показывать их изначально, если пользователь не решил доверять вашему адресу электронной почты для отправки бюллетеня. - person Alex Duggleby; 03.10.2009
comment
привет, Алекс, как я могу выполнить шаг 1. Если ваши числа велики, вы можете не использовать SMTP в качестве транспортного протокола, а создавать файлы для каждого электронного письма, которое вы хотите отправить, а затем помещать их непосредственно в папку Drop вашего SMTP-сервер. Mirosoft SMTP Server позволяет это довольно легко. - person Pragnesh Patel; 28.06.2010
comment
Не совсем уверен, какая информация вам нужна, но в основном просто создайте один файл .eml (AFAIR, вы можете сохранить MailMessage в файл .eml) и поместите их в c:\inetpub\mailroot\drop (или аналогичный, в зависимости от того, какой SMTP-сервер вы используете) с использованием). ХТН - person Alex Duggleby; 03.07.2010

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

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

HTML должен быть базовым HTML 3.0 или что-то в этом роде. это гарантирует, что большинство почтовых клиентов будут правильно отображать вашу электронную почту.

будьте особенно осторожны при создании списка рассылки, очень легко получить бан на определенных серверах, таких как google или hotmail.

person Alexandre Brisebois    schedule 03.10.2009
comment
Я мог бы это сделать, но текстовое поле - плохой пользовательский опыт: / когда я отправляю несколько разных электронных писем, не даст ли сервер в конце концов тайм-аут? - person Lasse Espeholt; 03.10.2009
comment
Я согласен с тем, что текстовое поле — плохой пользовательский опыт, но это также хороший способ удержать ленивых в списке рассылки. - person Alexandre Brisebois; 05.10.2009