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

clip_image001

Centos7是自带postfix服务的,所以我们不用单独安装了;

1
rpm –qa |  grep  postfix

clip_image002

我们发现系统自带了postfix服务,所以我们就不用安装了

postfix 2.10.1-6.el7.x86_64

接下来就是说说postfix的基本配置,当然postfix的配置非常多,我们就不多介绍了,先介绍一下发送邮件的基本配置

我们先通过取反查看默认的postfix的默认配置,查看那些需要修改

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

clip_image003

1
vim  /etc/postfix/main .cf

clip_image004

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

clip_image005

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

clip_image006

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

clip_image007

1
取消注释  #local_recipient_maps =

clip_image008

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

修改保存退出后,我们查看反向配置

clip_image009

保存退出后,我们启动postfix服务及查看端口状态,

1
2
3
systemctl start postfix
system  enable  postfix
netstat  –anlpt

clip_image010

接下来我们安装dovecot服务,该服务主要提供pop3、imap服务

1
yum  install  dovecot

clip_image011

安装完成

clip_image012

接下来我们查看dovecot的默认配置文件

我们看见以下include可以包含的配置文件路劲,在该路劲下的*.conf文件都会生效

clip_image013

我们启用协议以下协议

1
2
3
protocols = imap pop3 lmtp
启用端口监听
listen = *,::

clip_image014

保存退出

1
grep  - v  '^#'  /etc/dovecot/dovecot .conf |  grep  - v  '^$'

clip_image015

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

clip_image016

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

clip_image017

保存退出

1
grep  - v  '^#'  /etc/dovecot/conf .d /10-auth .conf |  grep  - v  '^$'

clip_image018

禁用ssl认证,如下:

当然也可以不取消ssl,根据自己的环境定

1
2
vim  /etc/dovecot/conf .d /10-ssl .conf
ssl = no

clip_image019

启用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

clip_image020

然后启动服务

1
2
systemctl start dovecot
systemctl  enable  dovecot

我们看见110、143都已经监听了

clip_image021

接下来我们创建一个测试用户

1
2
useradd  zs
passwd  zs

然后输入新旧密码

clip_image022

然后我们开始测试

