Centos7.9搭建自主邮件服务器详细步骤

目录
  • 前言
  • 一 配置内网dns A记录和MX记录
  • 二 mail服务器初始化配置
    • 1. 修改主机名
    • 2. 关闭防火墙与selinux
    • 3. 开启时间同步
    • 4. 安装软件
  • 三 修改配置文件
    • 1 配置postfix
    • 2 配置dovecot
      • 2.1 配置监听协议:
      • 2.2 配置登录方式:
      • 2.3 配置邮件存储位置:
      • 2.4 配置ssl(关闭):
    • 3 配置sasl2
      • 3.1 配置系统认证:
      • 3.2 配置登录方式:
    • 4 启动服务:
    • 5 创建用户并设置pass
    • 6 配置mailx:
  • 四 发送邮件测试
    • 1 命令行发送邮件测试
    • 2 使用使用foxmail登录并发送邮件测试
  • 五 报错
    • 1 权限被拒绝
    • 2 无法找到主机:
    • 3 邮件被拒绝

前言

由于公司zabbix 监控告警邮件发送量过打,使用的腾讯企业邮箱会出现漏发或发送频率过快而拒绝发送的情况,所以现在使用自主搭建的内网邮件服务器来负责zabbix告警邮件的发送。

内网的告警邮件服务器只能给其他(腾讯企业邮箱,网易邮箱等)邮箱发送邮件,而不能接受其他邮箱的回邮件,如想可以收到回件需要购买域名配置A记录和MX记录,本文档不再讲解。

一 配置内网dns A记录和MX记录

我在内网使用的域名主机是dnsmasq代理软件,其使用简单,方便,多样化。详细配置可查看其他文档。

[root@dns_proxy ~]# grep liqing /etc/dnsmasq.conf
address=/mail.liqing-test.top/192.168.2.100
mx-host=liqing-test.top,mail.liqing-test.top,10

二 mail服务器初始化配置

1. 修改主机名

[root@localhost /]# hostnamectl --static set-hostname mail.liqing-test.top|bash

2. 关闭防火墙与selinux

[root@mail /]# systemctl stop iptables && systemctl disable iptables
[root@mail /]# systemctl stop firewalld && systemctl disable firewalld
[root@mail /]# setenforce 0

3. 开启时间同步

[root@mail /]# yum -y install ntpdate && ntpdate ntp.aliyun.com

4. 安装软件

[root@mail /]# yum  -y  install  postfix  dovecot  cyrus-sasl-*  mailx

三 修改配置文件

注释:配置文件备份操作本文档自行操作

1 配置postfix

[root@mail /]# cat /etc/postfix/main.cf
mail_owner = postfix
myhostname = mail.liqing-test.top
mydomain = liqing-test.top
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, mail.$mydomain, www.$mydomain, ftp.$mydomain
local_recipient_maps =
mynetworks = 0.0.0.0/0
relay_domains = $mydestination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
smtpd_banner = $myhostname ESMTP

# 在最下面新增
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated
smtpd_client_restrictions = permit_sasl_authenticated

2 配置dovecot

2.1 配置监听协议:

