首页 > 系统相关 >CentOS7.9 搭建Email服务器(Postfix)

CentOS7.9 搭建Email服务器(Postfix)

时间:2022-11-13 22:01:07浏览次数:56  
标签:immengxin Postfix top CentOS7.9 mail root Email 邮件

一、Postfix简介

  • 在邮件系统中担任MTA的角色,负责在服务器之间传递邮件,并收下其他系统寄到本地系统的邮件
  • Postfix实现了MTA的核心功能:邮件路由,邮件头重写,授权,内容过滤
  • 基于模块化的互操作的多进程体系结构设计,每个独立的进程称为组件,各个组件之间通过队列管理器交换邮件
  • postfix 的组件以半驻留方式运行
  • postfix的各个组件由一个常驻内存的主控守护进程(master)控制,master主导邮件的处理流程,是postfix其他组件的总管
  • 只有master以root身份运行的,各个组件以postfix用户身份运行

部分参数解释

inet_interfaces 指定Postfix监听的网络接口。all 表示所有网络接口
myhostname 指定运行Postfix服务的邮件主机名称(FQDN名)
mydomain 指定运行Postfix服务的邮件主机的域名
myorigin 指定由本台邮件主机寄出的每封邮件的邮件头中mail from的地址
mydestination 指定可接收邮件的主机名或域名,只有当发来的邮件的收件人地址与该参数值相匹配时,Postfix才会将该邮件接收下来
mynetworks 设置可转发(Relay)哪些IP网段的邮件
relay_domains 设置可转发(Relay)哪些网域的邮件

二、Postfix配置

1.环境准备

  • 编辑网卡配置文件“/etc/sysconfig/network-scripts/ifcfg-ens33”
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e92f4a4d-a3c6-4cc7-a6a7-7adab1d2cc56
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.48.10
PREFIX=24
GATEWAY=192.168.48.2
DNS1=127.0.0.1  //优先使用本地DNS服务
DNS2=192.168.48.2  //递归查询,保证网络连接

2.配置DNS域名解析

$TTL 1D
@	IN SOA	@ root.immengxin.top. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	immengxin.top.
@	A	192.168.48.10
mail	A	192.168.48.10
@	MX	10 mail.immengxin.top.  //必须有一条mail的A记录

3.安装软件包

[root@immengxin ~]# yum install postfix  //用来发件
[root@immengxin ~]# yum install dovecot  //用来收件   
[root@immengxin ~]# yum install telnet*  //用来连接服务器

4.编辑主配置文件“/etc/postfix/main.cf”

# 第75行,主机名
myhostname = mail.immengxin.top
# 第83行,主域名
mydomain = immengxin.top
# 第99行取消注释,源
myorigin = $mydomain
# 第113行取消注释,你的网络接口,只保留这一个
inet_interfaces = all
# 第166行取消注释,目的
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# 第265行取消注释,允许的网络
mynetworks = 192.168.0.0/16, 127.0.0.0/8
# 第297行取消注释,中继域名
relay_domains = $mydestination
# 第426-427行取消注释
mail_spool_directory = /var/mail
mail_spool_directory = /var/spool/mail
  • 重启Postfix服务
[root@immengxin ~]# systemctl restart postfix

5.编辑配置文件“/etc/dovecot/dovecot.conf”

# 第24行取消注释,并修改
protocols = imap pop3
# 第30行取消注释,监听的地址
listen = 192.168.48.10
# 第33行取消注释
base_dir = /var/run/dovecot/
# 第48行取消注释,受信任的网络
login_trusted_networks = 192.168.0.0/16
# 保存退出,重启服务
[root@immengxin~]# systemctl restart dovecot
  • 修改配置文件“/etc/dovecot/conf.d/10-auth.conf”
# 第10行取消注释
disable_plaintext_auth = no
# 第100行
auth_mechanisms = plain login
  • 修改配置文件“/etc/dovecot/conf.d/10-mail.conf”
# 第25行取消注释
  mail_location = mbox:~/mail:INBOX=/var/mail/%u
  • 修改配置文件“/etc/dovecot/conf.d/10-ssl.conf”
# 第8行
ssl = no

6.其他配置

  • 修改目录权限
[root@immengxin~]# chmod 0600 /var/mail/* 
[root@immengxin~]# chmod 0600 /var/spool/mail/*
[root@immengxin~]# systemctl restart dovecot  //可先忽略,如果无法连接收信服务器,可执行
  • 添加组和用户
[root@immengxin ~]# groupadd mengxin
[root@immengxin ~]# useradd mx1 -g mengxin -s /sbin/nologin  //禁用登录功能
[root@immengxin ~]# useradd mx2 -g mengxin -s /sbin/nologin  //禁用登录功能
[root@immengxin ~]# passwd mx1
[root@immengxin ~]# passwd mx2
  • 修改防火墙配置
