文章目录

  • 一、设置域名
  • 二、搭建DNS环境域名解析,用于解析postfix地址
  • 三、安装postfix服务器并进行配置
  • 四、安装配置dovecot
  • 五、测试
    • 1.**使用mail命令进行简单测试**
    • 2.**使用telnet进行测试**
    • 3.使用第三方邮件工具收发邮件

一、设置域名

如果先把域名设置好,则postfix会自动根据当前设定的域名作为配置,后面会省事很多。当然,也可以不用设置域名,而使用系统默认的localhost.localdomain域名。这里假设我们设定的域名为mail.abc.com

echo 'mail.abc.com' > /etc/hostname
hostname -F /etc/hostname

注意,这种方法只是临时设置,重启系统后会被还原。可以使用后面介绍的setup指令进行永久设置。

二、搭建DNS环境域名解析,用于解析postfix地址

yum install -y bind
yum install -y bind-utils
vim /etc/named.conf

修改/etc/named.conf下面两行内容:

listen-on port 53 { 127.0.0.1;192.168.8.8; }; //添加自己本的IP到列表中
allow-query { any; }; // 把这个值设置为any

修改子配置文件

vim /etc/named.rfc1912.zones

在文件末尾添加两行如下内容(需要注意,type与file前面的一定是tab制表符,不能是空格):

zone "abc.com" IN {type master;file "abc.com.zone";
};
zone "8.168.192.in-addr.arpa" {type master;file "abc.com.local";
};

其中第一个为正向解析区域,第二个为反向解析区域。

cd /var/named
cp -p named.localhost abc.com.zone
cp -p named.localhost abc.com.local
vim abc.com.zone
vim abc.com.local

编辑正向区域配置文件abc.com.zone,内容如下(IP配置根据情况填写):

$TTL 1D
@       IN SOA  @ rname.invalid. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      @A       127.0.0.1AAAA    ::1A       192.168.8.8MX 10   mail.abc.com
mail    A       192.168.8.8

编辑反向区域配置文件abc.com.local,内容如下(IP配置根据情况填写):

$TTL 1D
@       IN SOA  abc.com rname.invalid. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      @A       127.0.0.1AAAA    ::1A       192.168.8.8MX 10   mail.abc.com
181     PTR     mail.abc.com

添加DNS解析配置:

vim /etc/resolv.conf

添加内容:

nameserver 192.168.8.8

注意:这种方法只是临时添加的,DNS在重启网络服务后会被NetworkManager重新生成,如果想要永久添加DNS解析,可以修改/etc/sysconfig/network-scripts/ifcfg-eth0文件,在其后添加:

DNS1=192.168.8.8

或者使用setup命令在网络配置中选择DNS配置进行添加或者修改:

这里可以直接修改主机名、DNS以及DNS搜寻路径,把主机名设置为mail.abc.com,主DNS设置为本机IP,第二DNS设置为网关IP。
配置好后重启named服务,并进行测试:

service named restart
nslookup mail.abc.com

如果nslookup mail.abc.com后出现:

Server:      192.168.8.8
Address:    192.168.8.8#53Name: mail.abc.com
Address: 192.168.8.8

则表示成功。

三、安装postfix服务器并进行配置

可能postfix在系统安装过程中已经安装了此服务,可以使用下面的命令查询

rpm -q postfix

如果没有可以手动安装:

yum install -y postfix

使用命令:

postconf -a

查询是否支持cyrus与dovecot,如果不支持需要重新安装新的版本。笔者使用的Centos 6.10,系统中安装的是postfix-2.6.6-8.el6.x86_64,是支持cyrus与dovecot。

编辑postfix的配置文件:

vim /etc/postfix/main.cf

如果在安装postfix之前设置好了hostname就可以不用修改hostname,否则需要修改下面两项:

myhostname = mail.abc.com
mydomail = abc.com

还需要修改以下内容:

inet_interfaces = 192.168.8.8, 127.0.0.1, localhost        #监听接口
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/                    #邮件目录,在用户目录下

home_mailbox有两个选项,一个是Mailbox,另一个就是Maildir。

  • Mailbox
    同一个用户的所有邮件内容存储为单个文件,通常保存在/var/spool/mail/目录下文件名与用户名相同,这是Postfix默认使用的方式。
  • Maildir
    使用目录结构来存储用户的邮件内容每一个用户使用一个文件夹,每封邮件都作为一个独立的文件存放。这种方式的存取速度和效率要好一些,对于管理邮件内容页也更加方便。