1
2
3
4
5
6
7
8
9
10
[root@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.

clip_image023

我们查看log

1
2
3
4
5
6
7
8
9
10
11
[root@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.

clip_image024

我们切换到刚才的用户

1
2
3
su  – zs
然后为用户zs,创建inbox目录
mkdir  -p ~ /mail/ .imap /INBOX

clip_image025

然后再次尝试就可以了

1
2
3
4
5
6
7
8
9
[root@pfx ~] # telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is  '^]' .
+OK Dovecot ready.
user zs
+OK
pass 123456
+OK Logged  in .

clip_image026

测试发送邮件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@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.

clip_image027

我们查看邮件

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@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
.

clip_image028

我们每次都需要创建目录,比较麻烦,我们可以不可以用脚本呢

设置邮件存放目录:

1
2
vim /etc/dovecot/conf .d /10-mail .conf   取消以下注释
mail_location = mbox:~ /mail :INBOX= /var/mail/ %u   #指定邮件的位置

clip_image029

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  
或者可以下载附件,替换当前的配置文件即可

clip_image030

保存退出后,执行一下,为其快速生效。

1
source  .bash_profile

接下来我们需要创建测试用户,创建用户后,使用新用户登录后,会自动创建相关目录,然后就直接可以使用邮箱了;我们也可以使用outlook或者其他方式进行邮件测试,再次就不做测试;

如果想希望对外及对内邮件有来往的话,需要将服务器的110、25发布到外网,然后再外网的域名商配置MX记录解析及A记录解析,这样邮件才能回来。

我们最后使用foxmail进行内网测试了;

我们配置两个账户,zs、ls用户进行邮件收发测试:

wKiom1haWDGSAxF8AABfPfIO6Lo009.jpg-wh_50

wKioL1haWDGhshNFAAAbVwKhwPQ287.jpg-wh_50

wKiom1haWDPAVCd8AADPUco5RlI259.jpg-wh_50

我们再添加一个ls的账户

wKioL1haWDPj9gBJAADh1Qv4xD4654.jpg-wh_50

使用zs给ls发邮件

wKiom1haWDThOUWuAABoIc6kynQ403.jpg-wh_50

zs收到邮件了

wKioL1haWDXglw68AACDhgAy3YY150.jpg-wh_50

ls也收到邮件了

wKioL1haWDWTLkTqAACOvBCbkC8438.jpg-wh_50



本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1884841,如需转载请自行联系原作者

相关文章
|
5月前
|
存储 安全 Linux
linux centos7中使用 Postfix 和Dovecot搭建邮件系统
linux centos7中使用 Postfix 和Dovecot搭建邮件系统
203 1
|
5月前
|
存储 安全 Linux
linux中使用Postfix和Dovecot搭建邮箱系统服务
Postfix是一个开源的邮件传输代理(MTA),用于路由和传送电子邮件。它是一个可靠、安全且高性能的邮件服务器软件,常用于搭建邮件系统的核心组件之一。 Dovecot是一个开源的邮件服务软件,用于提供邮件访问服务,包括POP3和IMAP协议。它通常与Postfix配合使用,用于接收和存储邮件,以及为用户提供远程访问邮件的功能。
470 3
 linux中使用Postfix和Dovecot搭建邮箱系统服务
|
5月前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置postfix服务
安装CentOS7的Postfix和Dovecot,配置Postfix的`main.cf`文件,包括修改完全域名、允许所有IP、启用邮箱等。然后,配置Dovecot的多个配置文件以启用auth服务和调整相关设置。重启Postfix和Dovecot,设置开机自启,并关闭防火墙进行测试。最后,创建邮箱账户并在Windows邮箱客户端中添加账户设置。
192 0
|
存储 运维 监控
centos7.6部署Postfix+Dovecot邮件系统
一、理论部分 电子邮件系统基于邮件协议来完成电子邮件的传输 常用的协议有:    简单邮件传输协议(SMTP):用于发送和中转发出的电子邮件,占用服务器的TCP/25端口    邮局协议版本3(POP3):用于将电子邮件存储到本地主机,占用服务器的TCP/110端口    internet消息访问协议版本4(IMAP4):用于在本地主机访问邮件,占用服务器的TCP/143端
430 0
centos7.6部署Postfix+Dovecot邮件系统
|
网络协议 Linux 文件存储
Postfix 邮件服务器的配置
Postfix是一种功能强大且功能多样的邮件传输代理。在本文中,我们已经了解了如何使用postfix 和 dovecot为基于系统用户帐户的单个域实现基本电子邮件服务器。我们几乎没有涉及基于 postfix 的系统的真正功能,但希望能为新用户构建提供坚实的工作基础。
1713 0
|
存储 网络协议 Linux
Postfix + Extmail 企业邮件服务器搭建
ExtMail套件用于提供从浏览器中登录、使用邮件系统的Web操作界面,而Extman套件用于提供从浏览器中管理邮件系统的Web操作界面。它以GPL版权释出,设计初衷是希望设计一个适应当前高速发展的IT应用环境,满足用户多变的需求,能快速进行开发、改进和升级,适应能力强的webmail系统。
Postfix + Extmail 企业邮件服务器搭建
|
Go
postfix删除队列中的邮件
Postfix中有一套Mail Queue Management机制,所有队列中的邮件都可以全自动的处理,但在发送大量邮件的时候,有必要对这个队列进行手工的维护处理,比如说,删除队列中的邮件. 以下是一些常用的命令: 列出目前在 Mail Queue 中的邮件 mailq 刪除所有在 Queu...
691 0
|
网络协议 Linux 网络安全
Linux服务器---邮件服务安装postfix
安装postfix      postfix是一个快速、易于管理、安全性高的邮件发送服务,可以配合dovecot实现一个完美的邮箱服务器。1、安装postfix       [root@localhost ~]# rpm -qa | grep postfix      [root@localhos...
2373 0