В настоящее время я использую двух хостинг-провайдеров: у одного есть общий хостинг, и здесь я зарегистрировал домены, у другого есть один vps-сервер.
Я перенаправляю запросы на my.site.com с общего сервера на vps, используя запись A. В результате мой веб-сайт доступен, но я не могу правильно отправлять почту, потому что у этих писем неправильный заголовок. Получено: от vpshostname.localdomain (unknown [xx .xx.xx.xx]), где xx.xx.xx.xx означает IP-адрес сервера.
Можно ли настроить мой vps для отправки писем для моего примера, или я должен перенести свой my.site.com на vps, а затем правильно его настроить?
Я не хочу передавать свой домен.
У вас есть 2 варианта: ретрансляция почтового хоста с учетными данными или запуск почтового сервера на вашем VPS:
установить и настроить postfix:
mkdir /etc/ssl/private/
openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/postfix.pem -keyout /etc/ssl/private/postfix.pem
введите реальное имя хоста, которое вы будете использовать для ehlo, когда будет предложено ввести общее имя, это обеспечит совпадение TLS при отправке электронной почты.
chmod o= /etc/ssl/private/postfix.pem
Настроить Postfix:
postconf -e smtpd_use_tls=yes
postconf -e smtpd_tls_cert_file=/etc/ssl/certs/postfix.pem
postconf -e smtpd_tls_key_file=/etc/ssl/private/postfix.pem
postconf -e smtpd_tls_loglevel=3
postconf -e smtpd_tls_received_header=yes
postconf -e smtpd_tls_session_cache_timeout=3600s
postconf -e tls_random_source=dev:/dev/urandom
`
Проверьте, можете ли вы отправлять электронную почту telnet к серверу mx, telnet gmail-smtp-in.l.google.com 25
если вы получили ответ 220, вы в порядке, если нет, ВЫ ДОЛЖНЫ ИСПОЛЬЗОВАТЬ AUTH.
1) Конфигурация реле с аутентификацией
postconf -e relayhost=smtp.example.com:submission
postconf -e smtp_sasl_auth_enable=yes
postconf -e smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
postconf -e smtp_sasl_security_options=noanonymous
postconf -e smtp_sasl_tls_security_options=noanonymous
echo 'smtp.example.com username:password' >> /etc/postfix/sasl_passwd
2) Почтовый хост. В качестве почтового хоста вам необходимо настроить как минимум SPF, DKIM и DMARC, если вы выполняете массовую рассылку почты или хотите аутентификацию по электронной почте. Вам понадобится доступ к вашему DNS:
@ IN TXT "v=spf1 a mx ip4:x.x.x.x -all
Затем переконфигурируйте свой хост для отправки соответственно
Другое) Вы можете переназначить свое имя с помощью общих карт.
postconf -e smtp_generic_maps=hash:/etc/postfix/generic
echo 'www-data no-reply@example.com' >> /etc/postfix/generic
echo 'root no-reply@example.com' >> /etc/postfix/generic
postmap /etc/postfix/generic
service postfix restart
Как всегда при смене postconf -e
ценности, смотреть tail -f /var/log/maillog
и использовать postfix reload
Другая отличная информация, https://www.linode.com/docs/email/postfix