Все о почте





Пишем программу рассылки электронной почты

Автор Игорь Ананченко   
16.04.2007 г.
Пишем программу рассылки электронной почты

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

Вероятно вам, так же как и мне, будет не интересно предложение купить по невысокой цене вагон пшеницы, но когда предложение сделано нескольким миллионам получателей электронной почты, всегда найдется несколько человек, которые купят рекламируемый спамером товар или услугу. В итоге доволен спамер, доволен продавец, доволен покупатель – свою выгоду они получили. Довольны продавцы и производители антиспамовых программ, так как чем больше спамеров, тем больше спрос на средства защиты от спама. Недовольны только получатели не запрошенных сообщений, так как именно то, что пользователь не давал согласия на получение полученной информации отличает спам от цивилизованных почтовых рассылок. Спамеры неистребимое зло сети, но замечу, что некоторые пользователи сети Интернет, если говорить честно, прямо и без прикрас тоже “деятели” редкостные. Вопиющая техническая, и не только, безграмотность таких “деятелей” компенсируется повышенной воинственностью, сверхраздражительностью и стремлением на всех и каждого навесить тот или иной позорный ярлык. Пришедшее письмо от сервиса сразу, не читая, объявляют спамом, рассказ о том, как самому создать собственный инструмент для рассылки электронных сообщений - пособие для спамеров, однозначно!

