从接收来自其他提供商的转发流量的 VPS 发送邮件

从接收来自其他提供商的转发流量的 VPS 发送邮件

目前,我使用两家托管服务提供商:一家提供共享托管,我在这里注册了域名,另一家提供一台 vps 服务器。

我使用记录 A 将对 my.site.com 的请求从共享服务器重定向到 vps。结果,我的网站可以访问,但我无法正确发送邮件,因为这些邮件的标题错误:已接收:来自 vpshostname.localdomain(未知 [xx.xx.xx.xx]),其中 xx.xx.xx.xx 表示服务器 IP。

是否可以配置我的 vps 来发送我的示例邮件,或者我应该将我的 my.site.com 转移到 vps 然后正确配置它?

我不想转让我的域名。

答案1

您有两个选择,使用凭据中继您的邮件主机或在您的 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 [email protected]' >> /etc/postfix/generic echo 'root [email protected]' >> /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

相关内容