CentOS 搭建Postfix+Dovecot简单邮件系统

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

服务器信息

系统: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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php面试题2018

一 、PHP基础部分 1、PHP语言的一大优势是跨平台&#xff0c;什么是跨平台&#xff1f; PHP的运行环境最优搭配为ApacheMySQLPHP&#xff0c;此运行环境可以在不同操作系统&#xff08;例如windows、Linux等&#xff09;上配置&#xff0c;不受操作系统的限制&#xff0c;所以…

学生党的专属定制福利,你想要的这里全都有!

同学们&#xff1a;您好&#xff01;很⾼兴认识⼤家&#xff01;我是微软的 Regional Cloud Advocate Kinfey Lo&#xff0c;感谢您在课余时间打开这封信。踏⼊⾦秋&#xff0c;技术峰会进⼊了旺季&#xff0c;有⾯向商业的&#xff0c;有⾯向开发者的&#xff0c;有⾯向技术社…

Quartus prime16.0 与modelsim ae 联调

前言 quartus和modelsim联调对仿真还是很方便的&#xff0c;当然最好是quartus干综合到烧录的活&#xff0c;modelsim单独仿真。而且ae版的性能比se版差。 流程&#xff1a; 1.配置modelsim ae路径&#xff1a; 我这里是这个路径&#xff0c;根据你自己安装的地方配置路径。 2.…

30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)

去年八月时要做一个OA系统为了后台界面而烦恼&#xff0c;后来写了一篇博客&#xff08;《后台管理UI的选择》&#xff09;介绍了选择过程与常用后台UI&#xff0c;令我想不到的时竟然有许多开发者与我一样都为这个事情而花费不少时间&#xff0c;最后界面效果还是不佳&#xf…

分析拼多多的崛起【产品思维】

最近朋友圈讨论拼多多上市的新闻大火&#xff0c;各有各的看法&#xff0c;很有意思&#xff0c;突然想起前段时间得到上的《梁宁-产品思维30讲》&#xff0c;所以想从数据和产品角度分析分析拼多多的崛起。 一&#xff1a;拼多多的迅速崛起 我们先看看拼多多这几年的成长历程&…

KestrelServer详解[2]: 网络连接是如何创建的?

《KestrelServer详解[1]&#xff1a;注册监听终结点&#xff08;Endpoint&#xff09;》已经详细讲述了如何使用KestrelServer&#xff0c;现在我们来简单聊聊这种服务器的总体设计和实现原理。当KestrelServer启动的时候&#xff0c;注册的每个终结点将转换成对应的“连接监听…

支付宝支付开发流程

支付宝开发流程1、首先我们先谈谈第三方支付所谓第三方支付就是和一些各大银行签约&#xff0c;并具备一定实力和信誉保障的第三方独立机构提供的交易平台目前市面上常见的有支付宝&#xff0c;财付通&#xff0c;网银&#xff0c;易宝支付等&#xff0c;网站需要实现第三方支付…

MQ消息队列之MSMQ

主要参考文章&#xff1a; 消息队列&#xff08;Message Queue&#xff09;简介及其使用 转载于:https://www.cnblogs.com/mailaidedt/p/6599130.html

css选择器总结

一.选择器 1. css1选择器 2.css2选择器 3.css3选择器 4.:nth-of-type(n)和:nth-child(n)区别 (1).在不指定类型时&#xff0c;nth-child(n)选中的是父元素下的第N个子元素。nth-of-type(n)选中的是父元素下的不同类型标签的第N个。(2).在指定具体元素时,ele:nth-child(n)要求不…

Hypercrx:开源项目不只有Star

01战队简介大家好&#xff0c;我们是Hypercrx战队&#xff0c;非常荣幸获得了首届Microsoft Edge浏览器开拓者大赛的一等奖&#xff01;我是队长唐烨男&#xff08;中&#xff09;&#xff0c;位于我左侧的是宁志成&#xff0c;右侧的是林以任&#xff0c;我们都来自华东师范大…

PHP上传图片到数据库,并进行显示

1、创建数据表 CREATE TABLE ccs_image (id int(4) unsigned NOT NULL auto_increment,description varchar(250) default NULL,bin_data longblob,filename varchar(50) default NULL,filesize varchar(50) default NULL,filetype varchar(50) default NULL,PRIMARY KEY (id)…

.NET 反向代理-YARP

什么是 YARPYARP (另一个反向代理) 设计为一个库&#xff0c;提供核心代理功能&#xff0c;你可以根据应用程序的特定需求进行自定义。YARP 是使用 .NET的基础架构构建在 .NET上的。YARP 的主要不同之处在于&#xff0c;它被设计成可以通过 .NET 代码轻松定制和调整&#xff0c…

JavaScript 开发的45个经典技巧

2019独角兽企业重金招聘Python工程师标准>>> 前言&#xff1a;此篇译文在各网站均有标注原创的声明&#xff0c;译者名字已不可考&#xff0c;暂为佚名 JavaScript是一个绝冠全球的编程语言&#xff0c;可用于Web开发、移动应用开发&#xff08;PhoneGap、Appcelera…

回归远程 - 云原生IDE是IaC从表象触达本质的必然选择 | SmartIDE

作者&#xff1a;徐磊&#xff0c;开源云原生SmartIDE创始人、LEANOSFT创始人/首席架构师/CEO&#xff0c;微软最有价值专家MVP/微软区域技术总监Regional Director&#xff0c;华为云最有价值专家。从事软件工程咨询服务超过15年时间&#xff0c;为超过200家不同类型的企业提供…

[BZOJ]1095 Hide捉迷藏(ZJOI2007)

一道神题&#xff0c;两种神做法。 Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻&#xff0c;并且他们有很多孩子。某天&#xff0c;Jiajia、Wind和孩子们决定在家里玩捉迷藏游戏。他们的家很大且构造很奇特&#xff0c;由N个屋子和N-1条双向走廊组成&#xff0c;这N-1条走…

Spring4-自动装配Beans-通过注解@Autowired在构造方法上

1.创建Maven项目,项目名称springdemo19,如图所示2.配置Maven,修改项目中的pom.xml文件,修改内容如下<project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://mave…

15个开源的工业软件

出品 | OSC开源社区&#xff08;ID&#xff1a;oschina2013)不同的工业流程&#xff0c;需要不同的工业软件。此前&#xff0c;我们已经介绍了面向研发设计环节的开源软件&#xff08;详情查看&#xff1a;20 个开源的工业设计软件&#xff09;&#xff0c;今天就来介绍一下面向…

MySQL远程访问报错解决

2019独角兽企业重金招聘Python工程师标准>>> 我之前的一篇博客讲了MySQL配置远程访问的方法&#xff0c;但是可能配置了账户以后还是不能访问&#xff0c;这可能是防火墙的原因&#xff0c;在CentOS里&#xff0c;我们修改一下防火墙设置就可以了 1. 进入防火墙配置…

GNU/Linux与开源文化的那些人和事

一、计算机的发明 世上本无路&#xff0c;走的人多了&#xff0c;就有了路。世上本无计算机&#xff0c;琢磨的人多了……没有计算机&#xff0c;一切无从谈起。 三个人对计算机的发明功不可没&#xff0c;居功至伟。阿兰图灵&#xff08;Alan Mathison Turing&#xff09;、阿…

PHP使用PHPMailer发送邮件

1. 首先下载phpmailer插件,并将插件复制到目录下 下载地址: http://download.csdn.net/download/m_nanle_xiaobudiu/10261269 2. home/view/user/mail_chck.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><…