您的位置:首页 > 运维架构 > Linux

Centos环境下配置postfix邮件

2017-03-06 14:48 302 查看
一、邮件的基本概念

1、邮件服务的协议:

a) SMTP:Slmple Mail Tansfer Protocol(简单邮件传输协议)端口:25(发)

ESMTP:Extended(可以实现检查)

B) POP3 :Post Office Protocol(邮局协议3代)端口:110(收)

IMAP4:Internet Mail Access Protocol(互联网邮件访问协议4代)

C) SASL:Slmple Authlntcation Secure Layer(简单认证安全层)

2、邮件中继:指在不改变用户邮件地址(发件人)的前提下,将用户邮件通过多链路SMTP邮件转发服务器投递到收件人邮件服务器。

3、角色

a) MTA:邮件传输代理,SMTP服务器

程序:sendmail(uucp),qmail,potfix,exim,Exchange(windows)

b) MDA:邮件投递代理

程序:procmail(sendmail),maildrop,

c) MRA:邮件检索代理(实现pop3,imap4)

程序:cyrus-imap,dovecot

d) MUA:邮件用户代理

程序:Outlook Express(简装版),Outlook(专业版),Foxmail,Thunderbird(Linux),mutt(Linux)

4、webmail:Openwebmail、Squirrelmail、Extmail(extman管理系统,)

二、邮件服务器的搭建

1.修改主机名:

[root@CXM ~]# hostname mail.cxm.com
[root@CXM ~]# vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=mail.cxm.com


从新登录可以看到效果

2.配置DNS(正解反解都要配置)

[root@mail ~]# yum -y install bind


配置DNS的主配置文件

