Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > IdSMTPServer


Автор: Rohoss 18.8.2007, 17:18
кто нибудь пользовался этим компонентом, я так понял с его помощью можно свободно создать себе любое количество емейл адресов? 

Автор: Snowy 18.8.2007, 19:28
C его помощью можно создать SMTP сервер.
А любое количество адресов ты можешь создать, если у темя есть домен, на котором ты можешь этот сервер разместить.

Добавлено через 48 секунд
ЗЫ. Ну да. Кто-нибудь пользовался. Вопрос-то в чём?

Автор: Rohoss 18.8.2007, 23:18
домен есть, а от как его прикрутить к компоненту? было бы не плохо взглянуть хоть на маленьком примере…  smile 

Автор: Snowy 19.8.2007, 09:37
Примеры на сайте разработчика:
http://indyproject.org/Sockets/Demos/index.EN.aspx

Автор: Rohoss 19.8.2007, 21:43
Цитата(Snowy @  19.8.2007,  09:37 Найти цитируемый пост)
Примеры на сайте разработчика:http://indyproject.org/Sockets/Demos/index.EN.aspx


Спасибо Snowy  , я почему то не догадался там поискатьsmile. А вот как к нему домен прикрутить, мож я что то не внимательно смотрел .

Автор: Snowy 20.8.2007, 10:59
Домен к нему прикручивать не надо.
Просто на DNS сервере должна быть прописана MX запись у твоего домена, в которой указан IP, на котором ты запускаешь этот сервер.
Как вообще думают SMTP сервера: они получают письму, смотрят доменную часть адреса, запрашивают у DNS MX-запись для этого домена, получают его IP и подключаются на 25-й порт этого IP.
Так что твоему серверу и не обязательно знать свой домен. Главное слушать 25-й порт и ловить сообщения о приходе почты.

Автор: Rohoss 20.8.2007, 18:47
Так а как нащёт отправки почты? 

Автор: Snowy 20.8.2007, 22:06
Отправка почты - отдельный вопрос.
Как это ни странно, но этим занимается не SMTP сервер.
Удивил?
SMTP сервер только принимает почту. Слово "сервер" говорит о том, что он только принимает подключения, но не делает исходящих.
Исходящие подключения делает SMTP Client.
И здесь есть 2 режима работы - прямой и relay.
relay - тупо отправлять всю почту другому SMTP серверу, который за нас всё отправит.
Прямой:
Взять почтовый адрес, получить из него доменную часть, дать клиентский запрос DNS серверу на предмет наличия MX записи этого домена.
Если запись есть (если несколько, то пробовать поочереди), настраиваем SMTP клиента на этот IP и отправляем.
Если ни по одной записи не отвечают, ждём N-й период времени и повторяем.
Период времени и кол-во повторов обычно на серверах настраиваются вручную.

Похоже теперь я дал полный курс теории по устройству SMTP протокола smile

direct-отправка часто используется для рассылки спама. Поэтому код примера приводить не буду.
Ибо прямая отправка используется только спамерами или авторами почтовых серверов.
А почтовый сервер не станет писать человек, не разбирающийся в почтовых протоколах.
А тому, кто разбирается - пример не нужен  smile 

Автор: Rohoss 21.8.2007, 05:05
Цитата(Snowy @  20.8.2007,  22:06 Найти цитируемый пост)
direct-отправка часто используется для рассылки спама. Поэтому код примера приводить не буду.

Почему? Программ же для такой цели более чем достаточно.


Цитата(Snowy @  20.8.2007,  22:06 Найти цитируемый пост)
А почтовый сервер не станет писать человек, не разбирающийся в почтовых протоколах.А тому, кто разбирается - пример не нужен   

Замкнутый круг получается  smile

Для прямой отправки я так понял, нужен DNS сервер? Иначе как письмо распознается на сервере?

Автор: Snowy 21.8.2007, 10:55
Для прямой отправки нужен DNS клиент.
А сервер можешь использовать любой. Например свой доменный.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)