Postfix多实例的简单应用


                                           Postfix多实例的简单应用(一)
一、简介:
1.基于RedHat linux5的postfix在以前已经发表过了,有助于了解postfix在linux上面的简单安装;
2.今日将在CentOS 5.3上进一步将多个postfix实例安装在同一台linux系统上;
大多数邮件服务器公司也无非是借助于postfix.org的官方文档,来布置更多的postfix用于实际需要!
更多详情: http://www.postfix.org/MULTI_INSTANCE_README.html
二、安装说明:
1.多实例的支持需要postfix2.6或更高版本;
  每个实例必须独立的hostname;
  学习的重要在于邮件原理、高级应用、故障排除;
2.什么是多个实例?
postfix是一个通用的邮件系统,能提供邮件的各种应用,应用实例有:
  为shell的用户和系统进程本地邮件;
  接受(MX主机)从互联网得到的电子邮件;
  为本公司网路邮件的中继;
  漫游用户提交的身份验证;
  邮件接受的前后过滤;
3.多实例的工作原理
 Postfix的配置可以提供多种服务,所有的这些设置都是一个复杂的相互作用的设置,主要:main.cf和master.cf首要选择;
 多实例的应用就是让每一个实例做好一份工作,当实现邮件中心专门为Internet电子邮件服务器,专业提供EDM电子邮件发送;
 在没有高要求下完全不需要多实例应用;
 多实例就是在原有的基础上,再配置运行另外更多的与默认的postfix相同的服务;
4.postfix系统的组成部分
  配置文件和邮箱存放位置,日志记录等;
5.postfix默认的实例
  默认的实例在编译安装过程中/etc/postfix目录下,而其的spool在/var/spool/下的postfix;
6.多实例的配置及相关参数
 配置:
   #postmulti -e init                          //只有第一次使用来添加第二实例时执行初始化;
   #postmulti -I postfix-sen -G mta -e create  //创建postfix-sen这个实例;
   #postmulti -i postfix-sen -x postconf -e \
     "master_service_disable =" "authorized_submit_users = root" 
                                                                      //配置此实例为可用用状态,用户为root;
   #postmulti -i postfix-sen enable            //进入enable状态;
   #postmulti -i postfix-sen start              //启动postfix-sen实例;
更正说明:2011-11-22
//  #postmulti -i postfix-sen enable        应增加 -e 参数
// #postmulti -i postfix-sen start            应增加 -p 参数
正确为:
# postmulti -i postfix-sen  -e  enable  
#postmulti -i postfix-sen -p  start 
7.修改参数使之工作起来:
  #vim /etc/postfix-sen/main.cf
----------------------------------------------------------------
   queue_directory = /var/spool/postfix-sen    //邮件的存放位置;
   command_directory = /usr/sbin                     //命令目录;
   daemon_directory = /usr/libexec/postfix     //进程目录;
   data_directory = /var/lib/postfix-sen           //数据目录;
   mail_owner = postfix                                      //邮件所有者;
   myhostname = sen.55tgo.com                      //postfix使用的主机名;
   mydomain = 55tgo.com                                 //域名;
   myorigin = $myhostname                     
   unknown_local_recipient_reject_code = 550   //拒绝代码550;
   mynetworks = 192.168.1.1,192.168.2.1          //所在的网络,或者是想让那个网络使用此实例;
   debug_peer_level = 2                                     //调试级别;
   sendmail_path = /usr/sbin/sendmail             //通用的sendmail的命令位置;
   newaliases_path = /usr/bin/newaliases       //别名位置;
   mailq_path = /usr/bin/mailq                
   setgid_group = postdrop
   html_directory = no
   manpage_directory = /usr/local/man
   sample_directory = /etc/postfix
   readme_directory = no
   master_service_disable =                            //值为空即可;
   authorized_submit_users = root                 //此五项为创建实例时自动生成的;
   multi_instance_group = mta                       //一般为固定格式;
   multi_instance_name = postfix-sen             //这的实例时postfix-sen,视情况而定;
   multi_instance_enable = yes                      //当然是yes状态,否则你没法使用;
新增参数说明:2011-11-22
      多实例为多IP用,如果一个实例要绑定某个IP,则在后面手工增加多一个配置: smtp_bind_address=xxx.xxx.xxx.xxx,这时候发出的邮件才会显示此来源IP
