550 Mailbox unavailable or access denied

本文详细介绍了当邮件发送到特定地址失败时的排查步骤和技术解决方案,包括从邮件服务器的日志分析到设置静态路由表和转发规则的过程。

今天还处理了另外一个问题就是用户发往vip.qq.com,没有发送成功,还被退信

 

 

退信如下:

Hi. This is the qmail-send program at mx55 .

I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<raytek@vip.qq.com>:
113.108.64.246 failed after I sent the message.
Remote host said: 550 Mailbox unavailable or access denied

 

根据退信失败信息的意思是收件方的邮件地址不可用或者邮箱被服务商暂停使用要么就是拒绝我们这个IP段的邮件服务器访问


为了追究其原因,那就必须得做测试了,看看到底是为什么


第一步:在退信的服务器(mx55)上进行测试,确认退信信息

 

[root@mx55  /home/sysadmin]# cd /var/log/qmail/qmail-send/

[root@mx55 /var/log/qmail/qmail-send]# mail raytek@vip.qq.com

Subject: dns

dns

.

EOT

[root@mx55 /var/log/qmail/qmail-send]# grep !$ current 

grep raytek@vip.qq.com current 

@400000004ddb786027c4715c starting delivery 10455075: msg 824952 to remote raytek@vip.qq.com

[root@mx55 /var/log/qmail/qmail-send]# grep 10455075 current 

@400000004ddb786027c4715c starting delivery 10455075: msg 824952 to remote raytek@vip.qq.com

@400000004ddb78613b970b04 delivery 10455075: failure: 112.90.137.245_failed_after_I_sent_the_message./Remote_host_said:_550_Mailbox_unavailable_or_access_denied/


第二步:使用同一IP段的邮件服务器再进行测试

 

如果失败的话,那进行第三步

 

 

第三步: 如果有转发服务器(非海外转发)的话,一定要在转发服务器上测试能否发送成功

 

转发服务器:vm190-yq.dns.com.cn

 

[root@vm190-yq /var/log]#  mail raytek@vip.qq.com
Subject: dns
dns
.
EOT
[root@vm190-yq /var/log]# grep !$ maillog
grep raytek@vip.qq.com maillog
May 24 17:14:37 vm190-yq qmail: 1306228477.715200 starting delivery 1147021: msg 145661 to remote raytek@vip.qq.com
[root@vm190-yq /var/log]# grep 1147021 !$
grep 1147021 maillog
May 24 17:14:37 vm190-yq qmail: 1306228477.715200 starting delivery 1147021: msg 145661 to remote raytek@vip.qq.com
May 24 17:14:39 vm190-yq qmail: 1306228479.351035 delivery 1147021: failure: 112.95.240.192_failed_after_I_sent_the_message./Remote_host_said:_550_Mailbox_unavailable_or_access_denied/

 

 

在转发服务器上的测试是失败的,那就没办法用转发服务器设置转发了

 

第四步:使用非专门邮件服务器(比如备用机)进行测试,使用备用机的原因自己考虑,当然要考虑到生产因素了

 

备用机:mby.dns.com.cn

 

如果使用备用机测试还是失败的话那就进行第五步

 

 

 

第五步:使用不同IP段得邮件服务器进行测试并提取日志

 

[root@mx10 /var/log/qmail/qmail-send]#  mail raytek@vip.qq.com
Subject: dns
dns
.
EOT
[root@mx10 /var/log/qmail/qmail-send]# grep !$ current
grep raytek@vip.qq.com current
@400000004ddb78b3257731b4 starting delivery 6822797: msg 94602 to remote raytek@vip.qq.com
[root@mx10 /var/log/qmail/qmail-send]# grep  6822797 current
@400000004ddb78b3257731b4 starting delivery 6822797: msg 94602 to remote raytek@vip.qq.com
@400000004ddb78b43b5b7cec delivery 6822797: success: 183.60.61.223_accepted_message./Remote_host_said:

 

通过第五步说明用户的收件地址是没有错的,到这里还没有完事呢,请继续

 

 

第六步:如果上述几个测试都是失败的话,那有可能是收件地址的问题但是也有可能是邮件服务器的问题,那怎么办呢?做了这么多测试难道就这样了吗? 还有办法,那就是用163  126 gmail  sina  yahoo hotmail 等免费邮箱进行测试,如果用这些免费邮箱还是发送失败的话,那就可以确定是用户的收件地址有问题,如果发送成功的话呢那还要想办法解决用户的发送问题并且恢复用户的正常收发

 

 

第七步:设置转发

 

在第五步操作中,不是已经使用“非同一IP段的服务器”测试成功了嘛,那就在mx55上设置转发吧

