CentOS 搭建Postfix+Dovecot简单邮件系统
2019独角兽企业重金招聘Python工程师标准>>>
服务器信息
系统:CentOS 6.5 minimal版本
主机:虚拟机
虚拟机IP:192.168.128.128/24
宿主IP:10.1.79.24/24
安装postfix
注意:CentOS 7实际上已经用postfix+Sasl2代替sendmail了,因此无需安装。
1.移除sendmail
安装完成还需要替换系统自带的sendmail:
# rpm -e sendmail
#或者
# yum remove sendmail
修改MTA(默认邮件传输代理)
手写查看有哪些可以选择的邮件系统
alternatives --display mta
mta - status is manual.
link currently points to /usr/sbin/sendmail.sendmail
/usr/sbin/sendmail.sendmail - priority 90
slave mta-pam: /etc/pam.d/smtp.sendmail
slave mta-mailq: /usr/bin/mailq.sendmail
slave mta-newaliases: /usr/bin/newaliases.sendmail
slave mta-rmail: /usr/bin/rmail.sendmail
slave mta-sendmail: /usr/lib/sendmail.sendmail
slave mta-mailqman: /usr/share/man/man1/mailq.sendmail.1.gz
slave mta-newaliasesman: /usr/share/man/man1/newaliases.sendmail.1.gz
slave mta-aliasesman: /usr/share/man/man5/aliases.sendmail.5.gz
slave mta-sendmailman: /usr/share/man/man8/sendmail.sendmail.8.gz
/usr/sbin/sendmail.postfix - priority 30
slave mta-pam: /etc/pam.d/smtp.postfix
slave mta-mailq: /usr/bin/mailq.postfix
slave mta-newaliases: /usr/bin/newaliases.postfix
slave mta-rmail: /usr/bin/rmail.postfix
slave mta-sendmail: /usr/lib/sendmail.postfix
slave mta-mailqman: /usr/share/man/man1/mailq.postfix.1.gz
slave mta-newaliasesman: /usr/share/man/man1/newaliases.postfix.1.gz
slave mta-aliasesman: /usr/share/man/man5/aliases.postfix.5.gz
slave mta-sendmailman: /usr/share/man/man1/sendmail.postfix.1.gz
Current `best' version is /usr/sbin/sendmail.sendmail.
然后我们修改为/usr/lib/sendmail.postfix
alternatives --set mta /usr/sbin/sendmail.postfix
检查一下是不是已经设置成功了。
alternatives --display mta | grep "/usr/sbin/sendmail.postfix"
第一行可以看到mta的状态。 例如:
链接当前指向 /usr/sbin/sendmail.postfix
/usr/sbin/sendmail.postfix - priority 30
当前“最佳”版本是 /usr/sbin/sendmail.postfix。
配置Postfix
编辑/etc/postfix/main.cf,可以下载下来修改,也可以使用vi进行编辑:
vi /etc/postfix/main.cf
编辑内容如下
# 75行: 取消注释,设置hostname
myhostname = mail.bujidao.me
# 83行: 取消注释,设置域名
mydomain = bujidao.me
# 99行: 取消注释
myorigin = $mydomain
# 116行: 修改
inet_interfaces = all
# 119行: 推荐ipv4,如果支持ipv6,则可以为all
inet_protocols = all
#209行,把前面的注释拿掉,不然无法发送到公网 【http://www.cnblogs.com/apexchu/p/4271264.html】
local_recipient_maps =
# 164行: 添加
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 264行: 取消注释,指定内网和本地的IP地址范围
mynetworks = 127.0.0.0/8, 10.1.79.0/24,192.168.128.128
# 419行: 取消注释,邮件保存目录
home_mailbox = Maildir/
# 571行: 添加
smtpd_banner = $myhostname ESMTP $mail_name# 添加到最后
# 规定邮件最大尺寸为10M
message_size_limit = 10485760
# 规定收件箱最大容量为1G
mailbox_size_limit = 1073741824
# SMTP认证
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
修改好了之后使用service开启postfix,使用chkconfig postfix on将postfix开机启动。
#service postfix restart
#checkconfig postfix on #开机启动,可选
安装Dovecot
yum -y install dovecot
配置Dovecot
1.修改dovecot.cong
vi /etc/dovecot/dovecot.conf
修改如下:
listen = *,::protocols = imap pop3 lmtp
2.修改auth.conf
vi /etc/dovecot/conf.d/10-auth.conf
# 9行: 取消注释并修改,表示允许使用明文验证
disable_plaintext_auth = no
# 97行: 添加,表示允许使用明文登录
auth_mechanisms = plain login
3.修改mail.conf
vi /etc/dovecot/conf.d/10-mail.conf
# 30行: 取消注释并添加,使用qmail风格
mail_location = maildir:~/Maildir
4.修改master.conf
vi /etc/dovecot/conf.d/10-master.conf
# 88-90行: 取消注释并添加
# Postfix smtp验证
unix_listener /var/spool/postfix/private/auth {mode = 0666user = postfixgroup = postfix
}
5.修改pop3.conf
vi /etc/dovecot/conf.d/20-pop3.conf
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
6.配置ssl验证
vi /etc/dovecot/conf.d/10-ssl.conf
ssl = no #不开启SSL
#暂时不开启ssl,因为我们没有合法的证书,自签名证书可能存在问题
#ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
#ssl_key = </etc/pki/dovecot/private/dovecot.pem
7.启动dovecot并设置开机启动
service dovecot start
chkconfig dovecot on
8.检查相关端口
ps aux | grep "dovecot"
root 3894 0.0 0.1 107936 604 pts/1 S+ 14:27 0:00 tail -f dovecot-err.log
root 4040 0.0 0.1 107936 604 pts/2 S+ 14:53 0:00 tail -f /var/log/dovecot-info.log
root 4442 0.0 0.3 15640 1520 ? Ss 16:01 0:00 /usr/sbin/dovecot -F
dovecot 4445 0.0 0.2 9308 1024 ? S 16:01 0:00 dovecot/anvil
root 4446 0.0 0.2 9436 1184 ? S 16:01 0:00 dovecot/log
root 4517 0.0 0.2 112664 972 pts/0 R+ 16:12 0:00 grep --color=auto dovecot
或者
netstat -lntp -4
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 4533/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 4533/dovecot
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 969/sshd
tcp 1 0 0.0.0.0:25 0.0.0.0:* LISTEN 4361/master
使用lsof查询
lsof -i :143
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dovecot 4533 root 36u IPv4 95185 0t0 TCP *:imap (LISTEN)
dovecot 4533 root 37u IPv6 95186 0t0 TCP *:imap (LISTEN)
lsof -i :110
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dovecot 4533 root 24u IPv4 95149 0t0 TCP *:pop3 (LISTEN)
dovecot 4533 root 25u IPv6 95150 0t0 TCP *:pop3 (LISTEN)
lsof -i :25
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
master 4361 root 13u IPv4 93270 0t0 TCP *:smtp (LISTEN)
master 4361 root 14u IPv6 93271 0t0 TCP *:smtp (LISTEN)
可以看到master是stmpd,占用了25,dovecot占了110(pop3),143(imap)端口
邮箱验证与使用
创建用户
一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。在这里需要说一下,系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是root@domain.com,密码就是root的密码,所以需要创建用户,只要使用adduser创建用户,再使用passwd设置密码。
好了,假如我们创建一个admin的用户:
#创建用户组与用户,并且不允许用户登录系统,但是账户存在,只用于邮箱
groupadd mailusers
adduser -g mailusers -s /sbin/nologin martin
adduser -g mailusers -s /sbin/nologin jack#分别给martin和jack添加密码
passwd martin
passwd jack
使用伪域名验证
原则上,我们要使用邮箱,必须具有域名才行,我们要么搭建自己的DNS服务器,要么购买域名,这里为了方便,我们通过修改hosts的方式来实现
修改虚拟机上的hosts
127.0.0.1 bujidao.me
192.168.128.128 bujidao.me127.0.0.1 mail.bujidao.me
192.168.128.128 mail.bujidao.me
然后修改宿主机上的hosts,如果你没使用宿主机,那么宿主机hosts就不需要修改了,但是大多数时候,我们需要修改。
添加如下内容
192.168.128.128 bujidao.me
192.168.128.128 mail.bujidao.me
关闭虚拟防火墙
service iptables stop
使用foxmail代理客户端收发邮件
然后创建,到下个页面修改 邮件账号
注意:红色框部分不能带 @domain,否则登录不了,因为我们给系统创建的账户并没有添加邮箱
点击创建,就可以添加jack账户了,用同样的方式,我们可以将martin添加到foxmail
然后,我们可以使用jack,martin相互发送邮件了
同样也可以给其他邮箱发,我给某网站邮箱发邮件也是成功的,当然,我们反对垃圾邮件,做一名好公民使我们的本分。
参考:
Linux系统下邮件服务器的搭建(Postfix+Dovecot)
CentOS 6.5 安装与配置邮件服务器(postfix + dovecot)
Postfix+Dovecot+MySQL搭建邮件服务器
CentOS 6.4 邮件服务器之Postfix + dovecot + sasl 笔记
postfix 安装配置详解
转载于:https://my.oschina.net/ososchina/blog/861957
CentOS 搭建Postfix+Dovecot简单邮件系统相关推荐
- PostFix+Dovecot 部署邮件系统
Postfix 是一种电子邮件服务器,它是由任职于IBM华生研究中心 (T.J. Watson Research Center) 的荷兰籍研究员Wietse Venema为了改良sendmail邮件服 ...
- centos6.8 搭建postfix/dovecot邮件服务器
postfix/dovecot邮件服务器 安装配置参考链接 http://www.cnblogs.com/jkklearn/p/7280045.html (domain 为自己域名 xxx.com) ...
- LAMP+Postfix+Dovecot+SquirrelMail邮件服务器搭建
LAMP+Postfix+Dovecot+SquirrelMail邮件服务器搭建 前段时间介绍过了在RHEL5下如何搭建LAMP环境,今天来介绍如何在LAMP下搭建邮件服务器,这一篇是构建基于post ...
- centos dovecot mysql_centos7 搭建简单邮件服务器postfix dovecot
前两天呢 小编和大家说了 samba文件共享服务器的搭建,今天呢 我想和大家聊聊 邮件服务器的搭建 电子邮件系统是人们日常生活中最常用的网络服务之一,了解熟悉SMTP.POP3.IMAP4等常见的电子 ...
- 虚拟机安装postfix服务器,CentOS 7 下搭建邮件服务器(bind+postfix+dovecot)
CentOS 7下搭建邮件服务器 前提环境:CentOS 7虚拟机IP为192.168.43.124 主机名为mail.zxp.com 修改主机名:hostnamectl set-hostname m ...
- linux mysql 邮件_linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件...
linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件 使用虚拟用户收发邮件安装 九.安装Courier authentication lib ...
- linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件...
linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件 使用虚拟用户收发邮件安装 九.安装Courier authentication lib ...
- 【验】Postfix+Dovecot+MySQL搭建邮件服务器
网上有很多使用Postfix搭建邮件服务器的文章,但目前貌似没有看到较为完整的一篇.本例将尝试在Ubuntu系统中使用Postfix+Dovecot+MySQL搭建邮件服务器. 说到邮件服务器,网上有 ...
- 配置postfix+dovecot+mysql+postfixadmin+squirrelmail 邮件系统笔记
最近想搭建一个完整的mailserver,查了很多资料,一直没有成功,网上大部分资料是在redhat系列的操作系统上的,而且很多都是采用rpm包. 我现在的系统是suse Linux有许多包已经安装, ...
最新文章
- Delphi多线程编程中的技巧
- java map 不存在的key_java – HashMap表示即使它确实存在,Key也不存在
- Quartus II常见问题集锦
- BeanUtils介绍及其使用
- xpath中normalize-space的实际应用
- 数字电路基础:系统设计优化
- java 运行配置_JAVA运行环境配置
- Openssl 编译
- vue源码分析系列三:render的执行过程和Virtual DOM的产生
- 上海家政圈已经这么卷了吗。。。
- 双18期|CSS揭秘之简写属性
- linux音频文件格式转换,Linux下常见音频格式之间的转换方法
- Spring设置定时任务时,关于执行时间的规则设置
- postman如何做接口关联
- python怎么爬取电影海报_Python 爬取猫眼数据分析《无名之辈》为何能逆袭成黑马?...
- Xeon Phi之MIC编程知识点
- unreal无损音乐百度云_嵐-IN THE SUMMER
- 同步移动两个窗口(保证窗口的相对位置一起移动)
- 汇编语言 VSCode编辑器的下载、安装与配置使用
- Z370技嘉主板通过U盘刷BIOS和恢复MAC地址的方法
热门文章
- SQL2008R2的 遍历所有表更新统计信息 和 索引重建
- java导出生成word(类似简历导出)
- 转载------------java equals 方法
- ThreadLocal http://blog.jobbole.com/20400/
- Leetcode::Subsets
- 新快现类似产品_小米全新折叠屏产品曝光,预计今年还有更多折叠屏产品亮相...
- c语言equal,C ++中的ratio_equal()示例
- c++2015语言,2015年7月TIOBE编程语言排行榜:C++ 的复兴
- ClassLoader.getResourceAsStream(name);获取配置文件的方法
- netty为什么性能高