被拒绝的电子邮件地址是
'email@gmail.com'。主题“这是
测试。 ',帐户:'mail.domain.com',
服务器:'mail.domain.com',协议:
SMTP,服务器响应:'554 5.7.1
:中继访问
被拒绝',端口:25,安全(SSL):否,
服务器错误:554,错误号:
0x800CCC79
编辑:我可以仍从该帐户检索电子邮件,我将电子邮件发送到同一域的其他帐户。我只是无法将电子邮件发送给我们域之外的收件人。
我尝试完全禁用TLS,但没有骰子,我仍然遇到相同的错误。
当我检查文件时
mail.log
,我看到以下内容。Jul 18 08:24:41 company imapd: LOGIN, user=user_name@domain.com, ip=[::ffff:111.111.11.11], protocol=IMAP
Jul 18 08:24:42 company imapd: DISCONNECTED, user=user_name@domain.com, ip=[::ffff:111.111.11.11], headers=0, body=0, rcvd=83, sent=409, time=1
Jul 18 08:25:19 company postfix/smtpd[29282]: connect from company.university.edu[111.111.11.11]
Jul 18 08:25:19 company postfix/smtpd[29282]: NOQUEUE: reject: RCPT from company.university.edu[111.111.11.11]: 554 5.7.1 <email@gmail.com>: Relay access denied; from=<user_name@domain.com> to=<email@gmail.com> proto=ESMTP helo=<UserPC>
Jul 18 08:25:19 company postfix/smtpd[29282]: disconnect from company.university.edu[111.111.11.11]
Jul 18 08:25:22 company imapd: DISCONNECTED, user=user_name@domain.com, ip=[::ffff:111.111.11.11], headers=13, body=142579, rcvd=3289, sent=215892, time=79
文件
main.cf
看起来像这样:请注意,我的雇主希望能够从本地网络内部和外部发送来自客户端(Thunderbird和Outlook)的电子邮件。 #1 楼
TLS只是在smtp会话上启用加密,并且不会直接影响是否将允许Postfix中继消息。发生中继拒绝消息是因为smtpd_recipient_restrictions规则不匹配。必须满足以下条件之一才能使消息通过:
smtpd_recipient_restrictions =
permit_sasl_authenticated
check_recipient_access hash:/etc/postfix/filtered_domains
permit_mynetworks
reject_unauth_destination
要解释这些规则:
permit_sasl_authenticated
允许通过SASL进行身份验证的发件人。这对于对通常被阻止的网络外部用户进行身份验证是必需的。收件人地址。 (从文件名上的文件名来看,可能只是阻止了特定域...检查gmail.com是否在其中列出?)
check_recipient_access
这将允许IP地址与$ mynetworks中指定的IP范围匹配的主机。在发布的main.cf中,$ mynetworks设置为127.0.0.1,因此它将仅中继服务器本身生成的电子邮件。
基于该配置,您的邮件客户端将需要使用SMTP。允许中继消息之前进行身份验证。我不确定SASL正在使用哪个数据库。这在/usr/lib/sasl2/smtpd.conf中指定。大概它也使用与虚拟邮箱相同的数据库,因此您应该能够在邮件客户端中启用SMTP身份验证,并且已全部设置好。
#2 楼
smtpd_use_tls = no
您已禁用TLS,因此现在需要通过将其添加到
mynetworks
来授权本地网络。例如,mynetworks = 192.168.1.0/24 127.0.0.0/8
这将仅解决从本地网络发送的问题。要从本地网络外部发送电子邮件,您需要使TLS身份验证有效。
评论
我设置了smtpd_use_tls = yes,因为我们必须能够从网络外部发送电子邮件。但是,问题仍然存在。
–诺亚·古德里奇(Noah Goodrich)
09年7月18日在15:50
将smtpd_tls_loglevel最多增加3个,并查看日志中是否显示任何有趣的内容(完成后,请记住将其回落为1或0)。
–pgs
09年7月18日在16:16
另外,尝试将smtp_use_tls设置为no(用于发送外部电子邮件)。参见postfix.org/postconf.5.html#smtp_use_tls
–pgs
09年7月18日在16:22
-1,因为不是每个人都可以禁用tls。
– jgifford25
2011年10月30日23:02
我并不是说他应该禁用TLS。我说的是,由于他已禁用它,因此他需要设置mynetworks。完整的解决方案是让tls重新工作。
–pgs
2011年11月7日,下午3:17
#3 楼
我认为您想念domain.com的原因是因为默认设置relay_domains=$mydestination
,因此您可以在配置行后面追加: br /> mydestinations = $mydomain, $myhostname, localhost, localhost.localdomain
每次编辑postfix conf文件时都不要忘记重新启动postfix服务器(
service postfix restart
)。评论
+ 1用于在主机列表中添加“ localhost,localhost.localdomain”(在某些系统上通常是一个问题,但不清楚为什么在其他系统上不是问题)
–伊恩·柯林斯
2011年5月23日下午4:40
#4 楼
我在Outlook中遇到了相同的问题(带有dovecote和postfix后端),花了两天时间寻找解决方案并调整配置文件。我需要做的就是在Outlook邮件设置的“传出”选项卡中选中“服务器要求身份验证”,现在我的邮件已发送到gmail。在http://support.bluetie.com/node/440上查看有关如何查找设置的详细说明。#5 楼
这个问题困扰了我一段时间。我正在尝试从server1.domain.com连接到server2.domain.com。这就是我解决此问题的方法-还需要确保已正确设置/ etc / hosts和/ etc / hostname,并确保在更改网络后运行以下命令-
#/etc/postfix/main.cf
mydomain = server1.domain.com
myhostname = $mydomain
virtual_alias_maps = hash:/etc/postfix/virtual
alias_database = hash:/etc/postfix/virtual
myorigin = /etc/mailname
mydestination = localhost.localdomain localhost $mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
后缀配置更改后的以下操作
sudo service networking restart
#6 楼
对我来说:无论localhost
已经存在,我都必须在mynetworks
中添加127.0.0.0/8
。所以,现在看起来:
评论
1.1.1.1/32在您自己的网络中看起来并不合法。
– Dunatotatos
20-05-17在7:49
@Dunatotatos当然只是示例。
–普特尼克
20年5月18日在6:41
评论
为什么不接受?