postfix&dovecot搭建邮件服务器
本篇参考
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搭建邮件服务器的更多相关文章
- RHEL6.4 postfix+dovecot搭建邮件服务器
实验需求:为公司搭建一台能够收信和发信的邮件服务器(192.168.100.1),为员工提供服务,公司域名为jinjianjun.com. 一.修改DNS服务器(192.168.100.2)上mx邮件 ...
- 搭建邮件服务器,使用Postfix与Dovecot收发电子邮件
小知识: 我们为什么要搭建邮件服务器呢?有时候我们处于一个局域网内,不能及时的分享各自的研究成果,迫切的需要一种能够借助于网络且建立在计算机之间的传输数据的方法.所以我们需要搭建邮件服务器,这样的话既 ...
- Postfix+Dovecot+MySQL搭建邮件服务器
网上有很多使用Postfix搭建邮件服务器的文章,但目前貌似没有看到较为完整的一篇.本例将尝试在Ubuntu系统中使用Postfix+Dovecot+MySQL搭建邮件服务器. 说到邮件服务器,网上有 ...
- CentOS利用postfix搭建邮件服务器
之前我用nodemailer通过163邮箱来发送邮件,不过没过几天就一直ETIMEDOUT,不知道什么原因,想着还是自己搭一个来发邮件可能靠谱点(flag?) 安装postfix CentOS 7 自 ...
- CentOS 使用PostFix搭建邮件服务器
搭建环境: 关于PostFix是什么以及邮件服务器接受发送邮件流程网上有很多文章,这里就不再写了,这里只记录如何搭建邮件服务器,使用PostFix接受发送邮件 CentOS6.8 32位,postfi ...
- Linux中用postfix搭建邮件服务器实战详解
Linux中用postfix搭建邮件服务器实战详解 postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.Postfix试图更快.更容易管理.更安全,同时 ...
- 阿里云CentOS Linux服务器上搭建邮件服务器遇到的问题
参考文章: 阿里云CentOS Linux服务器上用postfix搭建邮件服务器 Linux系统下邮件服务器的搭建(Postfix+Dovecot) 本来想自己搭建邮件服务器,但是看到一篇资料表示阿里 ...
- [RHEL] RHEL7.0 下 Postfix + Dovecot 实现邮件发送
RHEL7.0 下 Postfix + Dovecot 实现邮件发送 一.前言 大家都对邮件服务(mail service)很感兴趣嘛.我在自己 博客站 预言了自己会实战一次,访问量一天到十几(毕竟平 ...
- Windows Server 2003搭建邮件服务器
Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...
- 使用hMailServer搭建邮件服务器
本文没有什么高深的技术内容,只是使用hMailServer,介绍搭建邮件服务器的全过程,供参考. 一.安装邮件服务器组件 打开软件,点下一步 选择存储数据的数据库,这里有两种选择, 一种是使用嵌入型数 ...
随机推荐
- 使用Wesky.Net.Opentools库,一行代码实现自动解析实体类summary注释信息(可用于数据实体文档的快速实现)
使用前,需要对你的项目勾选输出api文档文件. 引用Wesky.Net.OpenTools包,保持1.0.11版本或以上. 为了方便,我直接在昨天的演示基础上,继续给实体类添加注释. 昨天的演示文 ...
- liquibase常用操作
1.概述 Liquibase是一个用于跟踪.管理和应用数据库变化的开源的数据库重构工具.它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制. 本文旨在将平时工作中常用的一些操作进 ...
- Console LDAP 配置解密
之前通过短视频向大家介绍了 Console 如何集成 LDAP,但很多小伙伴反映按照视频里的配置后不成功.今天就结合小伙伴们反映的问题来跟大家详细介绍一下. Console LDAP 完整的配置参数如 ...
- undefined,null 和 undeclared 有什么区别?
a.null表示"没有对象",即该处不应该有值,转为数值时为0.典型用法是:作为函数的参数,表示该函数的参数不是对象.作 为对象原型链的终点. b.undefined表 ...
- monaco-editor 的 Language Services
我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:修能 这是一段平平无奇的 SQL 语法 SELECT id ...
- MESI--CPU缓存一致性协议
概念 MESI(Modified Exclusive Shared Or Invalid)(也称为伊利诺斯协议,是因为该协议由伊利诺斯州立大学提出)是一种广泛使用的支持写回策略的缓存一致性协议. ME ...
- Elasticsearch之Nested Query nestedQuery查询数组
es是通过符合条件的json记录找出来,本身并不是将数据中的记录filter过滤.es nestedQuery不是过滤的结果,是匹配的这条es记录,所以数组中的其他的记录也会查询出来1.方法1:可以在 ...
- oppo、一加 android14 chrome116内核 input @click不触发
// 兼容Chrome内核116及以上版本中配置disabled的input组件无法触发并冒泡click事件 .uni-input-input:disabled { pointer-events: n ...
- R语言求取大量遥感影像的平均值、标准差:raster库
本文介绍基于R语言中的raster包,批量读取多张栅格图像,对多个栅格图像计算平均值.标准差,并将所得新的栅格结果图像保存的方法. 在文章基于R语言的raster包读取遥感影像中,我们介绍了基 ...
- 关于java-Class类的简单分析
java有个Class的基类,高级编程的时候,务必要理解这个. 粗略看下,可以明白了解Class这个类对于了解和掌握java非常重要. Class这个类的包路径是:java.lang.Class< ...