postfix群发邮件设置二则

发布时间:2020-11-04编辑:脚本学堂
介绍在,用postfix群发邮件的二项设置,有需要的朋友作个参考。

一、群发邮件有不存在的用户则会拒绝发送,如何解决这个问题?
       此问题多数出现在一封邮件多个收件人,但是其中有一个收件人账号不存在或者已删除(停用),则会导致邮件发送不成功,提示XXX用户不存在。

       处理方法:在postfix主配置文件main.cf中增加:
     smtpd_reject_unlisted_recipient = no
     重启postfix服务后,即便你的收件人列表存在不存在用户,邮件也能正常发送出去,不会影响到其它收件人接受邮件。但是会收到一封用户不存在的回退邮件。

二、利用别名设置某个域的群邮件账号,只允许部分用户可以向此群邮件账号投递邮件。防止其它人员利用此功能传播不良信息。

1、编辑 main.cf添加下面几行:
 

复制代码 代码示例:
smtpd_restriction_classes = local_only
local_only = check_sender_access hash:/etc/postfix/local_sender, reject
smtpd_sender_restrictions = check_recipient_access hash:/etc/postfix/local_recipient
 

2、/etc/postfix目录下创建local_sender文件,加入允许群发到all的邮件列表:
111@jb200.com   OK
222@jb200.com   OK
如果允许本域所有用户可以群发到all,则只添加:
jb200.com  OK

3、/etc/postfix目录下创建local_recipient文修的,添加群账号:
all@jb200.com    local_only

4、建立local_recipient和local_sender的hash表
 

复制代码 代码示例:
[root@jbxue ~]#postmap hash:/etc/postfix/local_sender
[root@jbxue ~]#postmap hash:/etc/postfix/local_recipient

在/etc/postfix目录下生成2个db文件:
local_recipient.db、local_sender.db

5、重启Postfix
 

复制代码 代码示例:
[root@jbxue ~]# /etc/init.d/postfix restart

6、测试:
只有在local_sender里的用户才能给all@jb200.com群发。