编辑/var/qmail/control/smtproutes   (相当于一个静态路由表)

编辑格式如下:

收件域:转发服务器的IP

eg:

vip.qq.com:119.254.72.150

 

第八步:这一步也不可忽略哟

设置完转发以后要再次进行测试

[root@mx55 /var/log/qmail/qmail-send]# mail raytek@vip.qq.com
Subject: dns
dns
.
EOT
[root@mx55 /var/log/qmail/qmail-send]# grep !$ current |tai64nlocal
grep raytek@vip.qq.com current |tai64nlocal
2011-05-24 17:20:22.667185500 starting delivery 10455075: msg 824952 to remote raytek@vip.qq.com
2011-05-24 17:25:06.309138500 starting delivery 10455777: msg 824741 to remote raytek@vip.qq.com
[root@mx55 /var/log/qmail/qmail-send]# grep  10455777 current
@400000004ddb797c126d1444 starting delivery 10455777: msg 824741 to remote raytek@vip.qq.com
@400000004ddb797c15763d64 delivery 10455777: failure: 119.254.72.150_does_not_like_recipient./Remote_host_said:_553_sorry,_that_domain_isn't_in_my_list_of_allowed_rcpthosts_(#5.5.3)/Giving_up_on_119.254.72.150./

 

 

这是为什么呢?在第五步的时候明明是发送成功的啊?怎么这会又失败了呢?

那就在150的/var/qmail/control/rcpthosts文件中加入vip.qq.com  就OK啦

 

再测试一把肯定成功,反正我是把这个问题搞定了

 

 

最后再提示一下:

最好先查一下解析文件,看解析地址是否正确

/etc/resolve.conf

 

 

 

 

 

对于这个问题就讨论到这里吧,想到什么了再添进去

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


### SMTP 错误 454 4.7.1 Relay access denied 的原因与解决方案 SMTP 错误 `454 4.7.1 <app@9527.com>: Relay access denied` 表示邮件服务器拒绝了当前请求的中继(relay)操作。这种错误通常发生在邮件服务器不允许客户端将邮件转发到非本地域的情况下。 #### 常见原因分析: - **客户端不在允许中继的网络范围内**:Postfix 配置中的 `mynetworks` 参数定义了哪些网络或 IP 地址范围被允许进行中继操作。如果客户端 IP 不在该列表中,则会被拒绝[^3]。 - **认证问题**:若启用了 SMTP 认证,客户端未提供有效的凭据或未启用认证机制,也会导致中继被拒绝。 - **发件人地址与登录用户不匹配**:当启用了 `reject_sender_login_mismatch` 等限制规则时,如果客户端使用的登录账户与其声称的发件人地址不一致,Postfix 会拒绝请求[^1]。 - **虚拟别名或数据库配置错误**:例如使用了 LDAP 或 MySQL 来管理虚拟邮箱和别名映射,但相关配置文件如 `ldap_virtual_alias_maps.cf`、`mysql_virtual_mailbox_maps.cf` 存在语法或路径错误,也可能影响中继权限[^2]。 #### 解决方案: 1. **检查并配置 `mynetworks` 范围** - 确保客户端所在 IP 地址属于 Postfix 中配置的 `mynetworks` 范围。 - 示例: ```bash mynetworks = 192.168.1.0/24 ``` - 如果使用 CIDR 表示法,请确保掩码设置正确,避免出现“Temporary lookup failure”等问题[^3]。 2. **配置 `smtpd_sender_restrictions`** - 在 `/etc/postfix/main.cf` 中添加以下内容以控制发件人限制策略: ```bash smtpd_sender_restrictions = permit_mynetworks, reject_sender_login_mismatch, reject_authenticated_sender_login_mismatch, reject_unauthenticated_sender_login_mismatch ``` - 此配置允许本地网络直接发送邮件,同时要求已认证用户的发件人地址必须与其登录身份一致。 3. **启用 SMTP 认证** - 若客户端需要通过认证方式发送邮件,应启用 SASL 认证机制,并确保客户端配置了正确的用户名和密码。 - 修改 `/etc/postfix/main.cf`: ```bash smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination ``` 4. **检查虚拟别名和数据库配置** - 如果使用了 LDAP 或 MySQL 来管理邮箱账户,请确认相关配置文件是否正确加载,路径是否准确,例如: ```bash virtual_alias_maps = ldap:/etc/postfix/ldap_virtual_alias_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf ``` 5. **重启 Postfix 服务** - 完成配置更改后,执行以下命令重启服务使配置生效: ```bash systemctl restart postfix # 或者使用 service 命令(根据系统版本) service postfix restart ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值