配置完成后可以使用下面的命令进行语法检测:

postfix check

如果想要查看postfix非默认配置,可以使用命令:

postconf -n

如果没有错误则可以启动postfix服务了:

service postfix start

四、安装配置dovecot

yum install -y dovecot

编辑/etc/dovecot/dovecot.conf文件,打开:

protocols = imap pop3 lmtp
listen = *, ::

编辑/etc/dovecot/conf.d/10-auth.conf文件,设置:

disable_plaintext_auth = no

编辑/etc/dovecot/conf.d/10-mail.conf文件,设置:

mail_location = maildir:~/Maildir

五、测试

在进行测试之前,我们需要添加一些测试账号:

groupadd mailusers
useradd -g mailusers -s /sbin/nologin jack
passwd jack
useradd -g mailusers -s /sbin/nologin tom
passwd tom

上面先添加了一个邮件组mailusers,然后添加了mailusers组的两个用户jack和tom,但这两个用户并不能登录系统。

为了保障测试顺利,建议先把防火墙关闭,同时把SELinux防火墙也关闭:

vim /etc/selinux/config

设置SELINUX为disabled:

SELINUX=disabled

然后重启系统:

reboot now

1.使用mail命令进行简单测试

echo "您好,这是邮件内容" | mail -s "hello" tom@abc.com

可以在用户目录的Maildir/new中查看到新邮件:

2.使用telnet进行测试

连接端口25发邮件:

telnet mail.abc.com 25

然后写邮件,依次输入下面红框中的命令或者字符即可。

Trying 192.168.8.8...
Connected to mail.abc.com.
Escape character is '^]'.
220 mail.abc.com ESMTP Postfix
helo mail.abc.com   // 设置发邮件的主机
250 mail.abc.com   // 250表明命令执行成功
mail from: jack@mail.abc.com  // 设置发件人地址
250 2.1.0 Ok
rcpt to:tom@mail.abc.com // 设置收件人地址
250 2.1.5 Ok
data // 开始写邮件正文
354 End data with <CR><LF>.<CR><LF>
hello tom, I am Jack! 这是一封测试邮件!.     // 标点符号“.“结束正文书写
250 2.0.0 Ok: queued as 09F21E0973
quit // 退出telnet
221 2.0.0 Bye
Connection closed by foreign host.


连接端口110收邮件:

telnet mail.abc.com 110

依次输入红框中的命令,即可查看邮件:

user tom // 使用tom用户登录
pass tom // 输入tom的密码
list // 列出邮件列表,可以看到有一封邮件
retr 1 // 读取1号邮件
quit //退出telnet


从上面的示例可以看到,控制台方式使用中英文混合可能会有一些问题。

3.使用第三方邮件工具收发邮件

这里我们以Foxmail为例,Foxmail运行在Windows平台,我们的邮件服务器运行在Linux平台,为了方便测试,需要把两台电脑部署在同一局域网内。并且注意Linux的防火墙是否有打开相应的端口,为了方便测试可以直接关闭防火墙。
安装好Foxmail后,添加邮箱账号:




然后以同样的方式添加tom的账号。
然后我们以tom账号向jack账号发邮件

邮件发送成功后,就可以以jack的账号来收取邮件了,我们可以看到有一封新邮件:


如果在测试过程中有问题,可以查看邮件系统日志文件:

/var/log/maillog

目前配置的邮件系统,可以在内网进行邮件收发,也可以向外发送,比如网易,QQ,新浪等等(如果没有被对方视为垃圾邮件的话),但很快估计就会发不成功,会被退回,可以参考退回原因。
比如网易邮箱退回信息:

host 163mx03.mxmail.netease.com[220.181.14.158] said: 554DT:SPM 163 mx41,W8CowACXax2qMa1e1h2ZJg--.2949S2 1588408748,please see
http://mail.163.com/help/help_spam_16.htm?ip=171.212.195.205&hostid=mx41&time=1588408748(in reply to end of DATA command)

错误码:554 DT:SPM 可能被视为垃圾邮件了,参见http://mail.163.com/help/help_spam_16.htm?ip=171.212.195.205&hostid=mx41&time=1588408748

QQ邮箱退回信息:

host mx3.qq.com[58.251.110.111] said: 550 Domain may notexist or DNS check failed

错误码:550 Domain may not exist or DNS check failed
即域名不存在或者DNS检查失败。有些邮箱会在收到邮件时,验证是否可以向该地址发送邮件,如果不能发送则会拒收,以防止垃圾邮件。