---------------------------------------
#vim /etc/postfix-sen/master.cf                     //只需要配置修改这一行即可;
192.168.1.1:25      inet  n       -       n       -    50       smtpd
                                                                          //绑定postfix使用的端口为25号,可自定义;
8.启动与测试:
  #postfix -c /etc/postfix-sen reload               //使用命令只重载此实例即可;
  #postfix -c /etc/postfix-sen start                 //启动此实例;
  #netstat -tnlp |grep :25                                  //查看25号端口是否启用;
 
 说明:新手容易在这出现端口被占用 ,而无法启用此实例,解决方法:查看日志,更换端口,关闭sendmail服务;
9.检测邮件服务器能否使用:
#telnet 192.168.1.1 25
Trying 192.168.1.1...
Connected to sen.55tgo.com (192.168.1.1).
Escape character is '^]'.
220 sen.55tgo.com ESMTP Postfix
helo sen.55tgo.com
250 sen.55tgo.com
mail from:< [email protected]>                     //可使用任意名,重要的是55tgo.com;
250 2.1.0 Ok
rcpt to:< [email protected]>                //在网易126申请的邮箱;
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
postfix test B
.
250 2.0.0 Ok: queued as 24B72B18042
quit
221 2.0.0 Bye
Connection closed by foreign host.
# grep 24B72B18042 /var/log/maillog
Sep 29 10:33:06 loaodun-212-45 postfix-sen/smtpd[3343]: 24B72B18042: client=sen62.55tgo.com[192.168.1.1]
Sep 29 10:33:15 loaodun-212-45 postfix-sen/cleanup[3354]: 24B72B18042: message-id=< [email protected]>
Sep 29 10:33:15 loaodun-212-45 postfix-sen/qmgr[3348]: 24B72B18042: from=< [email protected]>, size=369, nrcpt=1 (queue active)
Sep 29 10:33:16 loaodun-212-45 postfix-sen/smtp[3355]: 24B72B18042: to=< [email protected]>, relay=126mx01.mxmail.netease.com[192.168.1.1]:25, delay=30, delays=28/0/1.3/0.2, dsn=2.0.0, status=sent (250 Mail OK queued as mx23,KcmowKD7j6+PpaJMvS4oBQ--.107S2 1285727632)
Sep 29 10:33:16 loaodun-212-45 postfix-sen/qmgr[3348]: 24B72B18042: removed  
       //但看到status=sent表明邮件已经发送成功,下面去 mail.126.com查看邮件吧!
-----------------------------------------------------------------------------
7.postfix管理命令
生成数据库 postmap hash:/etc/postfix/access
显示信件列表: postqueue -p  
显示信件�热荩� postcat -q Queue_ID          //Queue_ID为信件代号;
�h除各�e信件:postsuper -d Queue_ID
全部�h除: postsuper -d ALL
扣住信件: postsuper -h Queue_ID
回复: postsuper -H Queue_ID
重新排程:
postsuper -r Queue_ID
postsuper -r ALL
清除信件:
postqueue -f (全部)
postqueue -s 主机名称(个别对象)
要查看Postfix的当前主要配置文件的存放路径:
postconf -n
系统日志:tail -f /var/log/messages
邮件日志:tail -f /var/log/maillog
clamd相关: tail -f /var/log/clamav/clamd.log  tail -f /var/log/clamav/freshclam.log
maildrop相关:tail -f /var/log/maildrop.log
apache相关:tail -f /usr/local/httpd/logs/error_log  tail -f /usr/local/httpd/logs/suexec_log
mysql相关: tail -f /usr/local/mysql/data/linux.linux.com.err
测试amavisd: amavisd -d config debug-sa
测试spam: spamassassin -D --lint
测试maildrop: maildrop -V 10 -d [email protected]
 
重新加载postfix-sen的配置文件
postfix -c /etc/postfix-sen reload
查看postfix-sen下的邮件的数量
postqueue -c /etc/postfix-sen -p
删除postfix-mx2-staredm的所有邮件
postsuper -c /etc/postfix-sen -d ALL
grep  Queue_ID /var/log/maillog   //查看此邮件在邮件服务器发送状态;
-----------------------------------------------------------------------

笔者细语:
          到现在终于在十一之前完成了需要上线的项目,在今天交接完成,还好中午空余时间写下心得,希望对大家在使用postfix时有些帮助;
          提供专业的edm邮件发送、提供技术支持;E-mail: [email protected]
------------------------------------------------------------------------

你可能感兴趣的:(职场,mail,postfix,多实例,休闲)