欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


XEN虚拟机在Linux上的安装和使用教程
在Linux系统上安装配置DNS服务器的教程
Linux系统下Vim的多窗口使用技巧
Linux中使用ipvsadm配置LVS集群的基本方法
Linux下的sed命令使用详解
Linux系统的垃圾清理方法总结
Linux系统中uniq命令的基本使用教程
搜狐视频怎么更改下载的位置?
iPad Safari独享的最近关闭的标签功能
win10桌面图标全部消失该怎么办
Linux系统下安装配置postfix邮件服务器教程
【 来源:网络 】【 点击:2 】 【 发布时间:2017_03_03 08:59:59 】

   一,安装postfix,cyrus-sasl,cyrus-imapd

  如果yum提示找不到软件包,请换一下源,请参考centos 6推荐使用epel源

  代码如下:

  [root@localhost ~]# yum install postfix

  [root@localhost ~]# yum install cyrus*

  二,删除了sendmail

  代码如下:

  [root@localhost ~]# rpm -e sendmail

  或者

  代码如下:

  [root@localhost ~]# yum remove sendmail

  三,更改默认邮件传输代理(MTA)

  代码如下:

  [root@localhost sasl2]# alternatives --config mta

  共有 1 个程序提供“mta”。

  选择 命令

  -----------------------------------------------

  *+ 1 /usr/sbin/sendmail.postfix

  按 Enter 来保存当前选择[+],或键入选择号码:1

  上面的只有一个postfix,sendmail已经被我删了。可以通过下面命令来查看。

  代码如下:

  [root@localhost ~]# alternatives --display mta

  四,postfix,cyrus-sasl,cyrus-imapd相关配置

  1,postfix主配置文件main.cf

  代码如下:

  [root@localhost postfix]# vim /etc/postfix/main.cf

  myhostname = localhost //76行,将等号后面的部分改写为本机主机名

  mydomain = 51yip.com //82行,设置域名

  myorigin = $mydomain //97行,把$myhostname改为$mydomain

  inet_interfaces = all //112行,把后面的localhost改成all

  mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain //163行,把前面的注释拿掉,并加一下$mydomain

  mynetworks = 192.168.0.0/24, 127.0.0.0/8 //263行,设置内网和本地IP

  local_recipient_maps = //209行,把前面的注释拿掉。

  smtpd_banner = $myhostname ESMTP unknow //568行,把前面的注释拿掉,然后把$mail_name ($mail_version)改成unknow

< p>//在main.cf文件的底部加上以下内容

 

  smtpd_sasl_auth_enable = yes //使用SMTP认证

  broken_sasl_auth_clients = yes //让不支持RFC2554的smtpclient也可以跟postfix做交互。

  smtpd_sasl_local_domain = $myhostname // 指定SMTP认证的本地域名

  smtpd_sasl_security_options = noanonymous //取消匿名登陆方式

  smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination //设定邮件中有关收件人部分的限制

  smtpd_sasl_security_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination //设置允许范围

  message_size_limit = 15728640 //邮件大小

  mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp //设置连接cyrus-imapd的路径

  如果不加local_recipient_maps这个配置,收邮件收不到,下面是qq的退信。

  收件人邮件地址(tank@51yip.com)不存在,邮件无法送达。host mail.51yip.com[122.225.***.***] said: 550 5.1.1: Recipient address rejected: User unknown in local recipient table (in reply to RCPT TO command)

  2,cyrus-sasl配置

  代码如下:

  [root@localhost postfix]# vim /etc/sasl2/smtpd.conf //在文件尾部加上以下内容

  log_level: 3 //记录log的模式

  saslauthd_path:/var/run/saslauthd/mux //设置一下smtp寻找cyrus-sasl的路径,在这里要提一下的32位的机器和64位的机器smtpd.conf的路径是不一样的。

< p>//这是centos 5.5 32位机器上smtpd的配置文件

 

  [root@linux sasl2]# ls |grep conf

  Sendmail.conf

  smtpd.conf

  [root@linux sasl2]# pwd

  /usr/lib/sasl2

  //这是centos 6.0 64位机器上smtpd的配置文件,其他地方没有smtpd的配置文件

  [root@localhost postfix]# ls /etc/sasl2/ |grep smtpd

  smtpd.conf

  网上有不少关于postfix安装文章,配置的时候并没有明确提出是32位机器,还是64位机器。所以在这里标明一下。

  3,配置cyrus-imapd

  cyrus-imapd的主要配置文件有下面三个

  代码如下:

  /etc/sysconfig/cyrus-imapd

