如何实现PosFix邮件投递失败退信?

Postfix

1 前言

一个问题,一篇文章,一出故事。
最近老板要求postfix实现当邮件投递失败时候通知发件人,于是整理此章节。

2 最佳实践

2.1 邮件服务端环境

如何设置Postfix直出因特网中继?

2.2 配置邮件通知

2.2.1 增加配置

vim /etc/postfix/main.cf

加入或修改如下配置,

notify_classes = bounce, resource, software

需要注意的是:
– 参数“bounce”定义当邮件投递失败的退信通知(Bounce Notification)给发件人。
– 参数“resource”定义当系统资源(内存、磁盘)不足的情况下通知发件人。
– 参数“software”定义当出现软件级别问题时(配置错误、程序崩溃)时通知发件人。

2.2.2 重载服务使配置生效

postfix check
systemctl reload postfix

2.2.3 确认配置生效

postconf | grep "^notify_classes"

可见如下显示,

notify_classes = bounce, resource, software

2.3 验证步骤

2.3.1 发送第一封测试邮件

echo "This is a test email." | s-nail -s "Test Email" -r "will@cmdschool.org" -S "mta=smtp://192.168.0.25:25" "xxxxxx@qq.com";

注:确认”xxxxxx@qq.com”收到测试邮件

2.3.2 设置黑名单拒绝收件

– 登录”xxxxxx@qq.com”的邮箱
– 单击【设置】->【反垃圾】->【设置邮件地址黑名单】->【添加黑名单】把发件人”will@cmdschool.org”拉黑

2.3.3 发送第二封测试邮件

echo "This is a test email." | s-nail -s "Test Email" -r "will@cmdschool.org" -S "mta=smtp://192.168.0.25:25" "xxxxxx@qq.com";

2.3.4 观察退信

– 登录”will@cmdschool.org”的邮箱
– 观察如果收到退信则测试成功

没有评论

发表回复

Postfix
如何设置PostFix限制用户单位时间内发送的邮件数量?

1 前言 一个问题,一篇文章,一出故事。 本章将整理如何限制用户单位时间内发送的邮件数量。 2 最佳 …

Bash
如何压力测试邮件服务器?

1 前言 一个问题,一篇文章,一出故事。 最近生产环境的PostFis邮件服务器因为需要控制每分钟发 …

Fail2Ban
如何用Fail2ban拉黑频繁发邮件的用户?

1 前言 一个问题,一篇文章,一出故事。 我们生产环境有使用PostFix邮件服务器,笔者希望当用户 …