资讯详情

基本邮件服务器搭建

一、邮箱系统原理

1、参考

电子邮件系统架构 - 易科博客 (exsvc.cn)

电子邮件系统的组成和结构 (quemingfei.com)

postfix 电子邮件服务的安装及详细说明 - smile-you-me - 博客园 (cnblogs.com)

2.电子邮件系统架构

在这里插入图片描述

3、基本概念

(Mail User Agent)接收邮件使用的邮件客户端使用IMAP或POP3协议与服务器通信,如 Foxmail、Outlook、Thunderbird;

(Mail Transfer Agent) 通过SMTP协议发送和转发邮件,如 postfix、sendmail;

(Mail Deliver Agent)将MTA收到的邮件保存在磁盘或指定地点,通常扫描垃圾邮件和病毒,如 procmail、dropmail;

(Mail Receive Agent)负责实现IMAP与POP3协议,与MUA进行交互;

(Simple Mail Transfer Protocol)传输发送邮件所使用的标准协议;

(Internet Message Access Protocol)接收邮件的标准协议之一;

(Post Office Protocol 3) 接收邮件的标准协议之一。

二、环境

本教程不通过外网向其他服务器发送邮件。邮箱系统的整体框架是:

  • 构建虚拟机 MTA 和 MRA。
  • 使用宿主机 MUA 连接,MUA 客户端选择 Foxmail。
  • 在 Foxmail 中用虚拟机 2 用户收发邮件。
环境 工具
win10
centos 8
(Mail Transfer Agent) postfix
(Mail Receive Agent) dovecot
(Mail User Agent) Foxmail、Outlook

三、Win10配置

为了方便 Foxmail 所以在客户端分析域名 C:\Windows\System32\drivers\etc\hosts 在文件中添加以下句子:

# 192.168.6.128 是虚拟机ip地址 # mail.liuqiang.com 为邮件服务器域名  192.168.6.128 mail.liuqiang.com 

四、postfix安装配置

1、参考

如何在CentOS安装和配置8Postfix邮件服务器的方法示例 - 云 社区 - 腾讯云 (tencent.com)

Linux中如何配置Postfix邮件发送 - 开发技术 - 亿速云 (yisu.com)

2、postfix 概述

