zl程序教程

您现在的位置是:首页 >  系统

当前栏目

CentOS 7 Postfix邮件 —— 筑梦之路

centos 邮件 筑梦之路 postfix
2023-09-14 09:09:36 时间
1.自建dns服务器

yum -y install bind

cp /etc/named.conf /etc/named.conf.ori.bak.20220323

cat /etc/named.conf

options {
    listen-on port 53{ 192.168.20.197; };
    listen-on-v6 port 53{ ::1; };
    directory   "/var/named";
    dump-file   "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    recursing-file  "/var/named/data/named.recursing";
    secroots-file   "/var/named/data/named.secroots";
    allow-query     { any; };

named-checkconf

cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.ori.bak.20220323

vim /etc/named.rfc1912.zones

//正向配置区域和反向配置区域
zone "codemiracle.com" IN {
    type master;
    file "codemiracle.com.zone";
};
zone "20.168.192.in-addr.arpa"{
    type master;
    file "codemiracle.com.local";
};

named-checkconf

cd /var/named
#创建正向区域数据配置文件(复制文件时必须加“-P”,表示复制过来的时候文件权限保持不变)
cp -p named.localhost codemriacle.com.zone

cat codemiracle.com.zone

$TTL 1D
@    IN SOA  codemiracle.com. codemiracle.com. (
                    0; serial
                    1D; refresh
                    1H; retry
                    1W; expire
                    3H)    ; minimum
    NS  @
    A   127.0.0.1
    AAAA    ::1
        NS      mail.codemiracle.com.
        MX 10   mail.codemiracle.com.
mail    IN A    192.168.20.197


cp -p named.localhost codemiracle.com.local

cat codemiracle.com.local

$TTL 1D
@    IN SOA  codemiracle.com. codemiracle.com. (
                                    0; serial
                                    1D; refresh
                                    1H; retry
                                    1W; expire
                                    3H)    ; minimum
    NS  @
    A   127.0.0.1
    AAAA    ::1
        NS      mail.codemiracle.com.
        MX 10   mail.codemiracle.com.
10      PTR     mail.codemiracle.com.

named-checkconf

systemctl start named

systemctl enable named

cat /etc/resolv.conf

nameserver 192.168.20.197

#验证
nslookup mail.codemiracle.com

nslookup 192.168.20.197
2.安装postfix

参数	作用
myhostname	邮局系统的主机名
mydomain	邮局系统的域名
myorigin	从本机发出邮件的域名名称
inet_interfaces	监听的网卡接口
mydestination	可接收邮件的主机名或域名
mynetworks	设置可转发哪些主机的邮件
relay_domains	设置可转发哪些网域的邮件

#是否支持cyrus dovecot功能
postconf -a
cyrus
dovecot

#安装
yum -y install postfix

#主配置
cat /etc/postfix/main.cf

#76行
myhostname = mail.codemiracle.com   //邮件服务器的主机名
#84行
mydomain = codemiracle.com  //邮件域
#100行
myorigin = $mydomain  //往外发邮件的邮件域
#116行
inet_interfaces = $myhostname, localhost    //监听的网卡 (注意,两个地址之间有空格)
#164行
mydestination = $myhostname, localhost.$mydomain  //服务的对象
home_mailbox = Maildir/  //邮件存放的目录

#语法检查
postfix check

systemctl restart postfix

#查看postfix的非默认并已生效配置
postconf -n

#创建邮件测试用户
groupadd mailusers

useradd -g mailusers -s /sbin/nologin moonrong01

passwd moonrong01

useradd -g mailusers -s /sbin/nologin moonrong02

passwd moonrong02

#发信测试
telnet mail.codemiracle.com 25

Trying192.168.20.197...
Connected to mail.codemiracle.com.
Escape character is'^]'.
220 mail.codemiracle.com ESMTP Postfix
helo mail.codemiracle.com   //声明本机的主机
250 mail.codemiracle.com

mail from:moonrong01@codemiracle.com  //声明发件人地址
2502.1.0Ok

rcpt to:moonrong02@codemiracle.com  //声明收件人地址
2502.1.5Ok

data  //写正文
354End data with<CR><LF>.<CR><LF>
i am moonrong

.  /正文结束标记
2502.0.0Ok: queued as ACCF82120FBB
quit  // 退出

2212.0.0Bye
Connection closed by foreign host.

#收信验证
使用root查看moonrong02用户是否收到测试邮件
3.配置Dovecot服务程序

Dovecot 是一个开源的 IMAP 和 POP3 邮件服务器,支持 Linux/Unix 系统。POP / IMAP 是 MUA 从邮件服务器中读取邮件时使用的协议。其中,与 POP3 是从邮件服务器中下载邮件比起来,IMAP4 则是将邮件留在服务器端直接对邮件进行管理、操作。Dovecot 支持多种认证方式,所以在功能方面也比较符合一般的应用。

yum -y install dovecot

cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.ori.bak.20220323

vim /etc/dovecot/dovecot.conf

# Protocols we want to be serving.
protocols = imap pop3 lmtp
disable_plaintext_auth = no
!include conf.d/*.conf
listen = *, ::

#把Dovecot服务程序支持的电子邮件协议修改为imap、pop3和lmtp。然后在这一行下面添加一行参数,允许用户使用明文进行密码验证。之所以这样操作,是因为Dovecot服务程序为了保证电子邮件系统的安全而默认强制用户使用加密方式进行登录,而由于当前还没有加密系统,因此需要添加该参数来允许用户的明文登录

配置邮件格式与存储路径

在Dovecot服务程序单独的子配置文件中,定义一个路径,用于指定要将收到的邮件存放到服务器本地的哪个位置。这个路径默认已经定义好了,我们只需要将该配置文件中第25行前面的井号(#)删除即可。

#/etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u

systemctl restart dovecot

systemctl status dovecot


推荐使用Thunderbird邮件客户端或者Foxmail客户端

Postfix+Dovecot+MySQL搭建邮件服务器 - 老鼠扛刀,满街找猫 - 博客园

Linux搭建邮件服务器Postfix+Dovecot+MySQL+PHP - 开发员 - 博客园

Postfix和Dovecot配置Mysql虚拟用户 - 海运的博客