2010-09-13 3 views
4

Я пытаюсь разработать приложение массовой рассылки и хотел бы использовать Delphi для него. Какие компоненты или библиотеки будут моими лучшими вариантами (для Delphi7). Могут ли они обрабатывать отправку около 25 000 писем? Приложение не для рассылки спама, поэтому мне любопытно, правильно ли аутентифицировать и играть по правилам, добавит некоторую задержку в процесс?Нужен совет для массовой почты в Delphi

+0

Прежде всего, узнайте, как отправлять почту по существующей программе (я рекомендую gammadyne mailer). Это очень сложно. Вы должны соответствовать требованиям вашего ISP * и * требованиям некоторых из ваших целевых почтовых серверов (да, вы должны, например, hotmail очень суетливый относительно темпа и вида почты, которое он принимает) –

+1

Вот почему вы всегда используете SMTP-сервер и никогда не отправляйте прямую рассылку самостоятельно. Зачем изобретать колесо? – Runner

ответ

3

Прежде всего, я согласен с ответами, которые дал вам marco.cantu и lkessler.

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

Он может выполнять массовую рассылку, а также может персонализировать письма с дополнительными данными. Он был разработан для задач именно так. Я использую его в большом продукте, который ежедневно отправляет много писем (система опроса с системой invition сверху). Компонент упрощает задачу отправки почты, поэтому вам не нужно беспокоиться о ловушках почтовой композиции и т. Д. Также равноценно отправлять 1 или 20 000 писем. Демо отображается. Фактически, сама демонстрация является полнофункциональной массовой почтой :)

Но она основана на ICS (Internet Component Suite), поэтому вам нужно использовать ICS.

+0

Я очень рекомендую ICS. Если вы не используете RoboMailer и хотите написать свой собственный, я бы рекомендовал использовать ICS. Он очень стабилен, тщательно протестирован, хорошо поддерживается и, самое главное, свободен в использовании. В то время как Indy - это готовое решение, у него есть репутация для отказа от обратной совместимости, и, наконец, я смотрел, он использует намного больше потоков. ICS работает очень хорошо, не используя потоки для этого. –

9

Я бы использовал компоненты Indy, которые находятся в коробке. Более новые версии позволят вам также отправлять на gmail и другие серверы под SSL.

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

7

Проблема с массовой рассылкой - это не ваша программа, но это ограничения, которые позволит ваш интернет-провайдер.

Многие интернет-провайдеры строго ограничивают вас и не допускают больше установленной квоты в час, день или месяц, который обычно довольно низок, например. 200 писем в день. Штрафы строгие, и они могут приостановить вашу учетную запись, не предупредив вас сначала.

Если вы (или люди, использующие вашу программу) хотите отправить 25 000 писем или около того в течение разумного времени, скажем, несколько часов, вам понадобится выделенный сервер электронной почты или вам необходимо будет воспользоваться услугами high volume SMTP service ,

Также убедитесь, что вы изучаете Throttling and Batching свои электронные письма.

0

Для простых интернет-приложений я обнаружил, что Synapse library очень хорошо. Он может разговаривать с TLS/SSL защищенным POP3 & SMTP, в то время как Indy не может без платных библиотек (по крайней мере, от Turbo Delphi). Он отлично работает с командной строкой, бесформенными приложениями, которые можно скомпилировать с помощью Delphi, Kylix или FPC. Посмотрите на их HOWTO для примеров с почтовыми протоколами.

+0

Indy поддерживает TLS/SSL, используя бесплатные библиотеки OpenSSL. –

+0

Когда я проверил Indy (Delphi 2006), он поддерживал TLS/SSL, но не с POP3 и SMTP. Надеюсь, они сейчас поддерживают. Synapse также используют библиотеки OpenSSL, и я думаю, что гораздо проще использовать библиотеку Synapse, чем Indy, особенно в утилитах командной строки (без формы для включения компонентов Indy). Проверьте примерный код на веб-странице Synapse и попробуйте сделать это с помощью Indy.Я пробовал оба для разных протоколов, и я предпочитаю Synapse. –

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