postfix是Wietse Venema在IBM的GPL协议下开发的MTA软件(邮件传输代理)。摘自下一段postfix的官方站点(http://www.postfix.org):“postfix是Wietse Venema想用最广泛的sendmail尝试提供替代品。在Internet世界上大多数电子邮件都是通过的sendmail大约100万用户用于投递sendmail,每天发送数亿封邮件。这是一个令人惊讶的数字。Postfix同时,试图更快、更容易管理、更安全sendmail保持足够的兼容性。

3、安装配置

1、查看 postfix 是否安装

# dnf list installed |grep postfix 

2.检测服务流程和端口

因为 postfix 使用端口 25.与其他过程发生冲突。

# netstat -lntp | grep 25 

3.更新软件包

确保软件包是最新的。

# dnf update 
[root@main ~]# dnf update 1:40:43 前,执行于 2022年05月05日 星期四 20时23分55秒。 依赖关系解决。 无需任何处理。 完毕! [root@main ~]# 

4.设置主机名

使用 hostnamectl 命令在系统上设置主机名:

# hostnamectl set-hostname 主机名 # exec bash 
[root@12345 ~]# hostnamectl set-hostname mail.liuqiang.com [root@12345 ~]# exec bash [root@mail ~]# 

5、配置 /etc/hosts

在 /etc/hosts 添加系统的主机名和 IP:

# vim /etc/hosts 192.168.6.128  mail.liuqiang.com 

:该设置主要是配置 DNS。

6、安装 Postfix

# nf install postfix
[root@mail ~]# dnf install postfix
上次元数据过期检查:1:47:43 前,执行于 2022年05月05日 星期四 20时23分55秒。
依赖关系解决。
============================================================================================================================
 软件包                      架构                       版本                               仓库                        大小
============================================================================================================================
安装:
 postfix                     x86_64                     2:3.5.8-4.el8                      baseos                     1.5 M

事务概要
============================================================================================================================
安装  1 软件包

总下载:1.5 M
安装大小:4.3 M
确定吗?[y/N]: y
下载软件包:
postfix-3.5.8-4.el8.x86_64.rpm                                                              1.2 MB/s | 1.5 MB     00:01    
----------------------------------------------------------------------------------------------------------------------------
总计                                                                                        806 kB/s | 1.5 MB     00:01     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                             1/1 
  运行脚本: postfix-2:3.5.8-4.el8.x86_64                                                                                1/1 
  安装    : postfix-2:3.5.8-4.el8.x86_64                                                                                1/1 
  运行脚本: postfix-2:3.5.8-4.el8.x86_64                                                                                1/1 
  验证    : postfix-2:3.5.8-4.el8.x86_64                                                                                1/1 

已安装:
  postfix-2:3.5.8-4.el8.x86_64                                                                                              

完毕!
[root@mail ~]# 

7、查看安装文件

rpm -ql postfix
[root@mail ~]# rpm -ql postfix
/etc/pam.d/smtp
/etc/pam.d/smtp.postfix
/etc/postfix
/etc/postfix/access
/etc/postfix/canonical
/etc/postfix/dynamicmaps.cf
/etc/postfix/dynamicmaps.cf.d
/etc/postfix/generic
/etc/postfix/header_checks
/etc/postfix/main.cf
/etc/postfix/main.cf.proto
/etc/postfix/master.cf
/etc/postfix/master.cf.proto
/etc/postfix/postfix-files
/etc/postfix/postfix-files.d
/etc/postfix/relocated
/etc/postfix/transport
/etc/postfix/virtual
/etc/sasl2/smtpd.conf
/usr/bin/mailq
/usr/bin/mailq.postfix
/usr/bin/newaliases
/usr/bin/newaliases.postfix
/usr/bin/rmail
/usr/bin/rmail.postfix
/usr/lib/.build-id
/usr/lib/.build-id/06
/usr/lib/.build-id/06/ad90d5d8642d3cd183be59c4bbd65a681afd56
/usr/lib/.build-id/08
/usr/lib/.build-id/08/0aa67dac6b94afe40120f8a64bc8c4e855d5a0
/usr/lib/.build-id/0d
/usr/lib/.build-id/0d/60e0790c3499fe247c76253d08b6b6b4a23e88
/usr/lib/.build-id/0d/bcc7ec7cf17dffb7b04ef1188b0575552b63c6
/usr/lib/.build-id/12
/usr/lib/.build-id/12/9268411b51a31b60f306ccb5cb5d362fdf2b19
/usr/lib/.build-id/17
/usr/lib/.build-id/17/4f0a4a6f7c91b3f87dfe2d619c5fc111b8be34
/usr/lib/.build-id/1c
/usr/lib/.build-id/1c/0d1f0aa6d791b5bef1c5177508ce0771ab688d
/usr/lib/.build-id/20
/usr/lib/.build-id/20/2141c6789e08b05bdc443ddcae033091fb09da
/usr/lib/.build-id/36
/usr/lib/.build-id/36/57204f9fa0d44ef81a35949c44c0b4a38eb8b8
/usr/lib/.build-id/38
/usr/lib/.build-id/38/75df217a653d18feb660e36d7414daeb0bfafa
/usr/lib/.build-id/38/7fc863c90aa04c020156d88647639d7770d547
/usr/lib/.build-id/3e
/usr/lib/.build-id/3e/920ba949a5804b296d81903cc3b62b359d359e
/usr/lib/.build-id/40
/usr/lib/.build-id/40/cc8b7a3afd804a5ea2c7a15ee02a9a0ee9eb9c
/usr/lib/.build-id/44
/usr/lib/.build-id/44/27296aa6eef6687d291e84234a096b6d0058ab
/usr/lib/.build-id/4a
/usr/lib/.build-id/4a/d76f9adf3e25624fff8f30f59fe576e9f1d6bf
/usr/lib/.build-id/4f
/usr/lib/.build-id/4f/65b32edab62f99178e708f7ea263964067d8bd
/usr/lib/.build-id/50
/usr/lib/.build-id/50/46c754afb27c022365f7d5701dc8e36d9c9d6c
/usr/lib/.build-id/52
/usr/lib/.build-id/52/91b6f2d9a3beae0a5c74533fdfd2ea89d43284
/usr/lib/.build-id/59
/usr/lib/.build-id/59/02710e620ce87e1ea9503fce56439ed002a202
/usr/lib/.build-id/67
/usr/lib/.build-id/67/44df4f9b67fbc4faec4495b202587a5d826a92
/usr/lib/.build-id/69
/usr/lib/.build-id/69/e63b3713d304102108877047d5a13eda10d193
/usr/lib/.build-id/6a
/usr/lib/.build-id/6a/ca25d17fb28e73ae98b61676c719aab1798d7b
/usr/lib/.build-id/6d
/usr/lib/.build-id/6d/78cf6e864b2f686c811c337fd73515be80d479
/usr/lib/.build-id/7b
/usr/lib/.build-id/7b/53b7823d33d1b939a5a572fe1393ff8e8f65ec
/usr/lib/.build-id/84
/usr/lib/.build-id/84/3fdbd50337489045a6639ab875ecbc1dbc5e58
/usr/lib/.build-id/88
/usr/lib/.build-id/88/292a452ee9a8945ce5d4060c9871e0059aca95
/usr/lib/.build-id/88/642cb933fb17a824860e8b04f79504de6964cd
/usr/lib/.build-id/9b
/usr/lib/.build-id/9b/9a4d8f014811c676cd57e45dc3bfb65748d351
/usr/lib/.build-id/a2
/usr/lib/.build-id/a2/1ec7c59f06569279809328e12108ff620ce356
/usr/lib/.build-id/a5
/usr/lib/.build-id/a5/1f793502d85a5a0ae7fafeb08cf88dad3d2aeb
/usr/lib/.build-id/a5/44e1b6787fcfc7ae1c435fbd3a864c1e66b12b
/usr/lib/.build-id/b5
/usr/lib/.build-id/b5/b88511f66429c6b3568455e0b75b1f10d9d866
/usr/lib/.build-id/b6
/usr/lib/.build-id/b6/73ea91fca421accb0605e251cdb54cec9137d1
/usr/lib/.build-id/b9
/usr/lib/.build-id/b9/20916cf8292d3ba0aef6932723f3c6c4094ec6
/usr/lib/.build-id/bd
/usr/lib/.build-id/bd/728842e0018212aa2f9d2691597dfd0ba78aff
/usr/lib/.build-id/cd
/usr/lib/.build-id/cd/cd7bfa21db91b347bc4cf0b7fa52a411dcd186
/usr/lib/.build-id/ce
/usr/lib/.build-id/ce/37060c99e25eaebd59264f2119a52ab8ccb795
/usr/lib/.build-id/d1
/usr/lib/.build-id/d1/418e86561e0d5fae575268306ad3cc068ca129
/usr/lib/.build-id/d3
/usr/lib/.build-id/d3/3b5e3bb36128d962227b0fdea90996938d6fd4
/usr/lib/.build-id/d3/faabef708209dcda940d02831c76049dceebb1
/usr/lib/.build-id/db
/usr/lib/.build-id/db/49d25b92c6d26cb83f9a079b3702a6d769526f
/usr/lib/.build-id/df
/usr/lib/.build-id/df/093643cab807b19547d1b3906b127c2bca5dcf
/usr/lib/.build-id/e6
/usr/lib/.build-id/e6/1d5fbcc64fe285face5b4e960ad62ea58db396
/usr/lib/.build-id/ec
/usr/lib/.build-id/ec/235e9fa7d6af2d1af88a01bd4892dc860a09cc
/usr/lib/.build-id/ef
/usr/lib/.build-id/ef/889cb14a641174f1feeb2e65318a1b4750744f
/usr/lib/.build-id/ef/889cb14a641174f1feeb2e65318a1b4750744f.1
/usr/lib/.build-id/f0
/usr/lib/.build-id/f0/a7ffdaaf6b91dfd4fc6955e969cdaa58c9a2fa
/usr/lib/.build-id/f0/a7ffdaaf6b91dfd4fc6955e969cdaa58c9a2fa.1
/usr/lib/.build-id/f5
/usr/lib/.build-id/f5/759db1d90f9dc6631c9cd9e813707ca43d3e8b
/usr/lib/.build-id/f7
/usr/lib/.build-id/f7/b2b101d9548ad5a1fc9889d33f3f3369e79aca
/usr/lib/sendmail
/usr/lib/sendmail.postfix
/usr/lib/systemd/system/postfix.service
/usr/lib64/postfix
/usr/lib64/postfix/libpostfix-dns.so
/usr/lib64/postfix/libpostfix-global.so
/usr/lib64/postfix/libpostfix-master.so
/usr/lib64/postfix/libpostfix-tls.so
/usr/lib64/postfix/libpostfix-util.so
/usr/libexec/postfix
/usr/libexec/postfix/aliasesdb
/usr/libexec/postfix/anvil
/usr/libexec/postfix/bounce
/usr/libexec/postfix/chroot-update
/usr/libexec/postfix/cleanup
/usr/libexec/postfix/discard
/usr/libexec/postfix/dnsblog
/usr/libexec/postfix/error
/usr/libexec/postfix/flush
/usr/libexec/postfix/lmtp
/usr/libexec/postfix/local
/usr/libexec/postfix/master
/usr/libexec/postfix/nqmgr
/usr/libexec/postfix/oqmgr
/usr/libexec/postfix/pickup
/usr/libexec/postfix/pipe
/usr/libexec/postfix/post-install
/usr/libexec/postfix/postfix-script
/usr/libexec/postfix/postfix-tls-script
/usr/libexec/postfix/postfix-wrapper
/usr/libexec/postfix/postlogd
/usr/libexec/postfix/postmulti-script
/usr/libexec/postfix/postscreen
/usr/libexec/postfix/proxymap
/usr/libexec/postfix/qmgr
/usr/libexec/postfix/qmqpd
/usr/libexec/postfix/scache
/usr/libexec/postfix/showq
/usr/libexec/postfix/smtp
/usr/libexec/postfix/smtpd
/usr/libexec/postfix/spawn
/usr/libexec/postfix/tlsmgr
/usr/libexec/postfix/tlsproxy
/usr/libexec/postfix/trivial-rewrite
/usr/libexec/postfix/verify
/usr/libexec/postfix/virtual
/usr/sbin/postalias
/usr/sbin/postcat
/usr/sbin/postconf
/usr/sbin/postdrop
/usr/sbin/postfix
/usr/sbin/postkick
/usr/sbin/postlock
/usr/sbin/postlog
/usr/sbin/postmap
/usr/sbin/postmulti
/usr/sbin/postqueue
/usr/sbin/postsuper
/usr/sbin/posttls-finger
/usr/sbin/sendmail
/usr/sbin/sendmail.postfix
/usr/sbin/smtp-sink
/usr/sbin/smtp-source
/usr/share/doc/postfix
/usr/share/doc/postfix/COMPATIBILITY
/usr/share/doc/postfix/LICENSE
/usr/share/doc/postfix/README-Postfix-SASL-RedHat.txt
/usr/share/doc/postfix/README-RedHat.txt
/usr/share/doc/postfix/README_FILES
/usr/share/doc/postfix/README_FILES/AAAREADME
/usr/share/doc/postfix/README_FILES/ADDRESS_CLASS_README
/usr/share/doc/postfix/README_FILES/ADDRESS_REWRITING_README
/usr/share/doc/postfix/README_FILES/ADDRESS_VERIFICATION_README
/usr/share/doc/postfix/README_FILES/BACKSCATTER_README
/usr/share/doc/postfix/README_FILES/BASIC_CONFIGURATION_README
/usr/share/doc/postfix/README_FILES/BUILTIN_FILTER_README
/usr/share/doc/postfix/README_FILES/COMPATIBILITY_README
/usr/share/doc/postfix/README_FILES/CONNECTION_CACHE_README
/usr/share/doc/postfix/README_FILES/CONTENT_INSPECTION_README
/usr/share/doc/postfix/README_FILES/DATABASE_README
/usr/share/doc/postfix/README_FILES/DB_README
/usr/share/doc/postfix/README_FILES/DEBUG_README
/usr/share/doc/postfix/README_FILES/DSN_README
/usr/share/doc/postfix/README_FILES/ETRN_README
/usr/share/doc/postfix/README_FILES/FILTER_README
/usr/share/doc/postfix/README_FILES/FORWARD_SECRECY_README
/usr/share/doc/postfix/README_FILES/INSTALL
/usr/share/doc/postfix/README_FILES/IPV6_README
/usr/share/doc/postfix/README_FILES/LINUX_README
/usr/share/doc/postfix/README_FILES/LOCAL_RECIPIENT_README
/usr/share/doc/postfix/README_FILES/MAILDROP_README
/usr/share/doc/postfix/README_FILES/MEMCACHE_README
/usr/share/doc/postfix/README_FILES/MILTER_README
/usr/share/doc/postfix/README_FILES/MULTI_INSTANCE_README
/usr/share/doc/postfix/README_FILES/NFS_README
/usr/share/doc/postfix/README_FILES/OVERVIEW
/usr/share/doc/postfix/README_FILES/PACKAGE_README
/usr/share/doc/postfix/README_FILES/POSTSCREEN_README
/usr/share/doc/postfix/README_FILES/QSHAPE_README
/usr/share/doc/postfix/README_FILES/RELEASE_NOTES
/usr/share/doc/postfix/README_FILES/RESTRICTION_CLASS_README
/usr/share/doc/postfix/README_FILES/SASL_README
/usr/share/doc/postfix/README_FILES/SCHEDULER_README
/usr/share/doc/postfix/README_FILES/SMTPD_ACCESS_README
/usr/share/doc/postfix/README_FILES/SMTPD_POLICY_README
/usr/share/doc/postfix/README_FILES/SMTPD_PROXY_README
/usr/share/doc/postfix/README_FILES/SOHO_README
/usr/share/doc/postfix/README_FILES/STANDARD_CONFIGURATION_README
/usr/share/doc/postfix/README_FILES/STRESS_README
/usr/share/doc/postfix/README_FILES/TLS_LEGACY_README
/usr/share/doc/postfix/README_FILES/TLS_README
/usr/share/doc/postfix/README_FILES/TUNING_README
/usr/share/doc/postfix/README_FILES/ULTRIX_README
/usr/share/doc/postfix/README_FILES/UUCP_README
/usr/share/doc/postfix/README_FILES/VERP_README
/usr/share/doc/postfix/README_FILES/VIRTUAL_README
/usr/share/doc/postfix/README_FILES/XCLIENT_README
/usr/share/doc/postfix/README_FILES/XFORWARD_README
/usr/share/doc/postfix/TLS_ACKNOWLEDGEMENTS
/usr/share/doc/postfix/TLS_LICENSE
/usr/share/doc/postfix/bounce.cf.default
/usr/share/doc/postfix/examples
/usr/share/doc/postfix/examples/chroot-setup
/usr/share/doc/postfix/examples/chroot-setup/LINUX2
/usr/share/doc/postfix/examples/qmail-local
/usr/share/doc/postfix/examples/qmail-local/qmail-local.txt
/usr/share/doc/postfix/examples/smtpd-policy
/usr/share/doc/postfix/examples/smtpd-policy/README.SPF
/usr/share/doc/postfix/examples/smtpd-policy/greylist.pl
/usr/share/doc/postfix/main.cf.default
/usr/share/man/man1/mailq.1.gz
/usr/share/man/man1/mailq.postfix.1.gz
/usr/share/man/man1/newaliases.1.gz
/usr/share/man/man1/newaliases.postfix.1.gz
/usr/share/man/man1/postalias.1.gz
/usr/share/man/man1/postcat.1.gz
/usr/share/man/man1/postconf.1.gz
/usr/share/man/man1/postdrop.1.gz
/usr/share/man/man1/postfix-tls.1.gz
/usr/share/man/man1/postfix.1.gz
/usr/share/man/man1/postkick.1.gz
/usr/share/man/man1/postlock.1.gz
/usr/share/man/man1/postlog.1.gz
/usr/share/man/man1/postmap.1.gz
/usr/share/man/man1/postmulti.1.gz
/usr/share/man/man1/postqueue.1.gz
/usr/share/man/man1/postsuper.1.gz
/usr/share/man/man1/posttls-finger.1.gz
/usr/share/man/man1/sendmail.postfix.1.gz
/usr/share/man/man1/smtp-sink.1.gz
/usr/share/man/man1/smtp-source.1.gz
/usr/share/man/man5/access.5.gz
/usr/share/man/man5/aliases.5.gz
/usr/share/man/man5/aliases.postfix.5.gz
/usr/share/man/man5/body_checks.5.gz
/usr/share/man/man5/bounce.5.gz
/usr/share/man/man5/canonical.5.gz
/usr/share/man/man5/cidr_table.5.gz
/usr/share/man/man5/generic.5.gz
/usr/share/man/man5/header_checks.5.gz
/usr/share/man/man5/master.5.gz
/usr/share/man/man5/memcache_table.5.gz
/usr/share/man/man5/nisplus_table.5.gz
/usr/share/man/man5/postconf.5.gz
/usr/share/man/man5/postfix-wrapper.5.gz
/usr/share/man/man5/regexp_table.5.gz
/usr/share/man/man5/relocated.5.gz
/usr/share/man/man5/socketmap_table.5.gz
/usr/share/man/man5/tcp_table.5.gz
/usr/share/man/man5/transport.5.gz
/usr/share/man/man5/virtual.5.gz
/usr/share/man/man8/anvil.8.gz
/usr/share/man/man8/bounce.8.gz
/usr/share/man/man8/cleanup.8.gz
/usr/share/man/man8/defer.8.gz
/usr/share/man/man8/discard.8.gz
/usr/share/man/man8/dnsblog.8.gz
/usr/share/man/man8/error.8.gz
/usr/share/man/man8/flush.8.gz
/usr/share/man/man8/lmtp.8.gz
/usr/share/man/man8/local.8.gz
/usr/share/man/man8/master.8.gz
/usr/share/man/man8/oqmgr.8.gz
/usr/share/man/man8/pickup.8.gz
/usr/share/man/man8/pipe.8.gz
/usr/share/man/man8/postlogd.8.gz
/usr/share/man/man8/postscreen.8.gz
/usr/share/man/man8/proxymap.8.gz
/usr/share/man/man8/qmgr.8.gz
/usr/share/man/man8/qmqpd.8.gz
/usr/share/man/man8/scache.8.gz
/usr/share/man/man8/sendmail.8.gz
/usr/share/man/man8/showq.8.gz
/usr/share/man/man8/smtp.8.gz
/usr/share/man/man8/smtpd.8.gz
/usr/share/man/man8/smtpd.postfix.8.gz
/usr/share/man/man8/spawn.8.gz
/usr/share/man/man8/tlsmgr.8.gz
/usr/share/man/man8/tlsproxy.8.gz
/usr/share/man/man8/trace.8.gz
/usr/share/man/man8/trivial-rewrite.8.gz
/usr/share/man/man8/verify.8.gz
/usr/share/man/man8/virtual.8.gz
/var/lib/misc/postfix.aliasesdb-stamp
/var/lib/postfix
/var/spool/postfix
/var/spool/postfix/active
/var/spool/postfix/bounce
/var/spool/postfix/corrupt
/var/spool/postfix/defer
/var/spool/postfix/deferred
/var/spool/postfix/flush
/var/spool/postfix/hold
/var/spool/postfix/incoming
/var/spool/postfix/maildrop
/var/spool/postfix/pid
/var/spool/postfix/private
/var/spool/postfix/public
/var/spool/postfix/saved
/var/spool/postfix/trace
[root@mail ~]# 

8、启动并启用 Postfix 服务

成功安装 Postfix 后,运行以下命令启动并启用 Postfix 服务:

# systemctl start postfix
# systemctl enable postfix
[root@mail ~]# systemctl start postfix
[root@mail ~]# systemctl enable postfix
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.
[root@mail ~]#

检查 Postfix 状态,请运行以下 systemctl 命令:

# systemctl status postfix
[root@mail ~]# systemctl status postfix
● postfix.service - Postfix Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-05-05 22:17:40 EDT; 2min 0s ago
 Main PID: 4811 (master)
    Tasks: 3 (limit: 23330)
   Memory: 4.4M
   CGroup: /system.slice/postfix.service
           ├─4811 /usr/libexec/postfix/master -w
           ├─4812 pickup -l -t unix -u
           └─4813 qmgr -l -t unix -u

5月 05 22:17:38 mail.liuqiang.com systemd[1]: Starting Postfix Mail Transport Agent...
5月 05 22:17:39 mail.liuqiang.com restorecon[4732]: /usr/sbin/restorecon: lstat(/var/spool/postfix/pid/master.pid) failed: >
5月 05 22:17:40 mail.liuqiang.com postfix/master[4811]: daemon started -- version 3.5.8, configuration /etc/postfix
5月 05 22:17:40 mail.liuqiang.com systemd[1]: Started Postfix Mail Transport Agent.

[root@mail ~]#

9、配置 postfix 服务器

mail.cf:postfix主要的配置文件。master.cf:postfix的master进程的配置文件。

1、myhostname

myhostname 参数指定运行postfix邮件系统的主机的主机名。缺省情况该值被设定为。也可以指定该值,需要注意的是,要指定,如下:

myhostname = mail.domain.com

2、mydomain

mydomain参数指定你的,缺省情况 postfix 将 myhostname 的第一部分删除而作为 mydomain 的值。也可以指定该值,例如:

mydomain = domain.com

3、myorigin

myorigin 参数指明发件人所在的域名。如果你的用户的邮件地址为 user@domain.com 则该参数指定@后面的域名。

缺省情况 postfix 使用本地主机名作为 myorigin。

比如:安装 postfix 的主机为 mail.domain.com 则我们可以这样指定 myorigin:

myorigin = domain.com

可以引用其他参数,如:

myorigin = $mydomain

4、mydestination

mydestination 参数指定 postfix 接收邮件时收件人的域名,换句话说,也就是你的 postfix 系统要接收什么样的邮件。

如果你的用户的邮件地址为 user@domain.com, 也就是你的域为 domain.com, 则你就需要接收所有收件人为 user_name@domain.com 的邮件。

缺省情况 postfix使用本地主机名作为mydestination。示例:

mydestination = $mydomain

mydestination = domain.com

5、mynetworks

mynetworks 参数指定你,postfix 系统根据其值来区别用户是远程的还是本地的,如果是则允许其访问。你可以用标准的A、B、C类网络地址,也可以用CIDR(无类域间路由)地址来表示,如:

192.168.1.0/24

192.168.1.0/26

6、inet_interfaces

inet_interfaces 参数指定 postfix 系统。缺省情况 postfix 监听所有的网络接口。如果你的 postfix 运行在一个的 ip 地址上,则。如:

inet_interfaces = all

inet_interface = 192.168.1.1

7、home_mailbox

设置邮箱相对于用户主目录的路径,还指定要使用的邮箱样式。

Mbox 主要特点就是“所有邮件都存放到一个文件里”。每个邮件之间以特定的标记分割。

Maildir 每一封邮件保存成一个文件,每个文件名称一般有一定的规律,例如会包含时间戳、pid及inode节点号等。

8、virtual_alias_maps

9、inet_protocols

inet_protocols 参数指定 postfix 系统使用协议。

10、relay_domains

此系统将邮件中继到的目标域列表。如果将其设置为空白,我们确保我们的邮件服务器不会充当不受信任网络的开放中继。

11、配置参数

myhostname = mail.liuqiang.com
mydomain = liuqiang.com
myorigin = $mydomain
## 取消注释并将 inet_interfaces 设置为 all##
inet_interfaces = all
## 更改为 all ##
inet_protocols = all
## 注释 ##
#mydestination = $myhostname, localhost.$mydomain, localhost
## 取消注释 ##
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
## 取消注释并添加 IP 范围 ##
mynetworks = 192.168.6.0/24, 127.0.0.0/8
## 取消注释 ##
home_mailbox = Maildir/

12、重启 postfix 服务

完成后,保存并退出配置文件。重新启动 postfix 服务以使更改生效:

# systemctl restart postfix

13、查看进程服务是否启动

[root@mail ~]# netstat -lntp | grep 25
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      6153/master         
tcp6       0      0 :::25                   :::*                    LISTEN      6153/master         
[root@mail ~]# 

4、测试

1、创建测试用户

# useradd user1
# passwd user1

# useradd user2
# passwd user2
[root@mail ~]# ls /home/ -l
总用量 4
drwx------. 18 lq lq 4096 5月   4 23:48 lq
[root@mail ~]# 
[root@mail ~]# useradd user1
[root@mail ~]# passwd user1
更改用户 user1 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@mail ~]# useradd user2
[root@mail ~]# passwd user2
更改用户 user2 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@mail ~]# 
[root@mail ~]# ls /home/ -l
总用量 4
drwx------. 18 lq    lq    4096 5月   4 23:48 lq
drwx------.  3 user1 user1   78 5月   5 23:35 user1
drwx------.  3 user2 user2   78 5月   5 23:36 user2
[root@mail ~]#

