2015-08-14 08:47:49 -05:00
|
|
|
# 允许用户无需身份验证发送邮件
|
|
|
|
|
2016-12-14 06:10:23 -06:00
|
|
|
## Postfix
|
|
|
|
|
2015-08-19 08:11:02 -05:00
|
|
|
创建文本文件 `/etc/postfix/accepted_unauth_senders`,列出无需身份验证就可以
|
|
|
|
发送邮件的用户邮件地址。下面以用户 `user@example.com` 为例:
|
2015-08-14 08:47:49 -05:00
|
|
|
|
|
|
|
```
|
2015-08-19 08:11:02 -05:00
|
|
|
user@example.com OK
|
2015-08-14 08:47:49 -05:00
|
|
|
```
|
|
|
|
|
2015-08-19 08:11:02 -05:00
|
|
|
使用 `postmap` 命令建立哈希数据库文件:
|
2015-08-14 08:47:49 -05:00
|
|
|
|
|
|
|
```
|
|
|
|
# postmap hash:/etc/postfix/accepted_unauth_senders
|
|
|
|
```
|
|
|
|
|
2015-08-19 08:11:02 -05:00
|
|
|
修改 Postfix 配置文件 `/etc/postfix/main.cf` 以使用该文件:
|
2015-08-14 08:47:49 -05:00
|
|
|
|
|
|
|
```
|
2015-08-19 08:11:02 -05:00
|
|
|
smtpd_sender_restrictions =
|
2015-08-14 08:47:49 -05:00
|
|
|
check_sender_access hash:/etc/postfix/accepted_unauth_senders,
|
|
|
|
[...OTHER RESTRICTIONS HERE...]
|
|
|
|
```
|
|
|
|
|
2015-08-19 08:11:02 -05:00
|
|
|
重启 postfix 服务以使设置生效:
|
2015-08-14 08:47:49 -05:00
|
|
|
|
|
|
|
```
|
|
|
|
# /etc/init.d/postfix restart
|
|
|
|
```
|
2016-12-14 06:10:23 -06:00
|
|
|
|
|
|
|
## iRedAPD
|
|
|
|
|
|
|
|
iRedAPD 插件 `reject_sender_login_mismatch` 会检测伪造的发件人地址。如果发件人
|
|
|
|
的域名在你的服务器托管,并且邮件不是经由 SMTP 验证发送的,就会被认为是伪造的
|
|
|
|
发件人。这种情况下 iRedAPD 会直接拒收邮件(拒收提示信息为:`Policy rejection
|
|
|
|
not logged in`),因此需要在 iRedAPD 里放行将该收件人邮件地址。如果邮件是由
|
|
|
|
固定的内部网络设备发送(例如,打印机、传真机),可以直接放行 IP 地址。
|
|
|
|
|
|
|
|
* 放行发件人邮件地址 `user@example.com`,请在 `/opt/iredapd/settings.py` 里
|
|
|
|
加以下参数:
|
|
|
|
|
|
|
|
```
|
|
|
|
ALLOWED_FORGED_SENDERS = ['user@example.com']
|
|
|
|
```
|
|
|
|
|
2017-04-12 05:11:20 -05:00
|
|
|
* 放行发件人 IP 地址或网段,例如, `192.168.0.1` 和 `192.168.1.0/24`,请在
|
|
|
|
`/opt/iredapd/settings.py` 里加以下参数:
|
2016-12-14 06:10:23 -06:00
|
|
|
|
|
|
|
```
|
2017-04-12 05:11:20 -05:00
|
|
|
MYNETWORKS = ['192.168.0.1', '192.168.1.0/24']
|
2016-12-14 06:10:23 -06:00
|
|
|
```
|
|
|
|
|
|
|
|
修改后需要重启 iRedAPD 服务。
|