实验环境:

(1)修改主机名:hostnamectl set-hostname mail.meilintong.com 退出,重新登陆

(2)关闭selinux

(3)关闭防火墙

1.安装postfix

yum install postfix

yum remove sendmail 注意sendmail是centos默认安装的,超级难用,放心删掉

(1)修改MTA(默认邮件传输代理)

alternatives --config mta

然后直接回车即可。

检查一下是不是已经设置成功了。

alternatives --display mta

第一行可以看到mta的状态。 例如:mat - status is manual.

(2)修改postfix服务的配置文件

vim /etc/postfix/main.cf

myhostname = mail.meilintong.com #75行 定义主机名

mydomain = meilintong.com #83行 定义域名

myorigin = $mydomain #99行 定义组织域

inet_interfaces = all #116行 定义网络区域

inet_protocols = ipv4 #119行 定义协议 推荐用ipv4,如果支持ipv6可以使用all

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain #165行 取消注释

mynetworks = 127.0.0.0/8, 192.168.6.0/24 # 264行: 取消注释,指定内网和本地的IP地址范围

home_mailbox = Maildir/ # 419行: 取消注释,邮件保存目录

smtpd_banner = $myhostname ESMTP # 571行: 添加

 

# 添加到最后 # 规定邮件最大尺寸为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

配置好了之后,开启postfix服务

systemctl start postfix

设置开机自启

systemctl enable postfix

 

2.安装dovecot

yum install dovecot -y

(1)修改主配置文件

vim /etc/dovecot/dovecot.conf

protocols = imap pop3 lmtp 启用协议

listen = *,;; 启用端口监听

(2)配置邮件格式与存储路径

vim /etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:~/Maildir #24行,取消注释

(3)配置验证

vim /etc/dovecot/conf.d/10-auth.conf

disable_plaintext_auth = no 允许客户使用明文进行密码验证,这是由于Dovecot服务程序为了保证电子邮件系统安全而默认强制客户必须使用加密方式进行登陆,而当前由于咱们没有加密系统的支持,因此需要添加参数来允许客户的明文登陆行为。

auth_mechanisms = plain login

(4)禁用ssl

vim /etc/dovecot/conf.d/10-ssl.conf

ssl = no

(5)启用日志

vim /etc/dovecot/conf.d/10-logging.conf

添加 info_log_path = /var/log/dovecot_info.log debug_log_path = /var/log/dovecot_debug.log

(6)修改master.conf

vim /etc/dovecot/conf.d/10-master.conf

# Postfix smtp验证 unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }

所有都配置好以后启动dovecot服务

systemctl start dovecot

设置开机自启

systemctl enable dovecot

 

3.测试postfix和dovecot

我们用telnet来测试

(1)测试postfix发送邮件

新建用户

useradd test

passwd test

测试,给test用户发邮件

[root@mail ~]# telnet localhost smtp

Trying ::1...

telnet: connect to address ::1: Connection refused

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

220 mail.meilintong.com ESMTP

ehlo localhost

250-ming.meilintong.com

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

mail from:<test>

250 2.1.0 Ok

rcpt to:<test>

250 2.1.5 Ok

data

354 End data with <CR><LF>.<CR><LF>

hello test

.

250 2.0.0 Ok: queued as 1DA35617631D

quit

221 2.0.0 Bye

Connection closed by foreign host.

成功给test用户发送邮件

(2)测试dovecot

[root@mail ~]# telnet localhost 110

Trying ::1...

telnet: connect to address ::1: Connection refused

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

+OK Dovecot ready.

user test

+OK

pass 123456 #用户test的密码

+OK Logged in.

list

+OK 1 messages:

1 404

.

retr 1

+OK 404 octets

Return-Path: <test@meilintong.com>

X-Original-To: test

Delivered-To: test@meilintong.com

Received: from localhost (localhost [IPv6:::1])

by mail.meilintong.com (Postfix) with ESMTP id 1B6176173654

for <test>; Tue, 27 Feb 2018 09:20:43 +0800 (CST)

Message-Id: <20180227012052.1B6176173654@mail.meilintong.com>

Date: Tue, 27 Feb 2018 09:20:43 +0800 (CST)

From: test@meilintong.com

 

hello test

.

quit

+OK Logging out.

Connection closed by foreign host.

我们可以看到登陆test用户,可以收到邮件,测试成功

 

4.使用第三方邮件客户端foxmail来发送接收邮件

1.刚才我们创建了test用户,现在再创建一个ming用户

useradd ming

passwd ming

2.伪域名解析

修改虚拟机中/etc/hosts

修改宿主机的hosts文件 路径:C:\Windows\System32\drivers\etc

3.使用foxmail登陆

1.新建账号,注意:所有的账号后部分都是@meilintong.com,就是我们设置的域名,前部分是我们在搭建邮箱服务器中创建的用户,这个用户必须先建立,否则用foxmail新建账号失败

点击创建

点击创建,设置成功

成功登陆

我们在添加一个账户ming@meilintong.com,注意ming这个用户,我们在邮箱服务器已经创建了

 

剩下的和之前一样

好了新建两个用户成功,可以愉快地发送和接受邮件了

我们用test用户给ming用户发送邮件