[root@immengxin ~]# setenforce 0  //关闭selinux
[root@immengxin ~]# iptables -F  //清空iptables规则
[root@immengxin ~]# firewall-cmd --permanent --add-service=dns  //允许dns服务
[root@immengxin ~]# firewall-cmd --permanent --add-port=25/tcp  //允许tcp端口25,发件
[root@immengxin ~]# firewall-cmd --permanent --add-port=110/tcp  //允许tcp端口110,收件
[root@immengxin ~]# firewall-cmd --reload  //重载防火墙

三、结果验证

  • 连接发信服务器,测试发邮件
[root@QinRui ~]# telnet mail.immengxin.top 25
Trying 192.168.48.10...
Connected to mail.immengxin.top.
Escape character is '^]'.
220 mail.immengxin.top ESMTP Postfix
mail from:mx1  //发件人
250 2.1.0 Ok
rcpt to:mx2  //收件人
250 2.1.5 Ok
data  //输入内容
354 End data with <CR><LF>.<CR><LF>
immengxin  //正文部分
.  //以.结束
250 2.0.0 Ok: queued as 24F558E12C9
quit  //退出
221 2.0.0 Bye
Connection closed by foreign host.
  • 连接收信服务器,测试收件
[root@immengxin ~]# telnet mail.immengxin.top 110
Trying 192.168.48.10...
Connected to mail.immengxin.top.
Escape character is '^]'.
+OK [XCLIENT] Dovecot ready.
user mx2  //登录用户
+OK
pass linux  //用户密码
+OK Logged in.
list  //信件 列表
+OK 1 messages:
1 389
.
top 1 389  //查看信件内容
+OK
Return-Path: <[email protected]>
X-Original-To: mx2
Delivered-To: [email protected]
Received: from QinRui (QinRui [192.168.48.10])
        by mail.immengxin.top (Postfix) with SMTP id 24F558E12C9
        for <mx2>; Sun, 13 Nov 2022 21:36:26 +0800 (CST)
Message-Id: <[email protected]>
Date: Sun, 13 Nov 2022 21:36:26 +0800 (CST)
From: [email protected]

immengxin
.
quit  //退出
+OK Logging out.
Connection closed by foreign host.

标签:immengxin,Postfix,top,CentOS7.9,mail,root,Email,邮件
From: https://www.cnblogs.com/immengxin/p/16886847.html

相关文章

  • K8s部署,基于VMware+centOS7.9
    镜像来源于阿里云的centos镜像,安装VMware过程省略搭建一个master节点,三个node节点。配置都是2c8g安装前准备所有的节点都需要进行此操作1:所有节点禁止防火墙systemctl......
  • CentOS7.9安装twemproxy,实现redis集群
    1、twemproxy下载下载地址:https://github.com/twitter/twemproxy.gitcd/www/servermkdirtwemproxycdtwemproxygitclonehttps://github.com/twitter/twemproxy.......
  • error: GH007: Your push would publish a private email address.
    背景在新电脑上推送时出现这个邮件地址提示。解决方法简单的方法是直接把.gitconfig这个文件中的用户名和地址都改掉,改为网站提供的保密邮件地址。如果涉及到gith......
  • uniCloud云函数结合nodemailer发送邮件的方法
    使用uniCloud云函数结合nodemailer发送邮件的时候,在本地调试可以发送成功,但是当我把云函数上传后,就不能发送到邮件了,但是云函数依旧执行了。开始我以为是node.js版本的原因......
  • Sending the email to the following server failed.IOException while sending messa
    背景最近在全职负责的报表开发平台,有一个看板订阅功能,即按照设置的调度时间定时把看板数据加载为字节流发送到用户配置的指定邮箱。然后偶发性地出现邮件发送失败问题,执行......
  • CentOS7.9 搭建DNS服务器
    一、DNS简介1.DNS的作用DNS(DomainNameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接......
  • CentOS7.9安装mqtt消息中间件mosquitto
    MQTT(MQTelemetryTransport),消息队列遥测传输协议,轻量级的发布/订阅协议,适用于一些条件比较苛刻的环境,进行低带宽、不可靠或间歇性的通信。目前已经是物联网消息通信事实上......
  • centos7.9 安装postgres15数据库
    1.安装yum仓库yuminstall-yhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm2.安装环境依赖(1).安装lib......
  • 【750】Business Email Template
    参考:150+UsefulEmailPhrasesThatWillMakeYourLifeEasierWritingbusinessemailscanbetime-consuming,butlearningsomeusefulphraseswillsaveyoulo......
  • (Python)email 邮件发送
    """1.发送邮件的几个步骤:1)与邮件服务器建立会话连接2)指定用户的登录3)发送邮件2.一个标准邮件包含:1)邮件头:标题;收件人、发送人、抄送cc、密送bcc......