实验环境:

(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. 设置某个类使用或者禁用ARC

    设置这个类为ARC的 用:-fobjc-arc    设置这个类非ARC的:-fno-objc-arc 工程是非ARC的,但是引用的第三方类库是ARC的,所以要使用的时候,要单独设置这个第三方的类是A ...

  2. .net Core连接MongoDB

    前两天在学习MongoDB相关的知识,做了个小Demo,大概是省份里面有多少所学校 连接MongoDB首先要通过Nuget添加一个MongoDB的包,下载此包 安装完毕后开始写代码了,创建一个省份实体 ...

  3. redis五大类型用法

    Redis五大类型:字符串(String).哈希/散列/字典(Hash).列表(List).集合(Set).有序集合(sorted set)五种Controller:@Resource RedisTe ...

  4. TDD最佳实践

    这里就先目前阶段,整理一份TDD的最佳实践,在之后的Xunit测试整理中,这份实践会越来越长,对于这份核心在写测试的时候应该时刻注意. 1,在软件开发领域中,从来没有这样的事情:少数的几行代码对大量的 ...

  5. 如何修改nexus的端口号

    1. Maven仓库:放置所有JAR文件(WAR,ZIP,POM等等)的地方,所有Maven项目可以从同一个Maven仓库中获取自己所需要的依赖JAR,这节省了磁盘资源. 简言之,Maven仓库能帮助 ...

  6. Hibernate (三)

    1 一对多的单向 示例:一个已经存在的学生,新建一个班级,然后将该学生加入到该班级之下 设置inverse="false" <?xml version="1.0&q ...

  7. 编译原理:基于状态转换图识别for语句

    int state =0;while(state<9){ switch state{ case 0: if(ch=='f'){ state=1;getchar(ch); } case 1: if ...

  8. angular4在prod模式下的JIT编译问题

    最近利用angular4开发一个项目,由于画面中的显示都是从数据表中读取,通过设置显示FLAG和显示顺序对画面布局按既定规则控制的, 所以必须利用动态编译实现. 方法如下, 1,获取JitCompil ...

  9. Spring AOP小记

    一.概述 在通常的开发过程中,我们调用的顺序通常是controller->service-dao,其中,service中包含着太多的业务逻辑,并且还要不断调用dao来实现自身的业务逻辑,经常会导 ...

  10. SpringMVC 知识整理

    SpringMVC架构设计 MVC是一种架构模式,它把业务的实现和展示相分离. SpringMVC与struts2的区别 Struts2是类级别的拦截, 一个类对应一个request上下文,Sprin ...