首页 > 编程知识 正文

开源邮件服务器搭建,群晖搭建邮件服务器

时间:2023-05-04 15:53:09 阅读:142316 作者:1418

1)安装dns和postfix

aptitudeinstallbind9dnsutilspostfix

2) 配置dns

a ) named.conf.local

zone 'test.com'{

类型主;

file '/etc/bind/test.com ';

(;

b ) test.com

$TTL 604800

@ IN SOA @ mail203.local.(

20130305

604800

86400

2419200

604800 )

@ IN NS 192.168.1.203。

MX 0 mail203

mail203 IN A 192.168.1.203

mail202 IN A 192.168.1.202

3) 配置postfix

a )修改发送到mynetworks或从mynetworks发送的邮件,以转发myNetWorks=127.0.0.1192.168的可转发邮件域名relay _ domains=传输目标transport _ maps=hash :/etc/postfix/transport #收件人限制,非relay _ recipie nent relay _ recipient _ maps=hash 3360/hash 拒绝传输客户端连接限制,只允许传输mynetworks中定义的客户端连接和邮件smtpd_client_relay的reject_unknown_client #垃圾邮件黑名单设置(MMT 引用Zen.spamhaus.org站点上定义的垃圾邮件黑名单) map _ Rb1 _ domcop Zen.spamhaus.org SMTP _ client _ restrictions=rejectreject #参数的说明。 初始延迟时间由smptd_error_sleep_time参数确定,并且在客户端累积了#smtpd_soft_error_limit错误之后,每次以后发生错误时,postfix错误都会出现postfix将销毁客户端,并删除smtpd _ error _ sleep _ time=1ssmtpd _ soft _ error _ limit=10 smtpd _ hard _ error _ leror 生成db文件I (内容: DG test.com relay : [ mail 202.DG test.com ] ii )生成db文件)命令postmap /etc/postfix/transport c ((税) ) $/reject/^subject:) ) (新闻海).*关) ) (财税).*务) ) (发行机税) (发票) )合起来)

.*程)|(产.*品)|(展.*览)|(互.*利)|(朋.*友)|(什么时候过来)|(细腻的枕头)|(破解)|(bldlb))*$/ REJECT /^Subject:.*((为你避税)|(文件定稿)|(优惠代开)|(人才兴旺网))*$/ REJECT


    4) 垃圾邮件过滤
       根据如上设置,postfix可接收并转发test.com网域的所有邮件,但postfix并不知道test.com网域有哪些收件人,这样就会导致postfix收下许多无效的test.com网域邮件,最终无法转发而积压,最终导致postfix崩溃
       解决办法:将test.com网域的所有有效邮箱同步到postfix,以便postfix能及时判断收到test.com网域邮件的有效性
       a) 修改/etc/postfix/main.cf
          添加:relay_recipient_maps = hash:/etc/postfix/relay_recipients
       b) 创建/etc/postfix/relay_recipients
          # touch /etc/postfix/relay_recipients
          文件内容:
          admin@test.com  OK  
          说明:admin@test.com: 表示test.com网域的有效邮箱

 

               OK:此处可以是任意字符串,因文件格式的需要,必须填写

 

       c) 生成数据库文件

           # postmap /etc/postfix/relay_recipients

     5) 测试:

        a) 外发邮件:

              根据上面mynetworks设置,postfix只能转发postfix所在主机或192.168.1.202主机的邮件,现在假设登录postfix所在主机,粗体部分是需要我们手动输入的内容

              测试步骤如下:

              telnet  localhost 25
              Trying 192.168.1.202...
              Connected to 192.168.1.202 (192.168.1.202).
              Escape character is '^]'.
              220 localhost.localdomain ESMTP Postfix
              helo test.com
              250 localhost.localdomain
              mail from:<test@test.com>
              250 2.1.0 Ok
              rcpt to:<zzban123@126.com>
              250 2.1.5 Ok
              data
              354 End data with <CR><LF>.<CR><LF>
              Subject: this is a test mail

              This is test mail content

              .       (注意此处的点".",表示邮件内容的结束标记)
             250 2.0.0 Ok: queued as 88B3B2A68032
             quit
             221 2.0.0 Bye
             Connection closed by foreign host.
             这样邮件就发送出去了,你可以登录你的收件邮件看看有没有收到邮件。如果收到邮件,表示一切正常,结束。

          b) 内发邮件

                步骤同上,只需将mail from所示的发件人和rcpt to所示的收件人邮箱互换即可               

     6) 发现问题

           如在测试过程中发现测试不成功 ,不能正常收到邮件,或者是测试过程中,你想查看整个测试过程,你可以查看postfix的发送或接收邮件的log信息

           log所在位置:/var/log/mail.info或/var/log/mail.log

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。