Когда пользователь сети Интернет регистрируется на сайте Сети, указывая свой электронный адрес для получения логина и пароль к закрытой части сайта, то логично, что через некоторое время после подписки пользователь будет получать на свой почтовый ящик информацию о деятельности сервиса. Обычно это явно указано в правилах работы с сайтом, которые так же, как правило, никто не читает! Если пользователь подписался на получение информации по электронной почте добровольно, если пользователю предоставлены средства для описки от рассылки, то такая рассылка совсем не рассылка спама, а источник полезной и важной для пользователя информации. Замечу, что еще одна цель периодической рассылки новостей сервисом, кроме донесения до пользователей информации, выявление неработающих почтовых адресов с последующим исключением из списка сервиса “мертвых” пользователей. Вопрос об удалении учетных записей, каждый владелец сервиса решает самостоятельно. Например, я в обязательном порядке удаляю учетную запись пользователя моего сайта “Свой бизнес в сети Интернет” (http://aiv.spb.ru), если электронный адрес пользователя не доступен или пользователя не интересует получение новостной рассылки сайта (на сайте много информации доступно и без прохождения процедуры регистрации).

Программы рассылки почты: где взять готовые?

Когда необходимо отправить одно письмо или десяток другой практически идентичных, то проще всего разослать письма с помощью той почтовой программы, с которой обычно работаете. Необходимость в специальных средствах рассылки возникает тогда, когда необходимо отправлять много писем с определенной периодичностью. В Интернет представлены разные профессиональные продукты, предназначенные для организации подписок и проведения почтовых рассылок. Рекомендую две программы AutoResponder Unlimited и Express Mail Server (http://aiv.22usd.com/products.php - можно купить пакет программ за $22). Готовые профессиональные средства ведения рассылок эффективны, когда рассылка создается и ведется с использованием этих программ. Но готовые программы рассылки трудно приспособить в случае, если уже есть файлы с информацией о пользователях определенного нестандартного формата. Например, информация о пользователях моего сайта хранится в файле в виде:

Код : 1153 Логин : aiv021068

E-mail:[email protected] mail.ru

Телефон :

Контактное лицо : Игорь

время доб./изм.: 2006-04-28 16:24:58 / 2006-04-28 16:24:58

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

Для написания программы я воспользовался средой визуального программирования С++ Builder (версия 6.0) и компонентом для работы с электронной почтой NMSMTP, разработанным фирмой NetMaster's LLC (http://www.netmastersllc.com/home/). Набор компонентов этой фирмы для написания приложений работающих в сети, можно найти на вкладе FastNet палитры компонентов С++ Builder. Замечу, что вкладка присутствует и в Delphi версии 5.0, но отсутствует в версии 7.0. На сайте производителя компоненты можно купить отдельно, например, для упомянутого Delphi 7.0 всего за $199.95. Но, ориентируясь на широкий круг читателей, я решил, что лучше всего продемонстрировать разработку программы, которую можно написать, воспользовавшись имеющимися в стандартной поставке средствами, а не искать где-то необходимые компоненты. Предлагать вариант программы на Delphi версии 5.0, когда есть 7.0 вроде не хорошо, так как версия старая (но для данной программы это абсолютно не принципиально). Замечу что, программу обрабатывающую большие объемы строковой информации, удобней разрабатывать все же на языке паскаль, а не на c++ (во всяком случае, не профессиональному программисту). Операция конкатенации (сложения) строк s:=s1+s2; на паскале более удобна и понятна, чем использование функции strcpy и разных ее аналогов для той же цели в с++. Знатоки могу заметить, что если писать программу для рассылки почты, то лучше воспользоваться каким либо языком разработки скриптов (например, php). Опять же, выбор был сделан с учетом интересов широкого круга читателей – программа, которую напишем, достаточно проста и работает с любого компьютера, подключенного к сети. А вот аргумент, что рассылать лучше с сервера провайдера, на котором будет выполняться установленный скрипт, для меня не актуален, так как компьютер и так подключен к сети по скоростному каналу без каких либо ограничений по объему передаваемого трафика. Воспользовавшись рассмотренной программой, пользователь, подключившийся к сети по обычному модему, сможет разослать несколько тысяч сообщений за полчаса-час, в то время как у меня уходит на эту же операцию несколько минут, вот и вся разница и нет проблем разрешит ли провайдер установить на его сервере скрипт или же нет. Замечу, что хотя моя программа в виде исходников выложена в сеть (http://www.aiv.spb.ru/ufiles/mail.zip), но использовать программу по прямому назначению без доработки, скорее всего, никто кроме меня не сможет, так как информация о пользователях сайта сохраняется в довольно редком формате. Другое дело, что исходный текст программы с минимальными изменениями можно использовать для написания собственной программы рассылки.

Программа рассылает сообщения по списку, а за основу был взят пример, приведенный в типовых примерах, поставляемых вместе с С++ Builder - /CBuilder6/Examples/FastNet/SMTP/smtpdemo.bpr.

NMSMTP и SMTP Demo

Рассмотрим программу SMTP Demo, использующую для рассылки почты компонент NMSMTP. Перед отправкой электронной почты программа должна соединиться с сервером:

NMSMTP1->Host = Edit1->Text;

NMSMTP1->Port = StrToInt(Edit2->Text);

NMSMTP1->UserID = Edit4->Text;

NMSMTP1->Connect();

Поле Edit1->Text содержит информацию об имени хоста. Хост smtp.wplus.ru – имя компьютера, который получает отправляемые письма и раздает их дальше получателям.

Port = номер порта. Стандартно порт для отправки электронной почты имеет номер 25, который, впрочем, может быть изменен администратором хоста. UserID = - код (идентификатор) пользователя, например, aiv1.

Сразу можно указать значения еще двух полей:

NMSMTP1->PostMessage->FromAddress = Edit6->Text;

NMSMTP1->PostMessage->FromName = Edit5->Text;

FromAddress = - адрес отправителя, например, [email protected] mail.wplus.net;

FromName = - имя отправителя, например, Igor Anantchenko.

Замечу, что имя и адрес отправителя можно указать любые, в том числе и несуществующие. Программа эту информацию никак проверить не может, но такую проверку может выполнить (и заблокировать отправляемое вами письмо) специальное программное обеспечение, установленное на хосте, принимающим вашу почту. Метод NMSMTP1->Connect(); устанавливает соединение с сервером. После того, как почта отправлена, необходимо отсоединиться от сервера – пишем: if (NMSMTP1->Connected) NMSMTP1->Disconnect(); - если соединение установлено, то, завершая работу c хостом, разорви соединение, а если соединения нет, то ничего делать не надо. Рассмотрим подробнее поле компонента PostMessage, включающего в себя множество подполей, из которых кроме, уже названных ранее подполей FromAddress и FromName, назову несколько наиболее важные:

Subject – тема письма,

ToAddress – получатель письма (его электронный адрес),

Attachments – в этом поле можно указать путь к одному или к нескольким

файлам, которые будут отправлены вместе с письмом,

Body - тело (текст) письма.

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

Программа для рассылки почты по списку. Подводим итоги

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

Статья с сайта computerbiz.com.ua/news1055.php
 
« Молодое поколение отказывается от e-mail   Microsoft Office 2007: обзор версий и возможностей »

Какой формат писем вы предпочитаете?




Форум

Как вернуть письма в mail.ru из Outlook
Помогите пжалста. Настроил MS Outlook 2003 для чтения писем со своего ...
Автор: Евген5
[email protected]:53
Google усилила безопасность почтового се...
Google начнет использовать HTTPS-технологию для шифрования всего трафи...
Автор: Последние новости
[email protected]:05
создание правила.
Уважаемые коллеги!!! Возникла необходимость, создать правило: Чтобы ...
Автор: m0rri5
[email protected]:53
Google усилила безопасность почтового се...
Google начнет использовать HTTPS-технологию для шифрования всего трафи...
Автор: Последние новости
[email protected]:30
Gmail перешел на защищенное соединение
Компания Google в официальном блоге объявила о том, что перевела свой ...
Автор: Последние новости
[email protected]:08
Google перевел пользователей Gmail на за...
Новые учетные записи почтового сервиса Gmail будут работать через http...
Автор: Последние новости
[email protected]:11
ошибка 0x800C0133 не отправляет письма
Эта проблема возникает если папка Входящие переполнена и её файл весит...
Автор: Drema
[email protected]:47
ошибка 0x800C0133 не отправляет письма
Помогите кто нибудь, уже месяц немогу пользоваться оутлуком, письма не...
Автор: Гость
[email protected]:12
© 2006-2022 AboutMail.ru