[root@mail /]# cat /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
listen = *
login_trusted_networks = 0.0.0.0/0
dict {
}
!include conf.d/*.conf
!include_try local.conf

2.2 配置登录方式:

[root@mail /]# cat /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
auth_mechanisms = plain login
!include auth-system.conf.ext

2.3 配置邮件存储位置:

[root@mail /]# cat /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u
namespace inbox {
inbox = yes
}
first_valid_uid = 1000
mbox_write_locks = fcntl
[root@mail /]# cat /etc/dovecot/conf.d/10-master.conf
service auth {
   unix_listener /var/spool/postfix/private/auth {
   mode = 0666
   user = postfix
   group = postfix
   }
}

2.4 配置ssl(关闭):

[root@mail /]# cat /etc/dovecot/conf.d/10-ssl.conf
ssl = no

3 配置sasl2

3.1 配置系统认证:

[root@mail /]# cat /etc/sysconfig/saslauthd
SOCKETDIR=/run/saslauthd
MECH=shadow
FLAGS=

3.2 配置登录方式:

[root@mail /]# cat /etc/sasl2/smtpd.conf
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
log_level:3

4 启动服务:

systemctl  restart  dovecot
systemctl  restart  postfix
systemctl  restart  saslauthd
systemctl  enable dovecot
systemctl  enable  postfix
systemctl  enable  saslauthd

5 创建用户并设置pass

[root@mail /]# useradd -m autumn && echo 123456 | passwd --stdin autumn
[root@mail /]# su - autumn
[autumn@mail ~]$ mkdir -p ~/mail/.imap/INBOX
[autumn@mail ~]$ chmod -R 750 ~/mail        #(这不操作不做会在使用foxmail登录时报错{Error: Couldn't open INBOX: Permission denied})
[autumn@mail ~]$ exit

6 配置mailx:

[root@mail /]# cat /etc/mail.rc
set from=autumn@liqing-test.top
set smtp=mail.liqing-test.top
set smtp-auth-user=autumn
set smtp-auth-password=123456
set smtp-auth=login

四 发送邮件测试

1 命令行发送邮件测试

[root@mail /]# echo  "邮件服务器测试"  |  mail  -s  "邮件服务器测试"  other-email@163.com

2 使用使用foxmail登录并发送邮件测试

五 报错

1 权限被拒绝

在使用foxmail登录邮箱时提示权限被拒绝,这是因为在邮箱用户的家目录下mail文件权限不是750,设置为750后解决。

[autumn@mail ~]$ chmod -R 750 ~/mail

Dec 3 10:15:35 Git-server dovecot: pop3-login: Login: user=<autumn>, method=PLAIN, rip=192.168.31.100, lip=192.168.2.100, mpid=24843, secured, session=<YnZ3ezTSjiLAqB9k>

Dec 3 10:15:35 Git-server dovecot: pop3(autumn): Error: fchown(/home/autumn/mail/.imap, group=12(mail)) failed: Operation not permitted (egid=1004(autumn), group based on /var/mail/autumn - see http://wiki2.dovecot.org/Errors/ChgrpNoPerm)

Dec 3 10:15:35 Git-server dovecot: pop3(autumn): Error: Couldn't open INBOX: Permission denied

Dec 3 10:15:35 Git-server dovecot: pop3(autumn): Couldn't open INBOX: Permission denied top=0/0, retr=0/0, del=0/0, size=0

Dec 3 10:16:26 Git-server dovecot: pop3-login: Login: user=<autumn>, method=PLAIN, rip=192.168.31.100, lip=192.168.2.100, mpid=24895, secured, session=<NkWHfjTS2CLAqB9k>

Dec 3 10:16:26 Git-server dovecot: pop3(autumn): Error: fchown(/home/autumn/mail/.imap, group=12(mail)) failed: Operation not permitted (egid=1004(autumn), group based on /var/mail/autumn - see http://wiki2.dovecot.org/Errors/ChgrpNoPerm)

2 无法找到主机:

邮件在发送时会根据邮件地址的解析记录去查找mx记录,这里我在向腾讯的企业邮箱发送测试邮件时找不到腾讯的邮箱地址。我在内网的dns代理中加入了腾讯的mx记录后解决

[root@dns- ~]# grep qq /etc/dnsmasq.conf
mx-host=***.com,mxbiz2.qq.com,10
mx-host=***.com,mxbiz1.qq.com,5

Dec 3 10:36:14 Git-server postfix/smtpd[26216]: connect from unknown[192.168.31.100]

Dec 3 10:36:15 Git-server postfix/smtpd[26216]: 05C682267F04: client=unknown[192.168.31.100], sasl_method=LOGIN, sasl_username=autumn

Dec 3 10:36:15 Git-server postfix/cleanup[26220]: 05C682267F04: message-id=<202112031036171922345@liqing-test.top>

Dec 3 10:36:15 Git-server postfix/qmgr[25430]: 05C682267F04: from=<autumn@liqing-test.top>, size=1561, nrcpt=1 (queue active)

Dec 3 10:36:15 Git-server postfix/smtpd[26216]: disconnect from unknown[192.168.31.100]

Dec 3 10:36:15 Git-server postfix/smtp[26221]: 05C682267F04: to=<***@***.com>, relay=none, delay=0.11, delays=0.08/0.02/0/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=***.com type=MX: Host not found, try again)

3 邮件被拒绝

在我向腾讯企业邮箱发送测试邮件时日志里出现了550邮件连接被拒绝的情况,此情况在邮件中设置白名单后解决。

Dec 3 10:11:57 Git-server postfix/smtpd[24617]: connect from mail.liqing-test.top[192.168.2.100]

Dec 3 10:11:57 Git-server postfix/smtpd[24617]: 4E2292267F04: client=mail.liqing-test.top[192.168.2.100], sasl_method=LOGIN, sasl_username=autumn

Dec 3 10:11:57 Git-server postfix/cleanup[24621]: 4E2292267F04: message-id=<61a97cec.xRtXn6hYj3NI3wI3%autumn@liqing-test.top>

Dec 3 10:11:57 Git-server postfix/qmgr[24504]: 4E2292267F04: from=<autumn@liqing-test.top>, size=541, nrcpt=1 (queue active)

Dec 3 10:11:57 Git-server postfix/smtpd[24617]: disconnect from mail.liqing-test.top[192.168.2.100]

Dec 3 10:11:58 Git-server postfix/smtp[24622]: 4E2292267F04: to=<***@***.com>, relay=mxbiz1.qq.com[183.57.48.34]:25, delay=1.6, delays=0.09/0.03/0.16/1.3, dsn=5.0.0, status=bounced (host mxbiz1.qq.com[183.57.48.34] said: 550 Mail content denied. http://service.exmail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000726 (in reply to end of DATA command))

到此这篇关于Centos7.9搭建自主邮件服务器详细步骤的文章就介绍到这了,更多相关Centos搭建邮件服务器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • CentOS 7.2部署邮件服务器(Postfix)

    一.Postfix简介 Postfix 是一种电子邮件服务器,它是由任职于IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的.最早在1990年代晚期出现,是一个开放源代码的软件. Postfix 官方网站:http://www.postfix.org/ Postfix 下载地址:http://www.postfix.org/download.html 二.Postfix安装 安装Postf

  • CentOS 7.2下安装部署邮件服务器(Postfix)的步骤详解

    本文主要介绍的是在CentOS 7.2安装部署邮件服务器(Postfix)的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: Postfix 是一种电子邮件服务器,它是由任职于IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的.最早在1990年代晚期出现,是一个开放源代码的软件. 注意:以下所有配置的命名都是根据主机的hostname变量来配置的,如果hostname更换了的话,需

  • 如何在CentOS8上安装和配置Postfix邮件服务器的方法示例

    Postfix 是一个自由开源的 MTA(邮件传输代理),用于在 Linux 系统上路由或传递电子邮件.在本指南中,你将学习如何在 CentOS 8 上安装和配置 Postfix. 实验室设置: 系统:CentOS 8 服务器 IP 地址:192.168.1.13 主机名:server1.crazytechgeek.info(确保域名指向服务器的 IP) 步骤 1)更新系统 第一步是确保系统软件包是最新的.为此,请按如下所示更新系统: # dnf update 继续之前,还请确保不存在其他 MT

  • Centos7.9搭建自主邮件服务器详细步骤

    目录 前言 一 配置内网dns A记录和MX记录 二 mail服务器初始化配置 1. 修改主机名 2. 关闭防火墙与selinux 3. 开启时间同步 4. 安装软件 三 修改配置文件 1 配置postfix 2 配置dovecot 2.1 配置监听协议: 2.2 配置登录方式: 2.3 配置邮件存储位置: 2.4 配置ssl(关闭): 3 配置sasl2 3.1 配置系统认证: 3.2 配置登录方式: 4 启动服务: 5 创建用户并设置pass 6 配置mailx: 四 发送邮件测试 1 命令

  • CentOS 7 搭建ntp时钟服务器的步骤详解

    前言  NTP 网络时间协议用来同步网络上不同主机的系统时间.你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间.而另一方面,一个 NTP 服务器会将它的时间和任意公共 NTP 服务器,或者你选定的服务器同步.由 NTP 管理的所有系统时钟都会同步精确到毫秒级. 在公司环境中,如果他们不想为 NTP 传输打开防火墙,就有必要设置一个内部 NTP 服务器,然后让员工使用内部服务器而不是公共 NTP 服务器.在这篇文章中,我们会介绍在CentOS 7 搭建ntp时钟服

  • 在CentOS7上搭建本地GitLab服务器

    一.安装并配置必要的依赖关系 首先要在CentOS系统上面安装所需的依赖:ssh.防火墙.postfix(用于邮件通知).wegt,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 1.安装SSH协议 安装命令:sudo yum install -y curl policycoreutils-python openssh-server 出现如下图所示的界面表示安装成功: 2.设置SSH服务开机自启动 安装命令:sudo systemctl enable sshd 3.启动SSH服务

  • 最新window server 2012搭建FTP服务的详细步骤

    目录 基本概念介绍 FTP文件传输协议 一.安装FTP服务 1.打开服务器管理器 2.默认配置 3.弹出的窗口点击“添加功能”,继续下一步. 4.功能列表中选择“ISS可承载web核心”.下一步. 5.角色服务中勾选FTP服务,如果管理工具中IIS项也最好勾选上,如图. 6.点击安装,等待安装完成. 二.配置ftp服务 7.回到“服务器管理器”,从工具栏选择IIS管理器. 8.在IIS管理器中,右击“网站”,选择“添加FTP站点”. 9.站名随便写,并选择一个物理地址. 10.按图配置,选择无S

  • vite的搭建与使用的详细步骤

    目录 1.安装: 2.在vite项目中使用TypeScript 3.vite项目使用less sass scss 4.vite打包 5.下面就来创建一个标准的项目 实际开发中编写的代码往往是不能被浏览器直接识别的,比如ES6,TypeScript,Vue文件等.所以此时我们必须通过构建工具来对代码进行转换,编译,类似的工具有webpack,rollup,parcel.但是随着项目越来越大,需要处理的javascript呈指数级增长,模块越来越多.构建工具需要很长时间才能开启服务器,HMR也需要几

  • Windows下快速搭建NodeJS本地服务器的步骤

    本文介绍了Windows下快速搭建NodeJS本地服务器的步骤,分享给大家,具体如下: 首先我们要到Node.js官网下载对应版本的安装包 http://nodejs.cn/download/ 接着就是安装,和安装普通软件类似,直接下一步下一步就可以了. 之后我们来验证node是否安装成功,Win+R输入cmd来调出控制台并输入node -v和npm -v来查看node版本和npm(包管理工具)版本. 接着我们来创建一个server.js文件,并将下面的代码粘贴上去 var http = req

  • Windows下搭建python开发环境详细步骤

    本文为大家分享了Windows下搭建python开发环境详细步骤,供大家参考,具体内容如下 1.搭建Java环境 (1)直接从官网下载相应版本的JDK或者JRE并点击安装就可以 (2)JDK与JRE的区别: 1)JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境.SDK是Software Development Kit 一般指软件开发包,可以包括函数库.编译程序等 2)JRE是Java Runtime Envirom

  • 标准版Eclipse搭建PHP环境的详细步骤

    一.下载Eclipse的PHP插件 百度搜索phpeclipse,看到某条结果是带有SourceForge.net字样的,点进去,找到Download按钮,点击之后,等待5秒就会开始下载了. 二.安装Eclipse的PHP插件 插件下载完成之后,解压,然后把site.xml删掉(大部分插件不用删这个文件,但是PHPEclipse必须删),最后把整个文件夹复制到Eclipse的dropins文件夹里面,重启Eclipse即可. 三.在Eclipse新建PHP工程和新建PHP文件 在插件安装成功的前

  • JavaWeb项目部署到服务器详细步骤详解

    JavaWeb项目部署到服务器详细步骤 本地准备 在eclipse中将项目打成war文件:鼠标右键要部署到服务器上的项目 导出项目数据库文件 MySql导出数据库文件方法:利用Navicat for MySQL.鼠标右键要导出的数据库,选择转出SQL文件即可 Oracle导出数据库文件:利用PLSQL Developer即可 服务器准备 基本的jdk安装,服务器(比如tomcat)还有数据库的安装都必不可少 将项目的war文件复制到tomcat的wepapps文件夹下即可 创建和代码中数据库连接

  • Flask搭建一个API服务器的步骤

    一.API列表 1. 获取作品列表 ① 获取手工制作作品列表. 请求格式: http://api.mculover666.cn:9999/twkk/list/hand_made 返回结果: { goods_num: 3, goods_item: [ { goods_id: 1, goods_name: "goods1", goods_img_url: "xxx" }, { goods_id: 2, goods_name: "goods1", go

随机推荐