Linux - Postfix - Блокировка исходящей электронной почты на 25-м порту интернет-провайдером [закрыто]

Я начну с самого важного - я прочитал / просмотрел тонны руководств, руководств, форумов и предложений по этому поводу, но все же у меня есть ощущение, что я не понимаю чего-то большого обо всей системе электронной почты, но в то же время - что-то очень простое и маленькое.

  • Я купил VPS-сервер на Linode;
  • Я установил и настроил службы postfix, dovecot для почтовой системы;
  • Я правильно настроил DNS для отправки и получения писем (SPF, DKIM, DMARC, HELO, rDNS, сервер, авторизованный для IP и имени хоста - все они успешно настроены и тесты пройдены);
  • Сервер не занесен в черный список ни одной компанией, занимающейся фильтрами спама по электронной почте.

Конфигурация Postfix (основные настройки):

main.cf

mail_owner = postfix
myhostname = mail.mywebsite.com
mydomain = mywebsite.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8
smtpd_banner = $myhostname ESMTP
sendmail_path = /usr/sbin/sendmail.postfix

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
broken_sasl_auth_clients = yes
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_loglevel = 1
smtpd_tls_key_file = /path/to/ssl/server.key
smtpd_tls_cert_file = /path/to/ssl/server.crt
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

smtpd_milters = inet:127.0.0.1:8891, inet:127.0.0.1:8893
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
smtp_host_lookup = dns, native

Я не настраивал использование каких-либо серверов ретрансляции, потому что считаю, что этот сервер должен иметь возможность отправлять электронные письма самостоятельно.


master.cf

smtp      inet  n       -       n       -       -       smtpd
  -o smtpd_tls_auth_only=yes
  -o smtpd_tls_security_level=none
  -o smtpd_sasl_auth_enable=no

submission     inet  n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_enforce_tls=yes
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination,reject
  -o smtpd_sasl_tls_security_options=noanonymous
  -o smtpd_sasl_security_options=noanonymous,noplaintext
  -o milter_macro_daemon_name=ORIGINATING
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth

smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o syslog_name=postfix/smtps
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_tls_auth_only=yes
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination,reject
  -o smtpd_sasl_security_options=noanonymous,noplaintext
  -o smtpd_sasl_tls_security_options=noanonymous
  -o milter_macro_daemon_name=ORIGINATING

policy unix - n n - 0 spawn user=nobody argv=/bin/python /usr/libexec/postfix/policyd-spf



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

  • Я использую внешнее программное обеспечение (Apple Mail) для подключения к моему SMTP-серверу через mail.mywebsite.com, и там я специально настроил использование порта 587, а не 25. но все же в ответном письме, которое я получаю, говорится, что электронная почта была заблокирована на порту 25, который я полностью не понимаю;
  • Я проверил, что брандмауэры моего сервера не блокируют ни один из этих портов;
  • Я заметил, что эти исходящие электронные письма блокируются только в том случае, если я отправляю их в один конкретный домен. Например, когда я отправляю электронные письма на почтовые серверы Google (или другие пока что), тогда все работает нормально - электронное письмо отправляется, и оно попадает во входящие, передавая ящик для спама;
  • Я вижу, что интернет-провайдер (который заблокировал исходящие email) - это тот компьютер, на котором в тот момент находился компьютер, когда было отправлено электронное письмо, и это был не сетевой провайдер Linodes, которого я тоже не могу понять - похоже, что компьютер пытается отправить электронное письмо через почтовый сервер компьютера, а не через мой Linode. Почтовый сервер VPS;


Вопрос - Как я могу обновить свой сервер и / или постфиксную службу, чтобы мои исходящие электронные письма не блокировались интернет-провайдерами?


Дополнительно -

  • I читал, что этот случай обычно возникает, когда почтовый сервер является домашним, а не VPS, что не в моем случае. Я использую VPS.
  • Я знаю, что эта тема неоднократно обсуждалась на форумах, но все же есть некоторые проблемы с этими конфигурациями, и не только для меня, но и для многих парней в сообществах разработчиков. Я надеюсь, что этот пост и правильный ответ будут описаны и объяснены проще, чем другие, что не сделает этот вопрос бесполезным.


Обновление - Пример письма с отказом от возвращенного электронного письма:

This is the mail system at host mail.mywebsite.com.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

                  The mail system

