настроить POP3-сервер для интернета - PullRequest
0 голосов
/ 02 января 2011

Я создал несколько приложений в Delphi, используя пакет компонентов indy (я думаю, что версия 10.5.2), и все они работают.Я только что закончил настройку сервера POP3, и он работает локально.Я могу видеть почту, отправленную на месте там.Я использовал "localhost" в качестве моего имени хоста.Тем не менее, я хочу перейти на более высокий уровень функций.Я хочу получать электронную почту из Интернета, такую ​​как MSN, Gmail, Yahoo ... Проблема в том, что я не знаю, как это сделать.Какой адрес я должен использовать inorder для этого?До сих пор «myhouse @ localhost» работал, но только внутри;не могу получить внешнюю почту там.Можно ли получать почту таким образом?Спасибо.

Ответы [ 3 ]

2 голосов
/ 03 января 2011

Вам необходимо зарегистрировать домен, а затем настроить его записи DNS (в частности, записи MX) так, чтобы они указывали на ваш серверный компьютер. Таким образом, когда электронная почта предназначена для любого адреса «@yourdomain» какой-либо службой отправки, она будет перенаправлена ​​на ваш сервер (для которого требуется запуск SMTP-сервера для получения электронной почты - POP3 предназначен для загрузки электронной почты из вашего почтового ящика, а не для размещения писем в него). Если ваш сервер не имеет статического IP-адреса, вам необходимо использовать службу, например DynDNS, для управления записями DNS, чтобы они могли учитывать ваш динамический IP-адрес при его изменении.

2 голосов
/ 03 января 2011

«Интернет» не использует POP3 для отправки и получения электронной почты, он использует SMTP. Вот как «течет» электронная почта от отправляющего компьютера к принимающему:

Сервер должен отправить электронное письмо на адрес: myhome@localhost. Первое, что он делает, это изолирует имя сервера, то есть часть после «@». Затем он использует DNS для поиска IP-адреса СЕРВЕРА для компьютера, который должен получать электронную почту для данного домена. DNS содержит специальную запись для этой цели, она называется «MX» запись. Вы можете использовать инструменты командной строки, такие как dig в Linux или nslookup в Windows, чтобы найти этот адрес, или вы можете использовать онлайн-инструмент, подобный тому, который найден в http://www.mxtoolbox.com/ (Google нашел этот сайт, я полагаю, там много других!).

Если вы попытаетесь найти запись MX для своего домена "localhost", вы, очевидно, обнаружите, что это невозможно, поскольку это не полностью определенное имя. Сначала вам нужно получить доменное имя, чтобы вы могли зарегистрировать запись MX!

Вещи, необходимые для получения электронной почты

  1. Нужен "настоящий" IP-адрес. Серверы вне вашей локальной сети должны связаться с вашим сервером, и им, очевидно, нужен способ сделать это. Убедитесь, что маршрутизаторы не блокируют SMTP-порты.
  2. Вам необходимо зарегистрировать доменное имя, добавить запись MX и указать ее на свой «реальный» IP-адрес.
  3. Необходимо запустить программное обеспечение SMTP-сервера на вашем компьютере. Вы можете использовать компоненты Indy, чтобы написать один.

Вещи, необходимые для отправки электронной почты

Теоретически отправка электронной почты с помощью SMTP - самая простая часть. Вы просто связываетесь с ответственным сервером с помощью SMTP и отправляете электронную почту, вот так работает протокол: любой компьютер в мире может отправлять электронную почту на любой SMTP-сервер.

Практически отправка электронной почты - самая трудная вещь, которую вам нужно сделать, в основном потому, что иностранные SMTP-серверы вам не доверяют (когда-либо слышали о СПАМЕ?). Вот некоторые вещи, которые вам могут понадобиться, чтобы иностранные SMTP-серверы принимали электронную почту от вас. Нет определенного списка, потому что сам протокол не включает в себя четкий механизм аутентификации, поэтому каждый большой SMTP-сервер использует свою собственную эвристику для принятия решения, принимать ли от вас электронную почту или нет. Ты найдешь Yahoo особенно веселым!

  1. Вам нужен REVERSE DNS для IP-адреса, который вы используете для отправки электронной почты.
  2. Вам необходимо отправить с одного из серверов SMTP, указанных в DNS, в качестве серверов MX.
  3. Ваши записи DNS должны иметь длинные TTL (это исключает службы динамического DNS)
  4. Многое другое ...

Что обычно делают люди?

Электронная почта трудна, для вашего собственного сервера доступно удивительно небольшое количество полных SMTP-серверов: Exchange, Notes, Postfix, QMail, Sendmail. Они все общеизвестно сложны в настройке. Большинство людей будут использовать размещенные почтовые службы, некоторые будут использовать службы SMTP, предоставляемые интернет-провайдером, и очень немногие установят одну из упомянутых служб.

Если вы действительно хотите написать свой собственный SMTP-сервер, продолжайте, но вы, возможно, захотите установить один из готовых ранее, чтобы получить немного опыта работы с электронной почтой и DNS. Linux дешевы в установке и могут также помочь в разработке (вы не хотите отправлять слишком много плохих писем на ваш бесплатный адрес Yahoo, вы можете попасть в черный список!)

0 голосов
/ 03 января 2011

POP3 - это протокол для чтения электронной почты из почтового ящика. Компонент TidPOP3Server реализует сервер POP3 (и AFAIK не имеет свойства хоста для установки ...), в то время как TidPOP3 реализует клиент POP3. Для чтения почты с GMail или любого POP3-сервера вам необходим компонент TidPOP3. Имя хоста, которое нужно задать, - это DNS-имя, которое служба указывает вам использовать (например, pop3.mydomain.com).

...