实验环境:

(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. python实现端口扫描器/DoS/DDoS

    整理github,梳理下Python小工具.以下是python实现的DoS/DDoS/端口扫描器(github). 一.DoS SYN Flood是当前最流行的DoS(拒绝服务攻击)与DdoS(分布式 ...

  2. Linuxc - 标准输入流、标准输出流、标准错误流

    输入流stdin默认是键盘,输出流stdout默认是显示器,错误流stderr #include <stdio.h> int main() { printf("请输入选择的数字: ...

  3. C# WinForm程序退出的方法比较

    1.this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit();  强制所有消息中 ...

  4. MYSQL问题解决方案:Access denied for user 'root'@'localhost' (using password:YES)

    这两天在MyEclipse中开发Web项目时,连接MYSQL数据库,出现问题:Access denied for user 'root'@'localhost' (using password:YES ...

  5. Hyperledger Fabric CouchDB as the State Database

    使用CouchDB作为状态数据库 状态数据库选项 状态数据库包括LevelDB和CouchDB.LevelDB是嵌入在peer进程中的默认键/值状态数据库,CouchDB是一个可选的外部状态数据库.与 ...

  6. python_利用高阶函数实现剪枝函数

    案例: 某些时候,我们想要为多个函数,添加某种功能,比如计时统计,记录日志,缓存运算结果等等 需求: 在每个函数中不需要添加完全相同的代码 如何解决? 把相同的代码抽调出来,定义成装饰器 求斐波那契数 ...

  7. linux ngix安装

    因为我完全按照第一篇参考文章从上到下一步步安装导致有些安装失败最后重装的,过程有点乱,就没自己总结please read the follow articles Linux 安装Nginx详细图解教程 ...

  8. linkin大话设计模式--适配器模式

    linkin大话设计模式--适配器模式 大家知道,在java中只允许单继承,但是在实际问题中往往都需要多继承,java引入了接口这一概念.(一个类可以实现多个接口) 由于接口中都是抽象方法,那么我们在 ...

  9. XML,HTML,XHTML

    对于上面3种技术,我们经常使用到,这里具体的做一个总结,来对比一下这3个东西. 什么是XML? XML即Extentsible Markup Language(可扩展标记语言),是用来定义其它语言的一 ...

  10. java从文件中读取json

    wangxiaoer.json里面存放了json数据 需要依赖common-io.jar