设为首页 收藏本站
查看: 1307|回复: 0

[经验分享] Centos7+Postfix+Dovecot实现邮件收发

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-12-22 09:11:58 | 显示全部楼层 |阅读模式
Centos7+Postfix+Dovecot实现邮件收发
说到邮件系统,现在有很多,比如微软的Exchange、Office365、IBM Lotus、主流的第三方提供的邮件系统。当然这些都是收费的,如果对于小环境内使用的话,可以使用linux下部署的Postfix+Dovecot实现邮件的收发等,当然在Linux下 有很多服务可以实现邮件的收发,今天我们主要介绍的是Centos7+Postfix+Dovecot实现邮件收发,具体见下:
首先是安装好Centos7,安装好后,我们需要对一些系统的设置进行配置;
1
2
1.selinux关闭、sed –I ‘s/enforcing/disabled/g’ /etc/selinux/config
2. firewall-cmd –add-port=’110/tcp’ –permanent     firewall-cmd –add-port=’25/tcp’ –permanent



准备好后,首先是查看系统版本
1
cat /etc/redhat-release



wKioL1haVCWADl94AABCc_ZnweY389.jpg
Centos7是自带postfix服务的,所以我们不用单独安装了;
1
rpm –qa | grep postfix



wKiom1haVCagbZtIAABH-7KzSrA700.jpg
我们发现系统自带了postfix服务,所以我们就不用安装了
postfix 2.10.1-6.el7.x86_64
接下来就是说说postfix的基本配置,当然postfix的配置非常多,我们就不多介绍了,先介绍一下发送邮件的基本配置
我们先通过取反查看默认的postfix的默认配置,查看那些需要修改
1
grep -v '^#' /etc/postfix/main.cf | grep -v '^$'



wKiom1haVCfzYl91AAIwE3uDors768.jpg
1
vim /etc/postfix/main.cf



wKioL1haVCihozu9AAGNuixyTRM212.jpg
1
2
3
myhostname =pfx.ixmsoft.com  #定义主机名
mydomain =ixmsoft.com   #定义域名
myorigin =$mydomain  #定义组织域



wKiom1haVCrTcUdIAAFU70Sfk1g090.jpg
1
2
inet_interfaces =all  定义网络区域
inet_portocols =all  定义协议



wKioL1haVCuSM8vTAAH-nV5KWVc469.jpg
1
2
我们需要在mydestination的值后面添加 $mydomain ,如果不添加的话,收件人的地址会有问题,如果添加后,用户发送邮件直接会是
xx@domain.com



wKiom1haVCyiaob9AAKBbOu750U419.jpg
1
取消注释 #local_recipient_maps =



wKiom1haVC6hPd4qAAGvaAq8CVA750.jpg
1
grep -v '^#' /etc/postfix/main.cf | grep -v '^$'



修改保存退出后,我们查看反向配置
wKiom1haVDKjrVG-AAHu8ItOdvI505.jpg
保存退出后,我们启动postfix服务及查看端口状态,
1
2
3
systemctl start postfix
system enable postfix
netstat –anlpt



wKiom1haVDPCOLtoAACtNJGcLaU292.jpg
接下来我们安装dovecot服务,该服务主要提供pop3、imap服务
1
yum install dovecot



wKioL1haVDTz_FD0AAEXlgtF_Us737.jpg
安装完成
wKioL1haVDbSaay0AAECkBuFZAs829.jpg
接下来我们查看dovecot的默认配置文件
我们看见以下include可以包含的配置文件路劲,在该路劲下的*.conf文件都会生效
wKiom1haVDfRQit3AAI7rbXsHpw564.jpg
我们启用协议以下协议
1
2
3
protocols = imap pop3 lmtp
启用端口监听
listen = *,::



wKioL1haVDnAe-1jAAK44RCnGHk732.jpg
保存退出
1
grep -v '^#' /etc/dovecot/dovecot.conf | grep -v '^$'



wKiom1haVDrROuE2AACm4_Ii16Y618.jpg
1
2
vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no



wKiom1haVDvxkOvlAAGnokPgJos070.jpg
1
2
auth_mechanisms = plain login
!include auth-system.conf.ext



wKiom1haVD-yRtZ7AAHupUIAyQQ218.jpg
保存退出
1
grep -v '^#' /etc/dovecot/conf.d/10-auth.conf | grep -v '^$'



wKiom1haVECj70jHAABnE4c_NoY562.jpg
禁用ssl认证,如下:
当然也可以不取消ssl,根据自己的环境定
1
2
vim /etc/dovecot/conf.d/10-ssl.conf
ssl = no



wKioL1haVELCddmPAAJHnReIokc124.jpg
启用dovecot的日志,如下:
1
2
3
4
vim /etc/dovecot/conf.d/10-logging.conf
添加
info_log_path = /var/log/dovecot_info.log
debug_log_path = /var/log/dovecot_debug.log