2、发送邮件测试

通过 telnet 连接 postfix,让 user1 向 user2 发送一份邮件进行测试。

# 通过 telnet 连接 postfix
[root@mail ~]# telnet 192.168.6.128 25
Trying 192.168.6.128...
Connected to 192.168.6.128.
Escape character is '^]'.
220 mail.liuqiang.com ESMTP Postfix
ehlo localhost
250-mail.liuqiang.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
# 邮件发送者
mail from:<user1@liuqiang.com>
250 2.1.0 Ok
# 邮件接收者
rcpt to:user2@liuqiang.com
250 2.1.5 Ok
# 邮件内容
data
354 End data with <CR><LF>.<CR><LF>
2022.05.06 user1-192.168.6.128-send .
Subject:test mail
test mail content
.
250 2.0.0 Ok: queued as 0452560D8241
# 退出 telnet
quit
221 2.0.0 Bye
Connection closed by foreign host.
[root@mail ~]# 

3、验证邮件接收

邮件接收成功后,会在 user2 家目录下创建 Maildir 目录,邮件报错在 Maildir 目录 new 目录中。

[root@mail ~]# tree /home/user2/Maildir/
/home/user2/Maildir/
├── cur
├── new
│   └── 1651808648.Vfd00I411a2efM345156.mail.liuqiang.com
└── tmp

