Я хочу настроить localhost для отправки электронных писем через сервер postfix, я делаю это для тестирования своего решения по настройке Docker с Wordpress (решение, найденное в электронной почте в Интернете, не работает, также завиток, но это было из-за корпоративных сертификатов SSL CA). Прямо сейчас я тестирую это на Fedora и пытаюсь отправить на свои две учетные записи в доменах onet.pl и jcubic.pl, они оба отклонили мои электронные письма.
Вот журналы постфиксов:
Apr 4 13:24:14 23c96150d42f postfix/smtp[134]: BCAA01659A0: to=<blog@jcubic.pl>, relay=mail.jcubic.pl[185.255.40.21]:25, delay=0.25, delays=0/0/0.07/0.17, dsn=5.7.1, status=bounced (host mail.jcubic.pl[185.255.40.21] said: 550 5.7.1 <blog@jcubic.pl>: Recipient address rejected: Please see http://www.openspf.net/Why?s=helo;id=jcubic.pl;ip=185.129.113.210;r=unknown (in reply to RCPT TO command))
Apr 4 13:24:14 23c96150d42f postfix/qmgr[95]: BCAA01659A0: removed
Apr 4 13:25:41 23c96150d42f postfix/smtp[134]: 2D02E1659A0: to=<jcubic@onet.pl>, relay=mx.poczta.onet.pl[213.180.147.146]:25, delay=0.85, delays=0/0/0.85/0, dsn=4.7.1, status=deferred (host mx.poczta.onet.pl[213.180.147.146] refused to talk to me: 220-mx.poczta.onet.pl ESMTP 450 4.7.1 Client host rejected: cannot find your reverse hostname, [185.129.113.210])
Во-первых, это защита SPF, я могу игнорировать это и иметь дело только с onet.pl, который показывает ошибку об обратном имени хоста, я читал, что мне нужны правильные записи DNS на jcubic.pl. Я могу настроить DNS на jcubic.pl, это только сейчас, чтобы увидеть, работает ли электронная почта, но я не знаю, как и несколько записей DNS. Я также не совсем уверен, как я могу это сделать (как должна выглядеть запись).
Я тестировал свою комбинацию docker-wordpress при работе с Ubuntu на OpenStack, и мне удалось отправить электронное письмо на корпоративную учетную запись gmail.
Я использую эту настройку, у меня есть экземпляр postfix в качестве службы создания докеров с этой конфигурацией:
postfix:
image: catatnight/postfix
environment:
maildomain: example.com # at work here was valid domain of my company (gene.com)
smtp_user: postfix:postfixpass
ports:
- "25:25"
restart: always
порт 25, вероятно, не будет общедоступным, это просто для тестирования, я не был уверен, была ли это проблема отсутствия отправки писем:
и мое использование изображения wordpress msmtp
команда для отправки писем, я сейчас тестирую это:
echo "Hello this is sending email using msmtp" | msmtp <name>@onet.pl
echo "Hello this is sending email using msmtp" | msmtp <name>@jcubic.pl
Моя конфигурация msmtp выглядит так:
# Set defaults.
defaults
# Enable or disable TLS/SSL encryption.
tls off
tls_starttls off
# Setup WP account's settings.
account postfix
host postfix
port 25
auth login
user postfix@jcubic.pl
password postfixpass
from blog@jcubic.pl
logfile /var/log/msmtp/msmtp.log
account default: postfix
Я тестирую разные user
над from
, могу ли я просто настроить DNS на jcubic.pl, чтобы убедиться, что мой локальный IP-адрес (динамический) действителен только сейчас, чтобы я мог проверить, работает ли отправка электронной почты? Мой домен jcubic.pl находится на виртуальном хостинге, но я могу добавлять записи DNS. Возможно также исправить проблему SPF. Как это будет работать на обычном сервере. На работе я использую домен своей компании, но это был IP-адрес интрасети (экземпляр частного OpenStack), я не уверен, почему Gmail решил, что отправитель действителен.
У меня также есть еще один вопрос: почтовый сервер postfix должен быть общедоступным и иметь доступ по IP, с которого было отправлено электронное письмо? Вот как он работал на работе (был публичный порт из контейнера postfix docker), но здесь у меня есть localhost, а также NAT-маршрутизатор, мой общедоступный IP-адрес отличается, а к почтовому серверу нет доступа из Интернета. Я не уверен, какие записи DNS есть у моей компании.
Могу ли я просто настроить DNS на jcubic.pl, чтобы убедиться, что мой локальный IP (динамический) действителен?
Отправка электронной почты напрямую с динамического IP-адреса может быть проблематичной. Вероятно, вам следует использовать SMTP-серверы вашего интернет-провайдера или собственный почтовый сервер, используя подчинение. Не говоря уже о том, что IP-адрес в настоящее время находится в нескольких черных списках на основе DNS (DNSBL).
Адрес получателя отклонен: см.
http://www.openspf.net/Why?s=helo;id=jcubic.pl;ip=185.129.113.210;r=unknown
В 185.129.113.210
не разрешено отправлять электронную почту для jcubic.pl
на
jcubic.pl. IN TXT "v=spf1 a mx include:_spf.atthost.pl -all"
Вам нужно будет добавить +ip4:185.129.113.210
возможно весь +íp4:185.129.112.0/22
из-за динамического IP-адреса. Это неразумно, если бы все устройства были включены PL-UNINET-OWN-INFRASTRUCTURE
сетевой блок для отправки электронной почты как jcubic.pl
. Использование аутентифицированного SMTP на подчинение порт - решение для этого. Локальный Postfix может отправлять всю нелокальную почту через ваш существующий почтовый сервер как relayhost
.
450 4.7.1 Client host rejected: cannot find your reverse hostname, [185.129.113.210]
Это то, что вы не можете просто исправить, изменив свой передняя зона для jcubic.pl
, поскольку речь идет о пропавших без вести обеспечить регресс PTR
запись для IP-адреса 185.129.113.210
. Только владелец IP-блока может изменять эти записи. dig -x 185.129.113.210
возвращается NXDOMAIN
для 210.113.129.185.in-addr.arpa. IN PTR
, так что в настоящее время обратной записи нет.
Многие принимающие SMTP-серверы требуют наличия совпадающих прямых и обратных записей, а также соответствия SMTP-баннер (как сервер представляет себя на HELO
команд) тоже.