Я создаю приложение, которое будет действовать как комбинированный MUA / MTA в разных сетях. Тем не менее, многие сети работают с провайдерами, которые блокируют 25 порт для SMTP. Поэтому я также хотел бы открыть вторичный порт, чтобы некоторые установки могли общаться по нему, если порт 25 закрыт.
Как выбрать второй порт? Я знаю, что некоторые люди используют порт 26 или порт 2525. Как правильно выбрать порт, который не будет мешать существующее программное обеспечение?
Если вы просто отправляете электронную почту от имени конечного пользователя, который создает электронную почту в вашем приложении, используйте SMTP с аутентификацией для порта 587.
Вы можете отправить письмо по адресу некоторые серверы через порт 465 SMTPS, если удаленный MTA поддерживает SSL / TLS и прослушивает этот порт, но не рассчитывает на это.
В противном случае сообщите пользователю, что ему нужен интернет-провайдер бизнес-класса.
Мне не на 100% ясен ваш вопрос. Вы хотите иметь 25 входящих подключений через порт или 25 исходящих? Я разделю ответ на два, чтобы охватить обе основы.
Если под «установками обмениваются данными через порт 25» вы имеете в виду, что установка программного обеспечения пытается связаться с другими серверами, используя порт 25, это плохая идея. Не отправляйте программное обеспечение, которое обращается к порту 25.
Единственный исходящий порт, на который ваше программное обеспечение может полагаться для «звонков домой» или связи с другими серверами, - это порт 80. И не только порт, но и протокол должен быть HTTP. Некоторые брандмауэры разрешают порт 80, но они также проверяют протокол и блокируют его, если это не HTTP. Вы также можете положиться на 443, HTTPS. Тем не менее, я бы предложил альтернативный рабочий процесс установки / регистрации, который работает, если нет подключения к порту 80.
Интернет-провайдер блокирует исходящие сообщения 25, поскольку он используется спамерами для прямого контакта с почтовыми серверами с абонентских линий и доставки спама.
При этом, конечно, вы можете поставлять программное обеспечение, которое отправляет почту и использует порт 25. Однако эта почта должна идти на SMTP-сервер, настроенный пользователем. (Довольно часто их интернет-провайдер предоставляет ретранслятор, который может требовать аутентификации.)
Приложение, которое будет действовать как почтовый сервер для домена, обычно не может быть развернуто пользователями, у которых не может быть открыт входящий порт 25.
Этим людям потребуется обходной путь, начиная от изменения их подписки, перехода на другого провайдера или использования некоторого компьютера в другой сети в качестве прокси-сервера для перенаправления портов, который перенаправляет соединения порта 25 на реальный сервер, используя какой-либо открытый порт.
Выбор альтернативного порта лучше всего оставить в качестве конфигурации, определяемой пользователями.
Не существует универсального номера порта, который гарантированно был бы открыт, независимо от провайдера.
Но более серьезная проблема заключается в том, что все почтовые программы будут ожидать подключения к порту 25. DNS-запись почтового обмена (MX) не включает номер порта; это разрешается хосту.
Ожидается, что хост MX будет прослушивать порт 25.
Для входящих 25 вы можете использовать одну из множества служб перенаправления smtp, поскольку многие интернет-провайдеры блокируют порт 25. См. Этот пост: http://thenubbyadmin.com/2010/06/14/list-of-inbound-smtp-redirection-services-some-for-free/.
Мой плагин для DNSMadeEasy: Comcast заблокировал 25 порт на мне без предупреждения, убив мой почтовый сервер. Изучив варианты перенаправления, я выбрал DNS Made Easy. (EasyDNS в Канаде, DNSExit подняли цены, DYN смехотворно дорогой). DNS Made Easy позволил мне создать резервную копию менее чем за 10 минут, и это с ручными записями MX Record. Они также очень быстро ответили на мой глупый вопрос, потому что я торопился и не нажал маленькую синюю информационную кнопку «i». У них практически бесконечный буфер в 1 ГБ, и мой почтовый сервер стал намного более устойчивым к простоям, когда я использую эту службу перенаправления.
Для исходящего порта 25 вам в любом случае необходимо указать шлюз smtp, особенно если IP-адрес указан в списке PBL spamhaus - даже если ваша почта дойдет до него, он почти наверняка будет занесен в черный список большинством удаленных почтовых серверов.
Вы можете выбрать любой порт, который хотите, если вы создаете закрытую частную систему электронной почты, и все MTA знают, как использовать этот порт для связи друг с другом, если вы остаетесь последовательными. Если вам нужна эта система для связи с внешним миром, по крайней мере, один из ваших MTA должен будет использовать порт назначения 25 для ретрансляции или использовать доверенный ретранслятор для выхода на остальной мир.
Пока вы выбираете что-то из диапазона высоких портов, и это то, что вы помните, это нормально.
Сегодня я опубликовал статью о ForwardEmail.net чтобы разрешить настраиваемую переадресацию портов для электронной почты. Это решение может сработать для вас. Мы задокументировали это вместе с руководством / практическими рекомендациями на нашей странице в Порт 25 заблокирован интернет-провайдером..
Если вы не знакомы с ForwardEmail.net:
ForwardEmail - это бесплатная, безопасная служба пересылки электронной почты с открытым исходным кодом, которая позволяет использовать пользовательские домены и одноразовые адреса. Он также имеет строгую политику нулевой терпимости к хранению журналов любого типа (см. Политика конфиденциальности Zero Tolerance Чтобы получить больше информации).
Я согласен с Майклом Хэмптоном, но поскольку в ваших комментариях говорится также о MTA:
- Сделайте так, чтобы ваша программа MUA позволяла конечному клиенту / пользователю конфигурировать, чтобы использовать их правильный исходящий MTA с их провайдером.
Затем MUA отправит электронное письмо своему резидентному интернет-провайдеру, поскольку это позволит ему исходить из его собственной сети.
РЕДАКТИРОВАТЬ: конечно, вы сказали, что ваше приложение является комбинированным MUA / MTA. Это не будет работать для функций MTA, если у вас не будет «тысяч» развернутых приложений, а затем отправить всю электронную почту на другой централизованный MTA (через любой порт), а затем этот MTA ретранслирует исходящую электронную почту куда угодно через порт 25.