文档章节

postfix邮箱服务器安装和配置

Albert3306
 Albert3306
发布于 2016/06/21 16:45
字数 1430
阅读 120
收藏 1
  1. 创建用户
    [root@ebs-51660 ~]# useradd admin 你的邮箱用户名
    [root@ebs-51660 ~]# echo "123456" | passwd admin --stdin
  2. 确认MX记录的添加是否生效
    [root@ebs-51660 ~]# host fshongling.com
    fshongling.com mail is handled by 10 mail.fshongling.com.
  3. 安装postfix
    [root@ebs-51660 ~]# yum install postfix
  4. 删除sendmail
    [root@ebs-51660 ~]# rpm -e sendmail
  5. 更改默认邮件传输代理
    [root@ebs-51660 sasl2]# alternatives --config mta
     选择    命令
    ----------------------------------------------- 
    *+ 1           /usr/sbin/sendmail.postfix
    按 Enter 来保存当前选择[+],或键入选择号码:1 
  6. 查看postfix
    [root@ebs-51660 ~]# alternatives --display mta 
  7. postfix主配置文件main.cf
    [root@ebs-51660 postfix]# vim /etc/postfix/main.cf
    a、myhostname = mail.fshongling.com  //76行,将等号后面的部分改写为本机主机名
    b、mydomain = fshongling.com   //82行,设置域名
    c、myorigin = $mydomain   //97行,把$myhostname改为$mydomain
    d、inet_interfaces = all  //112行,把后面的localhost改成all
    e、mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain // 163行,把前面的注释拿掉,并加一下$mydomain
    f、mynetworks = 192.168.0.0/24, 127.0.0.0/8  //263行,设置内网和本地IP
    g、local_recipient_maps =  //209行,把前面的注释拿掉。h、smtpd_banner = $myhostname ESMTP unknow //568行,把前面的注释拿掉,然后把$mail_name ($mail_version)改成unknow 
    h、//在main.cf文件的底部加上以下内容
    l、smtpd_sasl_auth_enable = yes     //使用SMTP认证
    m、broken_sasl_auth_clients = yes   //让不支持RFC2554的smtpclient也可以跟postfix做交互。  
    n、smtpd_sasl_local_domain = $myhostname  // 指定SMTP认证的本地域名
    o、smtpd_sasl_security_options = noanonymous //取消匿名登陆方式p、smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination //设定邮件中有关收件人部分的限制
    q、 smtpd_sasl_security_restrictions = permit_mynetworks, permit_sasl_authenticated,  reject_unauth_destination //设置允许范围
    r、message_size_limit = 15728640     //邮件大小 
    s、mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp   //设置连接cyrus-imapd的路径
    完成后,使用/usr/sbin/postconf -n来检查配置是否正确
  8. 配置SELinux
    查看是否安装SELinux
    [root@ebs-51660 ~]# cat /etc/sysconfig/selinux
    #      This file controls the state of SELinux on the system.
    #      SELINUX= can take one of these three values:
    #      enforcing -SELinux security policy is enforced.
    #      permissive -SELinux prints warnings instead of enforcing.
    #      disabled -No SELinux policy is loaded.SELINUX=enforcing
    #      SELINUXTYPE= type of policy in use. Possible valuesare:
    #      targeted- Only targeted network daemons are protected.
    #      strict -Full SELinux protection.SELINUXTYPE=targeted

    安装SELinux
    [root@ebs-51660 ~]# yum install selinux-policy-targeted

    wget linuxmail.info/files/rhel6/postfixdovecotsasl.te 

    checkmodule -M -m -o postfixdovecotsasl.mod postfixdovecotsasl.te 

    semodule_package -o postfixdovecotsasl.pp -m postfixdovecotsasl.mod 

    semodule -i postfixdovecotsasl.pp

  9. 安装 cyrus-sasl 软件包
    [root@ebs-51660 ~]# yum install cyrus-sasl*

    (A)使用/etc/shadow文件验证

    [root@ebs-51660 ~]# vi /etc/sysconfig/saslauthd

    MECH=shadow

    FLAGS=

     

    [root@ebs-51660 ~]# vi /etc/sasl2/smtpd.conf 

    pwcheck_method: saslauthd

    mech_list: plain login

     

    (B)使用/etc/sasldb文件验证

    [root@ebs-51660 ~]# vi /etc/sysconfig/saslauthd

    #MECH=pam      #注释掉原文此行

    FLAGS=sasldb

     

    [root@ebs-51660 ~]# vi /etc/sasl2/smtpd.conf

    pwcheck_method: auxprop

    auxprop_plugin: sasldb

    mech_list: plain login

     

    [root@ebs-51660 ~]# saslpasswd2 -c admin -u kingmed.com

    按提示输入两次密码(不要与系统密码相同),首次操作会生成/etc/sasldb2文件。

    [root@ebs-51660 ~]# chgrp postfix /etc/sasldb2

    [root@ebs-51660 ~]# chmod 640 /etc/sasldb2

     

    启动saslauthd

    [root@ebs-51660 ~]#chkconfig saslauthd on

    [root@ebs-51660 ~]#service saslauthd start

     

    [root@ebs-51660 ~]# /usr/sbin/testsaslauthd -u admin -p '123456' #用系统密码测试

    0: NO "authentication failed"

    解决办法:

    [root@ebs-51660 ~]# setsebool -P allow_saslauthd_read_shadow 1

    如果还是不能成功,则看的main.cf文件配置是否有错

  10. 开放相关端口

    [root@ebs-51660 ~]# vi /etc/sysconfig/iptables

    -A INPUT -p tcp -m multiport --dports 25,80,110,143 -j ACCEPT

    [root@ebs-51660 ~]# service iptables restart

  11. 重启postfix
    [root@ebs-51660 ~]# chkconfig postfix on

    [root@ebs-51660 ~]# service postfix restart

  12. 检验配置是否正确
    postfix 提供了check命令,可以检查当前postfix 的配置是否有问题、文件和目录权限是否正确

    [root@ebs-51660 ~]# postfix check
    没有错误就说明没有问题
  13. 发送邮件测试
    echo 'test' | mail -s 'test' test@test.com
     

  14. Telnet登录验证

    新安装的centos系统是没有安装telnet的,需要自己安装

    检查是否安装[root@ebs-51660 ~]# rpm -qa telnet
    安装[root@ebs-51660 ~]# yum install -y telnet

    检查是否安装telent-server[root@ebs-51660 ~]# rpm -qa telnet-server
    安装[root@ebs-51660 ~]# yum install telnet-server

    这里是用虚拟用户即/etc/sasldb帐号,先取得用户名和密码的BASE64编码:
    [root@ebs-51660 sasl2]# printf "admin@fshongling.com" | openssl base64
    bGl1eXVodWlAa2luZ21lZC5jb20=

    [root@ebs-51660 sasl2]# printf "123456" | openssl base64
    bGl1eXVodWk=

    [root@ebs-51660 ~]# telnet localhost 25

    Trying 127.0.0.1...

    Connected to localhost.

    Escape character is '^]'.

    220 mail.kingmed.com ESMTP Postfix

    ehlo localhost

    250-mail.kingmed.com

    250-PIPELINING

    250-SIZE 10240000

    250-VRFY

    250-ETRN

    250-AUTH DIGEST-MD5 GSSAPI PLAIN CRAM-MD5 LOGIN

    250-ENHANCEDSTATUSCODES

    250-8BITMIME

    250 DSN

    auth login

    334 VXNlcm5hbWU6

    bGl1eXVodWlAa2luZ21lZC5jb20= #liuyuhui@kingmed.com的BASE64编码

    334 UGFzc3dvcmQ6

    bGl1eXVodWk= #密码liuyuhui的BASE64编码

    235 2.7.0 Authentication successful

    mail from:liuyuhui@kingmed.com

    250 2.1.0 Ok

    rcpt to:jiangtao@kingmed.com

    250 2.1.5 Ok

    data

    354 End data with . #回车后以点号(.)结束

    hello,how are you?

    250 2.0.0 Ok: queued as 934C83622

    quit

    221 2.0.0 Bye

    Connection closed by foreign host.

    来看下jiangtao用户家目录下是否有此邮件(注意queued as 934C83622):

    [root@mail ~]# cat /home/jiangtao/Maildir/new/1375283408.Vfd00I3696M538506.mail.kingmed.com 

    Return-Path: 

    X-Original-To: jiangtao@kingmed.com

    Delivered-To: jiangtao@kingmed.com

    Received: from localhost (localhost [127.0.0.1])

            (Authenticated sender: liuyuhui@kingmed.com)

            by mail.kingmed.com (Postfix) with ESMTPA id 934C83622

            for ; Wed, 31 Jul 2013 23:09:20 +0800 (CST)

    Message-Id: <20130731150940.934C83622@mail.kingmed.com>

    Date: Wed, 31 Jul 2013 23:09:20 +0800 (CST)

    From: liuyuhui@kingmed.com

    To: undisclosed-recipients:;

    hello,how are you?

    POP/ IMAP设置

    为了让用户能在本地机器下载邮件,必须在服务器安装设置POP或IMAP。Dovecot是适用CentOS Linux邮件系统有名的imap/pop服务器之一,它支持maildir和mbox格式。

  15. 安装dovecot
    [root@ebs-51660 ~]# yum -y install dovecot
    [root@ebs-51660 ~]# vim /etc/dovecot/dovecot.conf
           protocols = imap pop3 // 大概在20行的位置
           listen = * // 27行左右

    [root@ebs-51660 ~]# vim /etc/dovecot/conf.d/10-auth.conf
           disable_plaintext_auth = no // 9行,将yes改为no并去掉#号
           auth_mechanisms = plain login // 97行

    [root@ebs-51660 ~]# vim /etc/dovecot/conf.d/10-mail.conf
           mail_location = maildir:~/Maildir

    [root@ebs-51660 ~]# vim /etc/dovecot/conf.d/10-master.conf

    service auth {

      unix_listener auth-userdb {

      }

      unix_listener /var/spool/postfix/private/auth {

        mode = 0666

        user = postfix

        group = postfix

      }
    }

    [root@ebs-51660 ~]# vim /etc/dovecot/conf.d/10-ssl.conf
           ssl = no

    [root@ebs-51660 ~]# vim /etc/dovecot/conf.d/20-pop3.conf
           pop3_uidl_format = XuXv
           pop3_client_workarounds = outlook-no-nuls oe-ns-eoh

    配置完后使用dovecot -n查看所有配置。

    启动dovecot:

    [root@ebs-51660 ~]# chkconfig dovecot on

    [root@ebs-51660 ~]# service dovecot start

    现在你可以使用邮件客户端代理软件和系统用户及密码来连接我们的Dovecot服务器了。

    未完待续

    http://www.cnblogs.com/apexchu/p/4271264.html
    http://blog.chinaunix.net/uid-20362960-id-1699884.html
    http://my.oschina.net/u/2450048/blog/531171
    http://www.mamicode.com/info-detail-1162987.html
    http://blog.jjonline.cn/linux/185.html