点击发送,发送成功了,窗口消失太快了,图没截到,0.0

我们再看ming用户收到了没有,可以看到ming用户已经收到了test发送的邮件

 

Postfix+dovecot搭建简单邮箱服务器的更多相关文章

  1. Ubuntu 14.04搭建简单git服务器

    /****************************************************************************** * Ubuntu 14.04搭建简单gi ...

  2. 搭建简单Samba服务器

    本文主要实现搭建简单的Samba服务器,使得Windows能访问Linux下的共享目录,为了简单,已经关闭iptables和selinux. 1.安装samba服务器 #yum list all sa ...

  3. cent os下搭建简单的服务器

    作为常和网络打交道的程序员,经常会遇到需要服务器的场合,比如搭建一个web服务器,一个代理服务器,又或者一个小型的游戏服务器. 我时常和朋友一起玩一款叫我的世界的游戏,为了能够长期稳定地联机玩,所以特 ...

  4. RHEL6.4 postfix+dovecot搭建邮件服务器

    实验需求:为公司搭建一台能够收信和发信的邮件服务器(192.168.100.1),为员工提供服务,公司域名为jinjianjun.com. 一.修改DNS服务器(192.168.100.2)上mx邮件 ...

  5. 总结一下搭建简单Web服务器的一些方法

    使用nodejs+anywhere模块搭建静态文件服务器 anywhere随时随地将你的当前目录变成一个静态文件服务器的根目录. 安装npm install anywhere -g,然后进入任意目录在 ...

  6. 转:Linux下使用Nginx搭建简单图片服务器

    最近经常有人问图片上传怎么做,有哪些方案做比较好,也看到过有关于上传图片的做法,但是都不是最好的,今天再这里简单讲一下Nginx实现上传图片以及图片服务器的大致理念. 如果是个人项目或者企业小项目,仅 ...

  7. Node安装及搭建简单HTTP服务器

    注:本文安装系统为mac,windows及其他系统下载对应安装包 ,mac下载后的安装包为apk文件,windows为msi文件. 安装 1.在网上下载node安装包,官方网站2.双击下载文件,按步骤 ...

  8. 教你自己搭建linux邮箱服务器

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt290 现在网络中流行的电子邮件系统主要有Microsoft Exchange ...

  9. 用Apache James 3.3.0 搭建个人邮箱服务器

    准备域名 比如域名为example.net,则邮箱格式为test@example.net.在自己的域名管理界面,添加一条A记录(mail.example.net  xxx.xxx.xxx.xxx),指 ...

随机推荐

  1. Java调用阿里云短信通道服务【千锋】

    这里我们使用SpringBoot 来调用阿里通信的服务. 阿里通信,双11.收到短信,日发送达6亿条.保障力度非常高. 使用的步骤: 1.1. 第一步:需要开通账户 1.2. 第二步:阅读接口文档 1 ...

  2. python下划线作用初识

    单下划线(例:_textchar) 以单下划线做前缀的名称指定了这个名称是"私有的".在 有些 导入import * 的场景中,下一个使用你代码的人(或者你本人)会明白这个名称仅内 ...

  3. webpack+vuecli打包生成资源相对引用路径与背景图片的正确引用

    资源相对引用路径 问题描述 一般情况下,通过webpack+vuecli默认打包的css.js等资源,路径都是绝对的. 但当部署到带有文件夹的项目中,这种绝对路径就会出现问题,因为把配置的static ...

  4. <script>元素在XHTML中的用法

    编写XHTML代码的规则要比编写HTML严格得多,例如如下代码: <script type="text/javascript"> function compare(a, ...

  5. Windows 产品激活状态、密钥等信息查看

    目前,大多PC都是预装了微软家的桌面级系统 Windows ,这也算是微软一大得意之作.可是 Windows 产品可不是免费的,是要 $ 的.可能在中国,大多数系统可能是盗版过来的,像当年的雨林木风( ...

  6. 远程服务调用(RMI)

    模块概念的引入,是本框架的一大优势,而跨JVM的远程服务调用则是另一个最有价值的功能. <本地服务调用>一文中我们讲解了跨模块间的服务调用可以是这样的: ServiceHelper.inv ...

  7. Struts2 (三)

    1 Struts2的拦截器 Struts2拦截器在访问某个Action方法之前或之后实施拦截,拦截器是可插拔的,拦截器是AOP的一种实现. Struts2拦截器栈:将拦截器按一定顺序联结成一条链,在访 ...

  8. CURL模拟post请求上传文件

    贴一段醍醐灌顶的话: 逻辑很简单,设置POST变量$post_data,其中upload指向需要发送的文件.这里要注意,我们之前使用POST都是发送一个字符串,然后在服务器端使用file_get_co ...

  9. 重定向stdin stdout stderr |

    在Linux下,当一个用户进程被创建的时候,系统会自动为该进程创建三个数据 流,也就是题目中所提到的这三个.那么什么是数据流呢(stream)? 我们知道,一个程序要运行,需要有输入.输出,如果出错, ...

  10. 使用JavaScript实现机器学习和神经学网络

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 下载heaton-javascript-ml.zip - 45.1 KB 基本介绍 在本文中,你会对如何使用JavaScript实现机器学习这个 ...