2009-03-16 4 views
3

У меня есть приложение, которое программно генерирует и отправляет электронные письма. Список получателей может превышать 1000. Я прокручивал и отправлял отдельные электронные письма, но это занимало слишком много времени примерно на 0,5 сек. Подход, который я сейчас рассмотрю, - это удалить настройку в теле сообщения и отправить одно электронное письмо со всеми адресами в BCC. (Возможно, возможны другие решения, и я приветствую их, но меня в основном интересует сложность этого решения BCC.)Ограничения на число получателей BCC

Есть ли ограничение на количество получателей, разрешенных для одного электронного письма? Является ли это полностью зависимым от моего почтового клиента и/или конфигурации SMTP-сервера? Существуют ли другие пределы вне контроля моего домена? Кроме того, как обрабатывается BCC? Я предполагаю, что распределение BCC необходимо разбить на отдельные почтовые сообщения в какой-то момент. Ответственный за это почтовый клиент (в моем случае javax.mail) или делает это почтовый сервер?

Я также заинтересован в предложениях о том, как я могу проверить свою новую бластерную программу?

Я не думаю, что это будет действительный тест, создав 1000 учетных записей в google или где угодно (и я не хочу). Я слышал, что есть оптимизация почтового сервера, ориентированная на несколько получателей на том же хосте. В моем случае большинство из них будут разными хозяевами.

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

Или я просто предполагаю некоторое ограничение и отправляю партии писем с некоторым количеством получателей каждый, скажем, 50 или 100?

+6

Чувак, если вы тот, кто отправил мне все эти электронные письма Viagra, остановитесь сейчас! – tvanfosson

+0

Спасибо за напоминание. Я обновил свой вопрос. –

ответ

3

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

Необходимо проверить у администратора сервера.

+0

... после чего они загрузят вас для отправки UBE. –

+0

Я никогда не слышал о BCC на уровне SMTP. Является ли это настройкой некоторых серверов? –

+0

Что я имел в виду, это не то, что BCC является частью Simple Mail Transfer Protocol, но доставка получателей BCC происходит внутри SMTP-сервера. – Seb

1

Спасибо за ваши комментарии. Насколько я понимаю, исходящий SMTP-сервер будет отвечать за разбиение каждого из сообщений. При построении новых сообщений исходящий SMTP-сервер будет отправлять только соответствующие команды RCPT TO для каждого получателя BCC. Поэтому в случае, когда все получатели являются BCC, для каждого сообщения будет выполняться только одна команда RCPT TO.

В этом случае кажется, что мне действительно нужно только беспокоиться о конфигурации исходящего сервера SMTP. Не нужно беспокоиться о целевых SMTP-серверах.

У меня есть предложение, которое кажется хорошим способом проверить это. Я мог бы отправить свое сообщение нескольким получателям, каждый из которых имеет уникальный фиктивный дочерний домен нашего действительного родительского домена. Если для ребенка не найдена запись MX, будет использоваться родительский элемент. Исходящий SMTP-сервер не будет знать, что фиктивные домены не существуют, поэтому это должно избегать любой оптимизации SMTP для нескольких получателей с общими доменами. Возможно, мы также настроим, что эти сообщения будут перенаправлены в один и тот же почтовый ящик.

+0

Нет, в первом абзаце, когда все получатели являются BCC, для каждого получателя BCC будет одна команда RCPT TO. (и ноль To: заголовки в сообщении). Я согласен со вторым абзацем. – user7610

2

еще более определенным, то RFC, который охватывает SMTP (2821) ничего не говорится об ограничениях реципиентов за пределы почтового сервера специфические:

«Если сервер SMTP имеет предел для числа RCPT команд и этот предел исчерпан, он ДОЛЖЕН использовать код ответа 452 (но клиент ДОЛЖЕН также быть подготовлен к 552, как указано выше).Если на сервере установлено настроенное ограничение политики сайта для числа команд RCPT , МОЖЕТ вместо этого использовать код ответа 5XX. Это было бы наиболее целесообразным, если ограничение политика было призвано применять, если общее количество получателей для конкретного тела сообщения были в жизнь, даже если это тело сообщения было отправлено в нескольких почтовых сделок.»

http://www.ietf.org/rfc/rfc2821.txt

Смежные вопросы