< p>/etc/cyrus.conf

 

< p>/etc/imapd.conf

 

  这里是默认的配置,也就是说上面三个文件我是没有动过的。在这里提醒一下imapd.conf在这个文件里面,你可以设置管理账号

  ,设置邮件存放目录,设置密码连接方式等。

  五,启动postfix,cyrus-sasl,cyrus-imapd

  启动cyrus-imapd服务,就可以同时提供pop和imap服务,如果你已安装了dovecot服务就可以删除掉,cyrus-imapd和dovecot二者选其一就行了,二都可以提供pop和imap服务,不过cyrus-imapd可以为每个用户创建一个信息,而且信箱具有层次结构,比较好管理。建议用cyrus-imapd。

  代码如下:

  [root@linux sasl2]# /etc/init.d/postfix start

  [root@linux sasl2]# /etc/init.d/saslauthd start

  [root@linux sasl2]# /etc/init.d/cyrus-imapd start

  查看一下进程,

  代码如下:

  //smtp监听是25端口

  [root@linux u]# netstat -tpnl |grep smtpd

  tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6319/smtpd

  代码如下:

  //110(POP3)和143(IMAP)端口,下面都已经有了

  [root@linux u]# netstat -tpnl |grep cyrus

  tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 23593/cyrus-master

  tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 23593/cyrus-master

  tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 23593/cyrus-master

  tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN 23593/cyrus-master

  tcp 0 0 :::993 :::* LISTEN 23593/cyrus-master

  tcp 0 0 :::995 :::* LISTEN 23593/cyrus-master

  tcp 0 0 :::110 :::* LISTEN 23593/cyrus-master

  tcp 0 0 :::143 :::* LISTEN 23593/cyrus-master

  tcp 0 0 :::2000 :::* LISTEN 23593/cyrus-master

  启动是没有问题的。

  六,测试cyrus-sasl

  代码如下:

  [root@linux t]# passwd cyrus //设置cyrus的密码

  [root@linux sasl2]# testsaslauthd -u cyrus -p '******' //系统用户和密码

  0: OK "Success."

  如果显示是上面的内容说是smtp是没有什么问题

  七,cyrus-imapd生产邮件管理员账号,并添加测试账号

  安装完cyrus-imapd后会产生一个管理账号是cyrus,所属用户组是mail

  代码如下:

  [root@linux sasl2]# id cyrus //imapd.conf里面默认的管理员账号就是cyrus

  uid=76(cyrus) gid=12(mail) groups=12(mail),76(saslauth)

  在认证admin账号时,我发现32位系统和64位系统有一点不同,二种系统我都配置过,配置都是一样的,

  但是出现的结果不一样,看下图

20151121114735964.jpg (300×52)

  32位机器cyrus管理员用户认证

20151121114756801.jpg (300×75)

  64位机器cyrus管理员用户认证

  从上图可以看出,32位的系统是不用加上--auth plain,64位的要,如果不加的话,根本进不去。

  进去后,我们来添加一下测试账号

  代码如下:

  [root@linux sasl2]# cyradm -u cyrus localhost

  IMAP Password:

  localhost> cm tank

  localhost> lm

  tank (HasNoChildren)

  localhost> quit

  这样我们可以在/var/spool/imap中看到,生成的目录,32位机器和64位机器生成的目录是不一样的

  代码如下:

  //这是64位系统生成的目录

  [root@localhost u]# ls

  user^tank

  [root@localhost u]# pwd

  /var/spool/imap/u

  //这是32位系统生成的目录

  [root@linux t]# ls

  tank

  [root@linux t]# pwd

  /var/spool/imap/t

  八,测试收发邮件

  测试前添加一下DNS,

  1,mail.51yip.com A 默认 122.225.***.***

  2,mail.51yip.com A 联通 60.12.***.***

  3,@ MX 默认 mail.51yip.com

  第1和第2,是添加二条A记录,第三行,设置了一下MX记录,这个千万不要忘了,不然你的域名是不通的。

  方法有很多,我们可以利用telnet来测试,不过用telnet来测试收发邮件比较麻烦,用linux自带的

  mail命令就方便多了

  代码如下:

  [root@localhost u]# mail -s '看一下' 95219454@qq.com < /etc/imapd.conf

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号