我只想安装 postfix 并转发电子邮件。我不需要任何东西留在我的服务器上。这让我很痛苦。我尽了最大努力,但 postfix 拒绝所有中继。
我想要的是这个。假设我的服务器位于example.com.
我想要这个:
电子邮件转发:
[email protected] -> [email protected]
[email protected] -> [email protected]
[email protected] -> [email protected]
我所需要的只是一个转发箱,用于重定向发往它的电子邮件。由于我的配置显然有问题,我实际上可以使用一个示例 main.cf 来实现我的目的,然后我就可以继续了。
编辑:日志
奇怪的是,日志没有给我任何错误。
main.cf
:
mreiley@Omega-14:/var/log$ cat /etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = omega-14.omegadev.org
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = omega-14.omegadev.org, localhost.omegadev.org, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_alias_domains = omegadev.org monovec.com ifmovement.org
virtual_alias_maps = hash:/etc/postfix/virtual
mreiley@Omega-14:/var/log$
虚拟转发文件:
mreiley@Omega-14:/var/log$ cat /etc/postfix/virtual
[EXPUNGED]@omegadev.org [email protected]
[email protected] [email protected]
mreiley@Omega-14:/var/log$
然后我从 gmail 发送一封电子邮件来测试配置。这是 mail.log 显示的内容:
Jul 16 16:00:32 Omega-14 postfix/smtpd[4282]: connect from mail-px0-f179.google.com[209.85.212.179]
Jul 16 16:00:32 Omega-14 postfix/smtpd[4282]: 72784483A: client=mail-px0-f179.google.com[209.85.212.179]
Jul 16 16:00:32 Omega-14 postfix/cleanup[4287]: 72784483A: message-id=<[email protected]>
Jul 16 16:00:32 Omega-14 postfix/qmgr[4274]: 72784483A: from=<[email protected]>, size=2026, nrcpt=1 (queue active)
Jul 16 16:00:33 Omega-14 postfix/smtp[4288]: 72784483A: to=<[email protected]>, orig_to=<[email protected]>, relay=gmail-smtp-in.l.google.com[74.125.53.27]:25, delay=1.5, delays=0.08/0.01/0.08/1.3, dsn=2.0.0, status=sent (250 2.0.0 OK 1279321231 d5si4147919wam.28)
Jul 16 16:00:33 Omega-14 postfix/qmgr[4274]: 72784483A: removed
日志显示投递完全成功,但电子邮件从未出现在我的收件箱或垃圾邮件文件夹中。
然而,如果我使用telnet
,我就会得到不同的故事。
mreiley@Omega-14:/var/log$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 omega-14.omegadev.org ESMTP Postfix (Ubuntu)
helo omegadev.org
250 omega-14.omegadev.org
mail from:[email protected]
250 2.1.0 Ok
rcpt to:[email protected]
554 5.7.1 <[email protected]>: Relay access denied
更新!看来 GOOGLE 自己在屏蔽我。发送给其他提供商的电子邮件可以顺利通过,但发送给 Gmail 时甚至不会被归为垃圾邮件。
答案1
telnet 会话和 postfix 日志似乎没有做同一件事。
“RCPT TO”应该是本地用户,而不是 gmail 用户。
“MAIL FROM” 也不同,因为在第二个中,您似乎是本地用户,而在第一个中,您是 gmail 用户。
因此 telnet 会话不是一个有效的测试。
日志显示 Google 已接受该电子邮件。请再次检查您的垃圾邮件标签。
答案2
您是从 gmail 发送测试电子邮件吗?在 Laughing Squid Web 托管上,我们发现如果电子邮件是从 gmail 发送然后转发到 gmail,gmail 不喜欢转发的电子邮件。这似乎与其垃圾邮件过滤器有关。我建议尝试使用 yahoo,看看会发生什么。