本篇参考

https://blog.51cto.com/5001660/2377785和小翔博客https://www.liuyixiang.com/post/113927.html

邮件发送和接受流程。

邮件服务器的搭建

centos7下使用postfix+dovecot搭建邮件服务器(防火墙关闭,SELinux关闭下)

DNS服务器搭建

yum install bind bind-utils

查看是否安装成功

[root@localhost ~]# rpm -qa|grep bind

编辑主配置文件

[root@localhost ~]# vim /etc/named.conf

新建区域配置文件,新建的文件名要与include包含的文件名一至,且权限一至

编辑配置文件

配置正向查找区域,配置文件/var/named/named.mail.com,复制后的权限必须一至

配置反向查询文件

开启服务

如果报错请检查配置文件及权限

测试DNS

设置域名解析服务器为自己

搭建邮件服务器

配置服务器主机名称,需要保证服务器主机名称与发信域名保持一致

重启生效,记得重启域名服务及关闭防火墙

postfix

介绍:postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件

安装

yum install postfix

配置配置文件

vim /etc/postfix/main.cf

第83行,修改保存邮件的域名称

第99行,修改寄出邮件的域名称

第116、119行,修改定义的网卡监听地址

第164行,修改定义的可接收邮件的主机名或域名列表

新建两个用户用于测试

dovecot

介绍:dovecot是一款能够为Linux系统提供IMAP和POP3电子邮件服务的开源软件程序

yum install dovecot

编辑配置文件

vim /etc/dovecot/dovecot.conf

设置dovecot服务程序支持的电子邮件协议

允许用户使用明文进行密码验证

设置允许登录的网段地址

配置邮件格式和储存路径

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

开启服务

[root@mail ~]# systemctl start postfix
[root@mail ~]# systemctl start dovecot

可以看到邮件的存放位置,这是未发邮件前

发件测试

[root@mail mail]# telnet mail.com 25
Trying 127.0.0.1...
Connected to mail.com.
Escape character is '^]'.
220 mail.com ESMTP Postfix
helo mail.com 声名本机
250 mail.com
mail from:user1@mail.com 声明发件人
250 2.1.0 Ok
rcpt to:user2@mail.com 声明收件人
250 2.1.5 Ok
data 写正文
354 End data with <CR><LF>.<CR><LF>
user1
. 正文结束标记
250 2.0.0 Ok: queued as 12A27206C86E
quit 退出
221 2.0.0 Bye
Connection closed by foreign host.

发件后,可以看到user2已经收到邮件

看一下内容

也可以登录查看邮件

[root@mail mail]# telnet mail.com 110
Trying 127.0.0.1...
Connected to mail.com.
Escape character is '^]'.
+OK Dovecot ready.
user user2 用户
+OK
pass 54321 密码
+OK Logged in.
list 列表查看邮件
+OK 1 messages:
1 380
.
retr 1 读取编号为1的邮件

遇到的问题

1、账号密码正确因权限问题被拒绝

报错

-ERR [SYS/PERM] Permission denied
Connection closed by foreign host.

解决

[root@mail mail]# chmod 0600 /var/spool/mail/*

端口介绍

SMTP 简单邮件传输协议 TCP 25端口 ,加密时使用TCP 456端口
POP3 第三版邮局协议 TCP 110端口 ,加密时使用955端口
IMAP4 第四版互联网消息访问协议 TCP 143端口 , 加密时使用993端口

防火墙开启情况下允许端口通过

firewall-cmd  -add-port 25/tcp --permanent
firewall-cmd -add-port 465/tcp --permanent
firewall-cmd -add-port 110/tcp --permanen
firewall-cmd -add-port 995/tcp --permanent
firewall-cmd -add-port 143/tcp --permanent
firewall-cmd -add-port 993/tcp --permanent
firewall-cmd --reload 重启防火墙

SMTP相关命令

helo
客户端为标识自己的身份而发送的命令(通常带域名)
mail from
标识邮件的发件人;以 mail from: 的形式使用
rcpt to
标识邮件的收件人;以 rcpt to: 的形式使用
data
客户端发送的,用于启动邮件内容传输的命令
turn
允许客户端和服务器交换角色,并在相反的方向发送邮件,而不必建立新的连接

