Отправка нескольких электронных писем - решения, используемые в больших системах - PullRequest
3 голосов
/ 12 июля 2011

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

Мой вопрос несколько сложен:

1) Мне очень любопытны решения, которыеиспользуются сейчас - я имею в виду .. Например, в банковской системе.Куда иногда нужно отправить миллионы писем.Как банковская система отправляет клиентам несколько электронных писем?

2) Это возможно с простой учетной записью Gmail или Hotmail?

3) Что необходимо для отправки очень большого количества писем?

4) с использованием "System.Net.Mail;"такое хорошее решение?Отправка по одному - всем клиентам банка?

5) Что мне делать, чтобы не отправлять электронные письма как спам?

Спасибо за помощь


РЕДАКТИРОВАТЬ:

Я знаю, что не могу доказать это, но мне это не нужно для спама.Каждая крупная компьютерная система компании должна иметь инструмент, поддерживающий отправку сообщений.

Это будет на 100% законно!Я хочу создать инструмент - в конфигурации клиент будет устанавливать свой собственный почтовый сервер (это может быть gmail, hotmail или его собственный).И подключитесь к его системе - например, к библиотеке или к чему-либо еще.Когда школа хочет сообщить всем родителям о мероприятии или библиотеке ... или, может быть, что-то большее - например, банк.

Я буду отправлять электронные письма только для тестирования - и я буду использовать, вероятно, «Papercut» - но я не знаю, насколько это надежный инструмент.

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

и

Мое решение на данный момент состоит в том, чтобы получать сообщения и все электронные письма из базы данных и отправлять их одно за другим, используя «System.Net.Mai» - это хорошее решение?

Ответы [ 3 ]

2 голосов
/ 12 июля 2011

Если вы используете Mvc, вы можете взглянуть на MvcMailer .Кажется довольно чистым и опрятным.

1 голос
/ 12 июля 2011

1) «Миллионы» звучат как спам.Но если банковская система отправляет всем своим клиентам, например, маркетинговую информацию или предупреждения о безопасности, она будет планировать это в течение нескольких периодов в нерабочее время (чаще всего ночью).Для этого банк (или любая другая организация) будет использовать какую-то систему для обработки создания и отправки электронной почты.

2) Не уверен насчет политик gmail и hotmail, но я могу гарантировать, что вы не сможетеотправляйте тысячи писем одновременно.

3) Большие системы будут использовать почтовые прокси (доверенные SMTP-серверы с аутентификацией) для отправки большого количества писем.

4) Лучший способ предотвратить "глупые ошибки""например, тысячи адресов электронной почты, указанных в CC ...: -)

5) Убедитесь, что получатели выбрали электронную почту.Другими словами, они согласились получить ваше письмо.

1 голос
/ 12 июля 2011

Используйте почтовый сервис. Их много вокруг. Даже у Amazon есть один как часть их облачных предложений. Это на самом деле сложный предмет. Вы должны соблюдать законы СПАМА, позволяющие людям отказаться от ваших электронных писем. Вы также можете получить свой IP-адрес в черном списке. Большинство интернет-провайдеров будут взимать с вас тысячи долларов, если вы внесете в черный список один из их IP-адресов.

Многие сервисы имеют API, к которому можно подключиться. Большинство взимается за электронную почту ... но если вы законный, вы сможете оплатить сборы.

UPDATE: Если вы действительно думаете, что у вас не будет проблем с попаданием в черный список, вот что я знаю. Технически, если SMTP отправляет на свои доверенные почтовые серверы, вы можете использовать System.Net.Mail. Сервер SMTP может выполнять некоторые проверки, когда отправитель подключается к отправке, или нет. Как только сообщение будет перенаправлено, если удаленный сервер отклонит сообщение по какой-либо причине (занесено в черный список, адрес не найден, поле заполнено), на адрес отправителя будет отправлено сообщение об отказе. Ваше сетевое соединение на стороне программирования будет узким местом. Я хотел бы предложить пакет электронной почты. Настройка партии будет сложной частью. Вы не хотите перегружать SMTP-сервер. Начните с 5000 пакетов электронной почты с интервалом от 3 до 5 минут между пакетами. Вы не хотите, чтобы ваш код отправителя электронной почты был веб-приложением, если приложение зависнет, вы выбросите все неотправленные письма и не будете знать, что вы отправили. Вы можете отслеживать их в базе данных или использовать постоянные сообщения с системой шин сообщений. Вам нужно будет наблюдать за отправкой, как ястреб, потому что, если ваши электронные письма начинают приходить в норму, вы захотите выяснить, почему, прежде чем заходить слишком глубоко. Убедитесь, что адрес отправителя действителен, это важно.

Сейчас существует множество законов о спаме. Посмотрите на CANSPAM (http://business.ftc.gov/documents/bus61-can-spam-act-compliance-guide-business). Как программист, вы правы, вас не волнует, что ваш клиент делает с кодом. Как деловой человек, предоставляющий эту программу своим клиентам, вы должны заботиться о том, чтобы у них не было проблем с это ... помните, что вы там технический консультант по этому вопросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...