<phi@receiveremail.com>: connect to
   cluster5.eu.messagelabs.com[195.245.230.51]:25: Connection timed out
Reporting-MTA: dns; mail.mywebsite.com
X-Postfix-Queue-ID: 9004B2089
X-Postfix-Sender: rfc822; support@mywebsite.com
Arrival-Date: Mon,  2 Oct 2017 11:14:25 +0200 (CEST)

Final-Recipient: rfc822; phi@receiveremail.com
Original-Recipient: rfc822;phi@receiveremail.com
Action: failed
Status: 4.4.1
Diagnostic-Code: X-Postfix; connect to
   cluster5.eu.messagelabs.com[195.245.230.51]:25: Connection timed out
Return-Path: <support@mywebsite.com>
Received: from [10.25.80.102] (unknown [81.92.27.224])
    (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
    (No client certificate requested)
    by mail.mywebsite.com (Postfix) with ESMTPSA id 9004B2089
    for <phi@receiveremail.com>; Mon,  2 Oct 2017 11:14:25 +0200 (CEST)
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.mywebsite.com 9004B2089
Authentication-Results: mail.mywebsite.com; dmarc=fail (p=none dis=none) header.from=mywebsite.com
Authentication-Results: mail.mywebsite.com; spf=fail smtp.mailfrom=support@mywebsite.com
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.mywebsite.com 9004B2089
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mywebsite.com;
    s=default; t=1506935665;
    bh=iIf8iBaIOhXI2dMpT9tm3bYRnKMjiK49NsVTB66/1aQ=;
    h=From:Subject:Date:References:To:In-Reply-To:From;
    b=hZFiYO9NE09XtWTa7mxOq+W8s9aajWQVV9e4SY8/XIv3qX9YjULv1rBqmyUfkqKz0
     L2q8GSXBJr6ipxQsnoPCKMp7yy05rOu6L5dMyh5XndvEve+w3YkHhisy+unCM69Dyh
     M6dPAebLlo1AcF/B0AHqmskqnjvLAj03aBtwF+5E=
From: "Mywebsite.com" <support@mywebsite.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_E368298F-D51E-458B-AC0A-4284381C761C"
Message-Id: <C36F662F-74EB-4953-A032-645BD28283F9@mywebsite.com>
Mime-Version: 1.0 (Mac OS X Mail 9.0 \(3094\))
Date: Mon, 2 Oct 2017 11:14:24 +0200
References: <c2b741d3a1cd4352a8a75768833a4e33@HQ-MBX-01.receiveremail.com>
To: Per Hildebrand <phi@receiveremail.com>
In-Reply-To: <c2b741d3a1cd4352a8a75768833a4e33@HQ-MBX-01.receiveremail.com>
X-Mailer: Apple Mail (2.3094)


Обновление 2 -

После просмотра нескольких писем с отказом от возвращенных писем я заметил, что некоторые его строки изменились в один момент (когда я постоянно добавлял обновления с форумов, чтобы предотвратить блокировку исходящих писем). С этого момента в сообщениях об ошибках говорилось, что электронные письма заблокированы в cluster5.eu.messagelabs.com из-за тайм-аута соединения.


Решение -

Чтобы устранить проблему с заблокированными сообщениями электронной почты на порту 25 на серверах VPS, просто убедитесь, что сервер полностью авторизован, DNS настроен правильно, а сообщения электронной почты подписаны всеми необходимыми сертификатами. Вот список всех необходимых задач для исправного сервера с почтовой системой:

  • Добавить записи SPF в DNS вашего сервера;
  • Добавить подпись DKIM к исходящей почте;
  • Добавить записи DMARC в DNS вашего сервера;
  • Настройка правильно HELO, записи rDNS;

Вы можете проверить результаты и ход реализации этих обновлений в различных «службах проверки почтового спама», например, на веб-сайте mail-tester.com .


Относительно последней проблемы с исходящей электронной почтой, заблокированной в сервисах cluster5.eu.messagelabs.com:

Ранее упомянутый mail-tester.com веб-сайт также обеспечивает проверку имени хоста и IP вашего сервера в различных почтовых службах спама, где проверяются черные списки.Если эти службы сообщают вам, что ваш сервер не занесен в черный список спама, это не означает стопроцентную правду. Это был мой случай.

messagelabs.com (сейчас: symantec.com) обычно не указывается в этих проверках спам-фильтра, поэтому ваш тестировщик скажет вам, что электронные письма не будут блокироваться ни одним спам-фильтром. Но, по-видимому, есть некоторые почтовые компании, которые используют эту службу (messagelabs.com) в качестве проверки на спам, прежде чем позволить электронной почте попадать в почтовые ящики. Это означает, что вы должны быть уверены, что IP / имя хоста вашего сервера не находится в их черном списке. Вы можете проверить это, введя свой сервер через командную строку и выполнив команду:

telnet cluster5.eu.messagelabs.com 25

Если вы получаете тайм-аут соединения, это означает, что ваш сервер может быть внесен в черный список их службы.

Чтобы удалить ваш сервер из черных списков сервиса messagelabs.com, вы должны выполнить следующие шаги:

  • Убедитесь, что исходящая почта вашего сервера не считается спамом (см. Начало этого решения);
  • Перейти к messagelabs .com (symantec.com) и перейдите на страницу «Исследование IP-репутации», чтобы проверить, считается ли ваш сервер рассылающим спам. Сделайте это с помощью формы поиска. Вот ссылка .
  • Если вы обнаружили, что ваш сервер не содержит спама, напишите сообщение на их форуме , чтобы удалить ваш конкретный IP / имя хоста из их черных списков.

Совет -

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

0
задан 10 October 2017 в 13:49
2 ответа

Мои мысли:

  • С VPS попробуйте такие вещи, как host -t mx xyz.com , и, когда вы получите результат вроде mail. xyz.com , сделайте что-нибудь вроде ncat mail.xyz.com 25 или даже telnet mail.xyz.com . Это позволит проверить, работает ли что-то на гораздо более низком уровне.

  • На своем домашнем компьютере попробуйте ncat my-vps-server 25 , чтобы убедиться, что он не работает, а затем ncat my-vps- сервер 587 , чтобы убедиться, что он работает.

  • Вы получаете сообщение об ошибке cluster5.eu.messagelabs.com [195.245.230.51]: 25: Время ожидания соединения истекло , когда ваш VPS пытается подключиться к удаленному серверу через SMTP-порт 25. Это не имеет никакого отношения к тому, как ваш домашний компьютер подключается к вашему VPS.

  • Мое собственное решение для гетто (которое работает, но уродливо): sudo ssh -L 25: 127.0.0.1: 25 (скрыто) создание туннеля ssh между портом 25 вашего компьютера и портом 25 вашего VPS.

1
ответ дан 4 December 2019 в 12:19

Трудно понять, о чем вы говорите. Я могу предложить не так много.

  • Придумайте конкретный повторяемый пример вашей проблемы.
  • Проследите его через различные этапы доставки, чтобы точно определить, когда он выходит из строя.
  • Используйте журналы вашего сервера.
  • Если вы получаете сообщение об ошибке, отправленное вам по электронной почте, оно будет отправлено вам почтовый сервер. Это был ваш почтовый сервер?

Если ваш почтовый сервер не может настроить порт 25 только на один домен, возможно, вы заблокированы брандмауэром принимающей стороны?

РЕДАКТИРОВАТЬ:

ОК, значит, копия сообщение от вашего почтового сервера проясняет, что соединение, которое терпит неудачу, это соединение вашего сервера с cluster5.eu.messagelabs.com [195.245.230.51]: 25: и что время ожидания соединения истекло.

FWIW, Я могу подключиться к порту 25 195.245.230.51 по telnet с моего почтового сервера. Это может означать, что на удаленном конце возникла временная проблема, и в этом случае ваша почта, скорее всего, уже прошла. В качестве альтернативы, может быть правило брандмауэра, блокирующее ваше соединение.

  • Возможно, вы захотите дважды проверить правила брандмауэра на своем сервере.
  • Вы говорите, что можете доставлять сообщения в другие места назначения, поэтому я думаю, мы можем предположить, что linode не блокирует это.
  • Скорее всего, проблема в удаленном конце.

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

Есть некоторая путаница в доменах, которые я вижу в заголовках ваших писем. Заголовок To , похоже, соответствует IP-адресу, на который вы фактически доставляете почту. Я ожидаю, что различные receiveremail.com ссылки исходят от вас, частично очищая то, что вы разместили? В противном случае вам нужно было бы искать перевод целевого адреса перед попыткой доставки (например, через псевдонимы).

2
ответ дан 4 December 2019 в 12:19

Теги

Похожие вопросы