Я начну с самого важного - я прочитал / просмотрел тонны руководств, руководств, форумов и предложений по этому поводу, но все же у меня есть ощущение, что я не понимаю чего-то большого обо всей системе электронной почты, но в то же время - что-то очень простое и маленькое.
Конфигурация 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. И есть несколько вещей, которые я должен сказать об этом случае:
Вопрос -
Как я могу обновить свой сервер и / или постфиксную службу, чтобы мои исходящие электронные письма не блокировались интернет-провайдерами?
Дополнительно -
Обновление -
Пример письма с отказом от возвращенного электронного письма:
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 настроен правильно, а сообщения электронной почты подписаны всеми необходимыми сертификатами. Вот список всех необходимых задач для исправного сервера с почтовой системой:
Вы можете проверить результаты и ход реализации этих обновлений в различных «службах проверки почтового спама», например, на веб-сайте 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, вы должны выполнить следующие шаги:
Совет -
Если вы когда-нибудь столкнетесь с подобной проблемой, всегда начинайте с инструкций, которые были даны в ответе пользователя barrycarter в этом посте. Это поможет вам быстрее определить, в какой части письма блокируются. Благодаря его ответу мне быстрее удалось понять, где на самом деле кроется проблема (поэтому отмечу его ответ как правильный).
Мои мысли:
С 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.
Трудно понять, о чем вы говорите. Я могу предложить не так много.
Если ваш почтовый сервер не может настроить порт 25 только на один домен, возможно, вы заблокированы брандмауэром принимающей стороны?
РЕДАКТИРОВАТЬ:
ОК, значит, копия сообщение от вашего почтового сервера проясняет, что соединение, которое терпит неудачу, это соединение вашего сервера с cluster5.eu.messagelabs.com [195.245.230.51]: 25: и что время ожидания соединения истекло.
FWIW, Я могу подключиться к порту 25 195.245.230.51 по telnet с моего почтового сервера. Это может означать, что на удаленном конце возникла временная проблема, и в этом случае ваша почта, скорее всего, уже прошла. В качестве альтернативы, может быть правило брандмауэра, блокирующее ваше соединение.
Возможно, стоит проверить, не попал ли ваш почтовый сервер в какой-либо из основных черных списков RBL. Вам также следует просмотреть свои почтовые журналы, чтобы увидеть, всегда ли вам не удается подключиться к удаленному почтовому узлу. Если вы предприняли попытку доставки, которая активировала правила спама или была для несуществующих пользователей, удаленный конец может иметь некоторую систему для автоматической блокировки вашего IP-адреса, возможно, временно, поскольку эта стратегия облегчает нагрузку на их серверы, сохраняя при этом низкие административные требования. .
Есть некоторая путаница в доменах, которые я вижу в заголовках ваших писем. Заголовок To
, похоже, соответствует IP-адресу, на который вы фактически доставляете почту. Я ожидаю, что различные receiveremail.com
ссылки исходят от вас, частично очищая то, что вы разместили? В противном случае вам нужно было бы искать перевод целевого адреса перед попыткой доставки (например, через псевдонимы).