本文转载自:http://my.oschina.net/u/2450048/blog/531171

上一篇: vim命令
Albert3306
粉丝 2
博文 36
码字总数 9559
作品 0
成都
程序员
私信 提问
安装 Postfix 并使用 MySQL 后端作为 SMTP 的 SASL 认证

Postfix 是一个免费、开源的 MTA 邮件发送服务器软件。 安装和配置 Postfix 1. 安装 Postfix 和 SASL 2. 创建数据库和表 (mysql -u root -p) 3. 创建 Postfix 到 MySql 的映射 域 (pico /etc...

红薯
2013/07/01
3.6K
2
在wdOS系统下搭建postfix和pop/imap邮件收发服务器的一些记录

一.简介: 1. wdOS是一个基于CentOS版本精简优化过的Linux服务器系统,大部分保留着centos服务,而在CentOS中默认的邮件服务器(SMTP方面)是sendmail,但sendmail存在安全隐患,再者邮件的...

shen_丁丁
2012/07/23
169
0
postfix+dovecot+foxmail

对于上网的每个人来说,发送,接收邮件是一个基本的要求。但是对于那些需要做网络产品推广和新闻消息推送的用户来说,普通邮箱就不能满足要求了,因为如果发送的邮件量很大的时候,发送邮件的...

焉哉乎也
2017/05/04
0
0
postfix+dovecot+foxmail

对于上网的每个人来说,发送,接收邮件是一个基本的要求。但是对于那些需要做网络产品推广和新闻消息推送的用户来说,普通邮箱就不能满足要求了,因为如果发送的邮件量很大的时候,发送邮件的...

焉哉乎也
2017/04/17
0
0
Linux 电子邮件服务器的搭建

电子邮件服务器的搭建 电子邮件服务器的基本功能: 为用户提供电子邮箱储存空间(用户@邮件域名) 处理用户发出的邮件--传递到邮箱 处理用户收到的邮件--投递收到邮箱 用户发邮件的协议:SMT...

夜流璃雨
2017/11/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[mycat]PartitionByString分片报错

java.lang.RuntimeException: error,check your partitionScope definition.at io.mycat.route.util.PartitionUtil.<init>(PartitionUtil.java:69) PartitionUtil.java 注意:其中count,l......

Danni3
27分钟前
8
0
OSChina 周三乱弹 —— 魂淡!不是这种粪发涂墙

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @小小编辑推荐歌曲《10/10》- Rex Orange County 《10/10》- Rex Orange County 手机党少年们想听歌,请使劲儿戳(这里) @奋斗的小牛 :上午...

小小编辑
39分钟前
698
10
Arduino教程:认识Arduino控制板

@toc 1.1 课程说明 认识Arduino控制板的各个部分, 1.2 器材 名称 数量 规格 Arduino uno控制板 1 R3 1.3 UNO电路: UNO参数 名称 参数说明 工作电压: 5V 输入电压: 接上USB时无须外部供电...

acktomas
46分钟前
6
0
WeUI框架

WeUI框架 WeUI是一套小程序的UI框架,所谓UI框架就是一套界面设计方案,有了组件,我们可以用它来拼接出一个内容丰富的小程序,而有了UI框架,我们就可以让我们的小程序变得更加美观。 体验W...

达达前端小酒馆
48分钟前
5
0
Rainbond 5.1.8发布,应用网关支持多IP网络接入

2019年10月23日,Rainbond发布5.1.8版本,本次版本更新带来了应用网关对多IP的支持, 第三方组件对域名实例的支持 等新功能和修复若干BUG。 Rainbond:支撑企业应用的开发、架构、交付和运维的...

好雨云帮
50分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部