[root@mail ~]# vim /etc/named.conf
options {
listen-on port 53 { any; };                   #监听端口
listen-on-v6 port 53 { ::1; };
directory       "/var/named";
dump-file       "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query     { any; };                 #允许访问的地址
recursion yes;


修改DNS的区域配置文件

[root@mail ~]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak #复制区域配置文件防止修改错了
[root@mail ~]# vim /etc/named.rfc1912.zones

zone "cxm.com" IN {         #域
type master;
file "cxm.localhost";   #设置正向解析数据文件名字
allow-update { none; };
};

zone "1.168.192.in-addr.arpa" IN {  #IP地址的反写
type master;
file "cxm.empty";       #设置反向解析数据文件名字
allow-update { none; };
};
修改DNS的数据文件
[root@mail ~]# cd /var/named/
[root@mail named]# cp -p named.localhost cxm.localhost
[root@mail named]# cp -p named.empty cxm.empty
[root@mail named]# vim cxm.localhost                #修改正向解析文件

$TTL 1D
@       IN SOA  cxm.com. rname.invalid. (           #域(记得最后带.)
0       ; serial
1D      ; refresh
1H      ; retry
1W      ; expire
3H )    ; minimum
NS      dns.cxm.com.          #dns
MX 10     mail.cxm.com.           #MX记录解析邮件域名
dns     A       192.168.1.24
mail    A       192.168.1.24
[root@mail named]# vim cxm.empty                #修改反向解析文件

$TTL 3H
@       IN SOA  cxm.com. rname.invalid. (           #域
0       ; serial
1D      ; refresh
1H      ; retry
1W      ; expire
3H )    ; minimum
NS      dns.cxm.com.
24      PTR     dns.cxm.com.
24      PTR     mail.cxm.com.


启动DNS服务器

[root@mail named]# service named restart


指定DNS服务器

[root@mail ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=192.168.1.24


重启网卡

[root@mail named]# service network restart


测试

[root@mail ~]# nslookup
> mail.cxm.com
Server:     192.168.1.24
Address:    192.168.1.24#53

Name:   mail.cxm.com
Address: 192.168.1.24
> 192.168.1.24
Server:     192.168.1.24
Address:    192.168.1.24#53

24.1.168.192.in-addr.arpa   name = mail.cxm.com.
24.1.168.192.in-addr.arpa   name = dns.cxm.com.


2.安装配置postfix

如果系统自带的mail软件是sendmail先卸载sendmail。安装postfix。我用的系统是Centos6.5的实验环境,自带的mail软件是postfix

[root@mail ~]# service sendmail stop
[root@mail ~]# chkconfig sendmail off
[root@mail ~]# rpm -e sendmail --nodeps            #卸载依赖
[root@mail ~]# rpm -q postfix
postfix-2.6.6-2.2.el6_1.x86_64                      #默认安装了postfix(但是默认安装的postfix是不支持SASL的只能明文密码大家注意)


修改postfix的配置文件main.cf

[root@mail ~]# vim /etc/postfix/main.cf
myhostname = mail.cxm.com
mydomain = cxm.com
myorigin = $myhostname
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#home_mailbox = Maildir/ #邮件放置位置。默认是mailbox。Dovecot也是默认支持mailbox的所以这里不改动
#Mailbox一个文件储存所有邮件
#Maildir一个文件储存一封邮件,所有邮件存储一个目录
inet_interfaces = all
#mynetworks = 192.168.1.0/24, 127.0.0.0/8    #表示中继 但是一般不改变,不给任何人中继


重启postfix使配置生效

[root@mail ~]# service postfix restart
关闭 postfix:                                             [确定]
启动 postfix:                                             [确定]


测试是否可以发送邮件(现在还不可以收邮件)

添加用户

[root@mail ~]# useradd cxm
[root@mail ~]# passwd cxm
[root@mail ~]# useradd ts
[root@mail ~]# passwd ts


安装telnet测试

[root@mail ~]# yum -y install telnet


测试(查看日志)

[root@mail ~]# telnet mail.cxm.com 25      #连接mail.cxm.com的25号端口
Trying 192.168.1.24...
Connected to mail.cxm.com.
Escape character is '^]'.
220 mail.cxm.com ESMTP Postfix
helo mail.cxm.com
250 mail.cxm.com
mail from:cxm@cxm.com               #发件人
250 2.1.0 Ok
rcpt to:ts@cxm.com              #收件人
250 2.1.5 Ok
data                        #标题
354 End data with <CR><LF>.<CR><LF>
test
.                       #结束
250 2.0.0 Ok: queued as 2AE424073F
quit                        #退出
221 2.0.0 Bye
Connection closed by foreign host.


查看日志

[root@mail ~]# tail /var/log/maillog
Mar  6 20:52:23 localhost postfix/smtpd[24832]: 2AE424073F: client=mail.cxm.com[192.168.1.24]
Mar  6 20:52:37 localhost postfix/cleanup[24844]: 2AE424073F: message-id=<20170306125223.2AE424073F@mail.cxm.com>
Mar  6 20:52:37 localhost postfix/qmgr[24714]: 2AE424073F: from=<cxm@cxm.com>, size=325, nrcpt=1 (queue active)
Mar  6 20:52:37 localhost postfix/local[24845]: 2AE424073F: to=<ts@cxm.com>, relay=local, delay=76,
delays=76/0.09/0/0.03, dsn=2.0.0, status=sent (delivered to mailbox)            #状态为sent表示已经发送
Mar  6 20:52:37 localhost postfix/qmgr[24714]: 2AE424073F: removed
Mar  6 20:52:50 localhost postfix/smtpd[24832]: disconnect from mail.cxm.com[192.168.1.24]


安装dovecot修改配置

[root@mail ~]#  yum -y install dovecot
[root@mail ~]# vim /etc/dovecot/dovecot.conf
protocols = imap pop3                   #支持协议
[root@mail ~]# vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no                #允许明文密码验证
[root@mail ~]# vim /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u
[root@mail ~]# su - cxm #切换用户
[cxm@mail ~]$ mkdir -p ~/mail/.imap/INBOX#创建目录
[cxm@mail ~]$ su - ts密码:
[ts@mail ~]$ mkdir -p ~/mail/.imap/INBOX
[ts@mail ~]$ su - root密码:
[root@mail ~]#


重启dovecot使配置生效

[root@mail ~]# service dovecot start
正在启动 Dovecot Imap:                                    [确定]


用客户端软件测试是否可以收发邮件

foxmail设置如下



Windows Live Mail设置如下



测试



收到邮件证明测试成功

三、Centos环境下配置postfix邮件常见的报错信息

1.在启动DNS时出现Generating /etc/rndc.key:卡在这里了

解决:[root@mail named]# rndc-confgen -r /dev/urandom -a

2.telnet连接不上域名+25号端口但是可以连接localhost+25号端口

有可能是没有指定DNS,或者指定之后没有重启服务

3.foxmail和win live mail登录不上

可能是没有在指定用户上创建~/mail/.imap/INBOX目录,也可能是没有切换到相对用户创建,因为这个目录的所有者和所属组都是对应的用户

[root@mail ~]# ls -l /home/cxm/mail/.imap/INBOX/
总用量 20
-rw-------. 1 cxm cxm 16384 3月   6 21:44 dovecot.index.cache
-rw-------. 1 cxm cxm   704 3月   6 21:44 dovecot.index.log


4.在修改foxmail和dovecot配置文件后出错

看日志文件,一般会写的很清楚,也可以上网查找,也可以留言,大家一起探讨

[root@mail ~]# tail -f /var/log/maillog

这是简单的邮件服务器,还不够安全,以后会更新开源的其他邮件服务器如EXTMAIL,可以在浏览器上收发邮件的邮件服务器配置

有什么错误和好的建议和意见可以留言,我会尽快改正。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