从 VPS 转发邮件

从 VPS 转发邮件

我正在尝试创建一个设置,将发送到我域中的某些地址的电子邮件转发到我的 Gmail,其余的则被删除。到目前为止,我一直在摆弄 postfix 设置,但没有一种方法可以将邮件发送到我的收件箱。

我的第一个方法是header_checks在 /etc/postfix/main.cf 中像这样:header_checks = regexp:/etc/postfix/header_checks然后在 /etc/postfix/header_checks 中如下:。这并没有投递任何邮件(甚至没有垃圾邮件)。/^To: [email protected]/ REDIRECT [email protected]

然后我尝试了前锋在 /etc/postfix/main.cf 中像这样:virtual_alias_domains = mydomain.com virtual_alias_maps = hash:/etc/postfix/virtual然后在 /etc/postfix/virtual 中:。同样,我没有在 Gmail 中收到任何电子邮件(也没有在垃圾邮件中)。[email protected] [email protected]

我在 Gmail 中创建了一个过滤器,所有发送到(和来自)@mydomain.com 的邮件都不会进入垃圾邮件,并且我的 MX 记录指向我的服务器的 IP 地址。

我是否遗漏了什么(明显的)?

的输出postfix -n为:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
header_checks = regexp:/etc/postfix/header_checks
inet_interfaces = all
mailbox_size_limit = 0
milter_default_action = accept
milter_protocol = 2
mydestination = mail.mydomain.com, mydomain.com, myotherdomain.com
myhostname = mydomain.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
non_smtpd_milters = inet:localhost:12301
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_generic_maps = hash:/etc/postfix/generic
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_milters = inet:localhost:12301
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
virtual_alias_domains = mydomain.com myotherdomain.com
virtual_alias_maps = hash:/etc/postfix/virtual

解决了!

日志文件显示无法访问 Gmail 服务器。在互联网上搜索后,我发现 Postfix 正在尝试通过 IPv6 连接到 Google SMTP。我的 VPS 不支持 ipv6,因此我不得不将选项添加inet_protocols = ipv4到 /etc/postfix/main.conf

供将来参考,以下是我的日志文件中的行(发送电子邮件后)

Oct 12 06:25:05 vps241835 postfix/pickup[22448]: 2E2671E297: uid=0 from=<root>
Oct 12 06:25:05 vps241835 postfix/cleanup[22870]: 2E2671E297: message-id=<[email protected]>
Oct 12 06:25:05 vps241835 opendkim[374]: 2E2671E297: DKIM-Signature field added (s=mail, d=myotherdomain.nl)
Oct 12 06:25:05 vps241835 postfix/qmgr[17926]: 2E2671E297: from=<[email protected]>, size=31986, nrcpt=1 (queue active)
Oct 12 06:25:05 vps241835 postfix/smtp[22884]: connect to gmail-smtp-in.l.google.com[2a00:1450:400c:c04::1b]:25: Network is unreachable
Oct 12 06:25:05 vps241835 postfix/smtp[22884]: 2E2671E297: to=<[email protected]>, relay=gmail-smtp-in.l.google.com[74.125.206.26]:25, delay=1.7, delays=1.2/0.01/0.21/0.27, dsn=2.0.0, status=sent (250 2.0.0 OK 1476246326 o4si8145221wjd.164 - gsmtp)
Oct 12 06:25:05 vps241835 postfix/qmgr[17926]: 2E2671E297: removed

答案1

日志文件为我指明了正确的方向。日志文件显示无法访问 Gmail 服务器。在互联网上搜索后,我发现 Postfix 正在尝试通过 IPv6 连接到 Google SMTP。我的 VPS 不支持 ipv6,因此我不得不inet_protocols = ipv4/etc/postfix/main.conf

相关内容