3 directories, 1 file
[root@mail ~]# 
[root@mail ~]# 
[root@mail ~]# cat /home/user2/Maildir/new/1651808648.Vfd00I411a2efM345156.mail.liuqiang.com 
Return-Path: <user1@liuqiang.com>
X-Original-To: user2@liuqiang.com
Delivered-To: user2@liuqiang.com
Received: from localhost (unknown [192.168.6.128])
	by mail.liuqiang.com (Postfix) with ESMTP id 0452560D8241
	for <user2@liuqiang.com>; Thu,  5 May 2022 23:42:49 -0400 (EDT)
Message-Id: <20220506034258.0452560D8241@mail.liuqiang.com>
Date: Thu,  5 May 2022 23:42:49 -0400 (EDT)
From: user1@liuqiang.com

2022.05.06 user1-192.168.6.128-send .
Subject:test mail
test mail content
[root@mail ~]# 
[root@mail ~]#

通过以上日志可以确定,user2 接收邮件成功。

5、postfix 日志

Postfix 邮件服务器邮件日志保存在文件 /var/log/maillog 中,使用以下命令查看实时日志:

# tail -f /var/log/maillog
[root@mail ~]# tail -f /var/log/maillog
May  5 23:32:42 main postfix/master[6153]: daemon started -- version 3.5.8, configuration /etc/postfix
May  5 23:42:13 main postfix/smtpd[6316]: warning: numeric hostname: 192.168.6.128
May  5 23:42:13 main postfix/smtpd[6316]: connect from unknown[192.168.6.128]
May  5 23:42:39 main postfix/smtpd[6316]: discarding EHLO keywords: CHUNKING
May  5 23:42:58 main postfix/smtpd[6316]: 0452560D8241: client=unknown[192.168.6.128]
May  5 23:44:08 main postfix/cleanup[6328]: 0452560D8241: message-id=<20220506034258.0452560D8241@mail.liuqiang.com>
May  5 23:44:08 main postfix/qmgr[6155]: 0452560D8241: from=<user1@liuqiang.com>, size=389, nrcpt=1 (queue active)
May  5 23:44:08 main postfix/local[6338]: 0452560D8241: to=<user2@liuqiang.com>, relay=local, delay=79, delays=79/0.01/0/0, dsn=2.0.0, status=sent (delivered to maildir)
May  5 23:44:08 main postfix/qmgr[6155]: 0452560D8241: removed
May  5 23:44:14 main postfix/smtpd[6316]: disconnect from unknown[192.168.6.128] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5