postfix&dovecot搭建邮件服务器的更多相关文章

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

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

  2. 搭建邮件服务器,使用Postfix与Dovecot收发电子邮件

    小知识: 我们为什么要搭建邮件服务器呢?有时候我们处于一个局域网内,不能及时的分享各自的研究成果,迫切的需要一种能够借助于网络且建立在计算机之间的传输数据的方法.所以我们需要搭建邮件服务器,这样的话既 ...

  3. Postfix+Dovecot+MySQL搭建邮件服务器

    网上有很多使用Postfix搭建邮件服务器的文章,但目前貌似没有看到较为完整的一篇.本例将尝试在Ubuntu系统中使用Postfix+Dovecot+MySQL搭建邮件服务器. 说到邮件服务器,网上有 ...

  4. CentOS利用postfix搭建邮件服务器

    之前我用nodemailer通过163邮箱来发送邮件,不过没过几天就一直ETIMEDOUT,不知道什么原因,想着还是自己搭一个来发邮件可能靠谱点(flag?) 安装postfix CentOS 7 自 ...

  5. CentOS 使用PostFix搭建邮件服务器

    搭建环境: 关于PostFix是什么以及邮件服务器接受发送邮件流程网上有很多文章,这里就不再写了,这里只记录如何搭建邮件服务器,使用PostFix接受发送邮件 CentOS6.8 32位,postfi ...

  6. Linux中用postfix搭建邮件服务器实战详解

    Linux中用postfix搭建邮件服务器实战详解 postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.Postfix试图更快.更容易管理.更安全,同时 ...

  7. 阿里云CentOS Linux服务器上搭建邮件服务器遇到的问题

    参考文章: 阿里云CentOS Linux服务器上用postfix搭建邮件服务器 Linux系统下邮件服务器的搭建(Postfix+Dovecot) 本来想自己搭建邮件服务器,但是看到一篇资料表示阿里 ...

  8. [RHEL] RHEL7.0 下 Postfix + Dovecot 实现邮件发送

    RHEL7.0 下 Postfix + Dovecot 实现邮件发送 一.前言 大家都对邮件服务(mail service)很感兴趣嘛.我在自己 博客站 预言了自己会实战一次,访问量一天到十几(毕竟平 ...

  9. Windows Server 2003搭建邮件服务器

    Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...

  10. 使用hMailServer搭建邮件服务器

    本文没有什么高深的技术内容,只是使用hMailServer,介绍搭建邮件服务器的全过程,供参考. 一.安装邮件服务器组件 打开软件,点下一步 选择存储数据的数据库,这里有两种选择, 一种是使用嵌入型数 ...

随机推荐

  1. docker——容器的基本操作

    docker 容器的基本操作 run 格式 docker run [选项] 镜像 [命令] [参数...] 选项 选项 解释 -d 后台运行 -i 交互模式 -t 分配一个伪终端 -p 设置端口 -- ...

  2. c# .net mvc 使用百度Ueditor富文本框上传文件(图片,视频等)

    使用背景: 项目中需要用的富文本框去上传视频,图片的话大部分都是可以的.相对来说,国外的富文本框很成熟.但鉴于文档是英语,这里使用了百度的富文本框. 采用的api的方式,调用接口进行上传文件.话不多说 ...

  3. set数据类型

                SET 数据类型             是一个类似于 数组 的数据类型             特点 : 不接受重复的相同的数据                    同样的 ...

  4. kettle从入门到精通 第五十课 ETL之kettle 课程源文件分享

    Kettle 是一款功能强大的开源 ETL 工具,被广泛应用于数据集成.数据转换和数据加载等领域.随着数据量和多样性的不断增加,使用 Kettle 进行数据处理已成为许多企业和数据工程师的首选.在过去 ...

  5. 从 Redis 开源协议变更到 ES 国产化:一次技术自主的机遇

    引言 近日,Redis Labs 宣布其主导的开源项目 Redis 将采用双重源代码可用许可证(RSALv2)和服务器端公共许可证(SSPLv1).这一重大决策标志着 Redis 从传统的 BSD 许 ...

  6. 图片jpg,png转为BASE64编码

    -- using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; namespace aliy ...

  7. 如何排查常规软件问题 - 面向 Linux 初级用户的教程

    笔者从 14 年做开源软件以来,接触了众多 Linux 新手用户,这里我为这类用户总结了一些常见的问题排查方法,希望能帮助到大家.如果你已经工作多年,对于下面提到的思路和方法应该非常熟悉,如果对某一条 ...

  8. Spring源码——@Component,@Service是如何被解析?

    引言 在Spring中,Component.Service是在工作中经常被使用到的注解,为了加深对Spring运行机制的理解,今天我们一起来看一下Spring中对Component等注解的处理方式 C ...

  9. Css var 简述

    Css var 语法 var(custom-property-name, value) - custom-property-name 必须 变量必须以 --开头 后面可以是英文.数字连接符,区分大小写 ...

  10. 在python中提示ImportError: No module named _caffe

    问题描述 在编译import caffe的时候提示 ImportError: No module named _caffe 设备平台 ubuntu 16.04LTS 解决方案 1.打开终端(ctrl+ ...