wKioL1haVEODaMqeAAHGtKB0wys655.jpg
然后启动服务
1
2
systemctl start dovecot
systemctl enable dovecot



我们看见110、143都已经监听了
wKioL1haVETClRd-AAE5T5Zz7io935.jpg
接下来我们创建一个测试用户
1
2
useradd zs
passwd zs



然后输入新旧密码
wKioL1haVEWB474-AACd8DtlTcA573.jpg
然后我们开始测试
1
2
3
4
5
6
7
8
9
10
[iyunv@pfx ~]# telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user zs
+OK
pass 123456
-ERR [SYS/TEMP] Internal error occurred. Refer to server log for more information.
Connection closed by foreign host.



wKiom1haVEbieyodAACNhCQAhJU610.jpg
我们查看log
1
2
3
4
5
6
7
8
9
10
11
[iyunv@pfx ~]# tail -f /var/log/maillog
Dec 21 00:37:58 pfx postfix/postfix-script[9570]: stopping the Postfix mail system
Dec 21 00:37:58 pfx postfix/master[9553]: terminating on signal 15
Dec 21 00:38:01 pfx postfix/postfix-script[9654]: starting the Postfix mail system
Dec 21 00:38:01 pfx postfix/master[9656]: daemon started -- version 2.10.1, configuration /etc/postfix
Dec 21 00:38:08 pfx postfix/smtpd[9661]: warning: hostname bogon does not resolve to address 192.168.5.20: Name or service not known
Dec 21 00:38:08 pfx postfix/smtpd[9661]: connect from unknown[192.168.5.20]
Dec 21 00:38:20 pfx postfix/smtpd[9661]: lost connection after CONNECT from unknown[192.168.5.20]
Dec 21 00:38:20 pfx postfix/smtpd[9661]: disconnect from unknown[192.168.5.20]
Dec 21 00:55:46 pfx dovecot: pop3(zs): Error: user zs: Initialization failed: Namespace '': Mail storage autodetection failed with home=/home/zs
Dec 21 00:55:46 pfx dovecot: pop3(zs): Error: Invalid user settings. Refer to server log for more information.



wKiom1haVEfzaJtEAAEqYyMSprE133.jpg
我们切换到刚才的用户
1
2
3
su – zs
然后为用户zs,创建inbox目录
mkdir -p ~/mail/.imap/INBOX



wKiom1haVEiwOTz3AABJgYXyFBs515.jpg
然后再次尝试就可以了
1
2
3
4
5
6
7
8
9
[iyunv@pfx ~]# telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user zs
+OK
pass 123456
+OK Logged in.



wKioL1haVEjjr9d8AAB8fUIwcEs964.jpg
测试发送邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[iyunv@pfx /]# telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 mail.ixmsoft.com ESMTP Postfix
mail from:zs@ixmsoft.com
250 2.1.0 Ok
rcpt to:ls@ixmsoft.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
this is test mail
.
250 2.0.0 Ok: queued as A702D400FC14
quit
221 2.0.0 Bye
Connection closed by foreign host.



wKiom1haVErxQtGMAAD3zgfXgyY643.jpg
我们查看邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
[iyunv@pfx /]# telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user ls
+OK
pass 123456
+OK Logged in.
list
+OK 1 messages:
1 409
.



wKioL1haVEqjEWyUAACJwLUR4nU588.jpg
我们每次都需要创建目录,比较麻烦,我们可以不可以用脚本呢
设置邮件存放目录:
1
2
vim/etc/dovecot/conf.d/10-mail.conf   取消以下注释
mail_location = mbox:~/mail:INBOX=/var/mail/%u  #指定邮件的位置



wKioL1haVEvSLV4hAAGmYe0lVew359.jpg
1
2
3
4
5
6
7
8
9
10
重启dovecot服务
systemctl restart dovecot
修改创建用户模板文件,使用户创建时自动生成mail存放目录
vim /etc/skel/.bash_profile   添加一下配置文件,
if[ ! -d ~/mail/.imap/INBOX ] ; then
mkdir -p ~/mail/.imap/INBOX
fi
注:如果是复制的,最好在保存推出前,执行以下编码格式的执行
:set format=unix  
或者可以下载附件,替换当前的配置文件即可



wKiom1haVEzyhC0zAACwgGqX7oE738.jpg
保存退出后,执行一下,为其快速生效。
1
source .bash_profile



接下来我们需要创建测试用户,创建用户后,使用新用户登录后,会自动创建相关目录,然后就直接可以使用邮箱了;我们也可以使用outlook或者其他方式进行邮件测试,再次就不做测试;
如果想希望对外及对内邮件有来往的话,需要将服务器的110、25发布到外网,然后再外网的域名商配置MX记录解析及A记录解析,这样邮件才能回来。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-317696-1-1.html 上篇帖子: Cetos6.5安装jdk1.8.0_111-1.8.0_111-fcs.i586 下篇帖子: hibernate 无法自动创建表 的解决办法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表