^C
[root@mail ~]#

五、Dovecot 安装配置

1、参考

邮件服务器搭建之:详解Dovecot配置 - enumx - 博客园 (cnblogs.com)

Dovecot配置笔记_Inosin_Wu的博客-CSDN博客

LINUX 配置dovecot服务_李赟杰的博客-CSDN博客_启动dovecot服务

2、概述

Dovecot是一个安全性较好的POP3/IMAP服务器软件,响应速度快而且扩展性好,支持 Linux/Unix 系统。 POP / IMAP 是 MUA 从邮件服务器中读取邮件时使用的协议。其中,与 POP3 是从邮件服务器中下载邮件比起来,IMAP4 则是将邮件留在服务器端直接对邮件进行管理、操作。而 Dovecot 是一个比较新的软件,由 Timo Sirainen 开发,最初发布于 2002年7月。作者将安全性考虑在第一,所以 Dovecot 在安全性方面比较出众。另外,Dovecot 支持多种认证方式,所以在功能方面也比较符合一般的应用。

3、安装配置

1、查看 Dovecot 是否安装

# dnf list installed |grep dovecot

2、检测服务进程以及端口

因为 postfix 使用端口 25,放置和其他进程冲突。

# netstat -lntp | grep 25

3、更新软件包

确保软件包是最新的。