出现这些问题有一个重要原因是因为我们并未在公网注册我们的域名,所以对方无法反向查找。不过到目前为止内部使用是完全没有问题了。

Linux下安装配置Postfix邮件服务器相关推荐

  1. Linux下安装配置NTP时间同步服务器

    在计算机的世界里,时间非常地重要,例如对于火箭发射这种科研活动,对时间的统一性和准确性要求就非常地高,是按照A这台计算机的时间,还是按照B这台计算机的时间?NTP就是用来解决这个问题的,NTP(Net ...

  2. 在linux下安装配置svn独立服务器

    subversion(以下简称svn)是近年来崛起的版本管理工具,是cvs的接班人. svn服务器有2种运行方式:独立服务器和借助apache.2种方式各有利弊. svn存储版本数据也有2种方式:BD ...

  3. linux下安装配置svn独立服务器

    subversion(以下简称svn)是近年来崛起的版本管理工具,是cvs的接班人. svn服务器有2种运行方式:独立服务器和借助apache.2种方式各有利弊. file:/// 直接版本库访问(本 ...

  4. Linux下安装多个Tomcat服务器

    目录 QUESTION:阿里云服务器Linux下安装多个Tomcat服务器的方法 ANSWER: 一.安装前的下载相关文件 1.1下载tomcat 1.2准备工具 二.登陆linux服务器进行安装 2 ...

  5. Linux下安装配置vsftpd

    Linux下安装配置vsftpd 安装vsftpd服务器 yum -y install vsftpd 可以使用rpm -qa vsftpd命令确认是否安装好vsftpd服务器. vsftpd.conf ...

  6. Docker Linux下安装配置及启动

    Docker Linux下安装配置及启动 linux配置环境 基础下载镜像: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliy ...

  7. 使用oracle安装jdk1.7,【Java】Linux下安装配置Oracle JDK 1.7版本

    1 环境 Vmware虚拟机中的Ubuntu 12.04 32位系统 2具体安装步骤 ①下载最新的jdk包 注意jdk区分32位版本和64位版本,要与Ubuntu兼容才行 下载地址 http://ww ...

  8. Linux 下安装配置C/C++开发环境 Code::Blocks

    Linux 下安装配置C开发环境Code::Blocks 一.提前的话 要说C语言和Linux的关系大家应该都不会陌生,Linux系统内核就是用C语言开发的,所以所有的Linux系统下面 都会有C的编 ...

  9. linux下安装配置redis服务

    2019独角兽企业重金招聘Python工程师标准>>> linux下安装配置redis服务 2016年03月25日 15:39:31 coding_everyday 阅读数:3530 ...

最新文章

  1. SAP ABAP F4的检索帮助(包括自定义检索帮助)
  2. 最好用的枚举多选方法
  3. Android 阅读器架构图,网上收集,留做存货
  4. stata主成分分析_主成分分析在STATA中的实现
  5. 云计算技术的跃进睿云智合专业先进水平
  6. layui数据表格获取当前页数
  7. 2005年度国产空间信息系统软件测评
  8. OCP China Day 2021:开放计算十年,以全球协作打破创新边界
  9. h标签对html网页的作用,网页H标签SEO价值的说明与举例
  10. WebBrowser部分用法
  11. python计算器小程序源码_python练习-计算器小程序
  12. 【seeprettyface.com】开源源码:Video-Auto-Wipe
  13. PVE系统更换大硬盘的扩容方法
  14. python 中文排序(按拼音)
  15. Android触摸屏失效后的操作方法
  16. maven-基本命令,打包包名问题
  17. Hadoop分布式集群的搭建
  18. 2023年5种最适合网络安全工程师学习运用的编程语言
  19. 包头中考计算机考试试题2020,2020年内蒙古包头中考数学试卷附答案解析版.docx...
  20. 程序员如何准备技术面试

热门文章

  1. 可视化神经网络实验报告,训练图像识别神经网络
  2. winPcap函数-pcap_open()
  3. 目标检测算法——人体姿态估计数据集汇总(附下载链接)
  4. 2021年卡通牛插画新年祝福AI海报素材
  5. 手机编程该用什么输入法?
  6. excel数据有效性
  7. 倩女服务器修复,卡掉线不要全怪服务器:倩女玩家知识科普
  8. python第二周练习 风车
  9. 手机计算器代码php代码,用JS写一个计算器(兼容手机端)(示例代码)
  10. 【交换变量】三种交换变量的方式:中间变量法,加减法,异或运算法