IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    SMTP邮件服务器postfix配置与使用

    admin发表于 2011-06-01 05:58:20
    love 0

    最近要帮朋友配置一个SMTP服务器,需求就是每天需要向外发送上百万封邮件,google之,发现postfix邮件服务器比较靠谱, 能够发送外部邮件,于是就选它了

    操作系统:CentOS 5 32bit

    postfix安装

    可以通过源码安装最新的版本,但是为了方便,我直接使用yum安装

    sudo yum install postfix

    配置文件路径:/etc/postfix/main.cf

    postfix启动与停止命令:

    sudo /etc/init.d/postfix start
     
    sudo /etc/init.d/postfix stop
     
    sudo /etc/init.d/postfix restart

    postfix日志文件位置:/var/log/maillog

    卸载sendmail
    检查系统是否安装sendmail:

    rpm –qa |grep sendmail

    如果存在,卸载之

    rpm -e sendmail --nodeps

    安装cyrus-sasl-2.1.23

    由于在centos 源中不存在,直接通过源码安装cyrus-sasl-2.1.23.tar.gz
    下载地址
    ./configure &&make &&make install

    这个软件包的作用就是postfix邮件服务器的认证,因为如果转发外部的邮件,必须使用smtpd_recipient_restrictions选项的值check_relay_domains或者是reject_unauth_destination,二者必须选一个,而relay_damains手工来配置允许的邮件域太麻烦,所以就选用sasl认证

    修改sasl配置:/etc/sysconfig/saslauthd为

    # Directory in which to place saslauthd's listening socket, pid file, and so
    # on.  This directory must already exist.
    START=yes
    SOCKETDIR=/var/run/saslauthd
    
    # Mechanism to use when checking passwords.  Run "saslauthd -v" to get a list
    # of which mechanism your installation was compiled with the ablity to use.
    #MECH="pam"
    MECHANISMS="pam" #使用linux自身的用户认证
    
    # Additional flags to pass to saslauthd on the command line.  See saslauthd(8)
    # for the list of accepted flags.
    #FLAGS=
    

    然后重启saslauthd:

    sudo /etc/init.d/saslauthd restart

    测试saslauthd生效:

    /usr/sbin/testsaslauthd -u liyg -p liyangguang
    将sasl与postfix结合

    在main.cf文件中加入:

    #added by liyangguang
    smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
    #smtpd_client_restrictions = permit_sasl_authenticated
    
    smtpd_sasl_auth_enable = yes
    broken_sasl_auth_clients = yes
    smtpd_sasl_security_options = noanonymous
    

    重启postfix :sudo /etc/init.d/postfix restart。
    然后通过foxmail客户端配置smtp服务器地址,测试发送邮件是否成功

    参考资料:

    http://yahoon.blog.51cto.com/13184/40091

    http://www.postfix.org/RESTRICTION_CLASS_README.html

    http://publish.it168.com/2006/0221/20060221219401.shtml

    最多留言日志

    • 利用War-Ftpd的漏洞深入解析缓冲去溢出
    • 修改wordpress最新评论的显示样式
    • jquery ajax 提交checkbox数组的方法
    • 关于我
    • 程序员眼中的编程语言


沪ICP备19023445号-2号
友情链接