# dnf update
[root@mail user1]# dnf update
上次元数据过期检查:2:28:18 前,执行于 2022年05月06日 星期五 00时25分08秒。
依赖关系解决。
无需任何处理。
完毕!
[root@mail user1]#

4、安装 dovecot

dnf install dovecot
[root@mail ~]# dnf install dovecot
上次元数据过期检查:2:29:23 前,执行于 2022年05月06日 星期五 00时25分08秒。
依赖关系解决。
============================================================================================================================
 软件包                    架构                版本                                            仓库                    大小
============================================================================================================================
安装:
 dovecot                   x86_64              1:2.3.16-2.el8                                  appstream              5.2 M
安装依赖关系:
 clucene-core              x86_64              2.3.3.4-31.20130812.e8e3d20git.el8              appstream              596 k

事务概要
============================================================================================================================
安装  2 软件包

总下载:5.8 M
安装大小:20 M
确定吗?[y/N]: y
下载软件包:
(1/2): clucene-core-2.3.3.4-31.20130812.e8e3d20git.el8.x86_64.rpm                           758 kB/s | 596 kB     00:00    
(2/2): dovecot-2.3.16-2.el8.x86_64.rpm                                                      1.5 MB/s | 5.2 MB     00:03    
----------------------------------------------------------------------------------------------------------------------------
总计                                                                                        1.4 MB/s | 5.8 MB     00:04     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                              

标签: 115aef继电器进口贸易dqp9051多参变送器04c热过载继电器lrd

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台