在Debian上配置Postfix和Dovecot邮件系统✨

搭建一个邮件系统吧~用 Postfix 处理 SMTP 邮件发送,搭配 Dovecot 提供 POP3 和 IMAP 服务,支持 SASL 加密认证和虚拟账号哦!主域名用 mail.mxdx.com


1. 安装Postfix,开启邮件之旅💻

  • 先更新系统,然后安装 Postfix:

    apt update
    apt install postfix
    
  • 安装过程会包含 postfixssl-cert,并推荐安装 procmailpostfix-mysqlpostfix-pcresasl2-bindovecot-commonresolvconf 等。

  • 配置时选择邮件服务器类型:

    • No configuration:保留现有配置。
    • Internet Site(推荐):通过 SMTP 直接收发邮件。
    • Internet with smarthost:接收邮件用 SMTP 或 fetchmail,发送走 smarthost。
    • Satellite system:所有邮件转发到 smarthost 处理。
    • Local only:仅限本地用户邮件,不联网。

    我们选 Internet Site,简单好用!

  • 设置系统邮件名称为 mail.mxdx.com


2. 安装Dovecot,解锁POP3和IMAP💌

  • 安装 Dovecot 的 POP3 和 IMAP 服务:

    apt install dovecot-pop3d dovecot-imapd
    
  • 安装的软件包包括 dovecot-coredovecot-imapddovecot-pop3dlibexttextcatlibexttextcat-dataliblualibsodiumlibstemmer0d


3. 启动服务,点亮邮件系统🌟

  • 启动 Postfix 和 Dovecot 服务:

    service postfix start
    service dovecot start
    
  • 检查邮件相关端口是否开启:

    ss -lntup
    
  • 预期开放的端口:

    • 25:SMTP(Postfix)
    • 110:POP3(Dovecot)
    • 143:IMAP(Dovecot)
    • 993:IMAPS(加密 IMAP)
    • 995:POP3S(加密 POP3)

4. 测试Postfix,发送一封小邮件试试💌

  • 配置192.168.0.0/24 网段内的所有设备可以直接通过该邮件服务器发送邮件,而无需提供用户名密码。

    sudo postconf -e "mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24"
    

    如若不执行会报错误 454 4.7.1 <haruka@mxdx.com>: Relay access denied 是SMTP服务器拒绝转发邮件的常见错误

    为什么需要这样配置?

    • 默认情况下,Postfix 仅允许本机(127.0.0.1)发信,其他IP(包括同一局域网的设备)会被拒绝并报错 Relay access denied
    • 此命令扩展了信任范围,使192.168.0.0/24网段也能直接发信。
  • 用 telnet 测试 SMTP 服务:

    telnet mail.mxdx.com 25
    
  • 示例交互:

    220 mail.mxdx.com ESMTP Postfix (Debian/GNU)
    mail from: sakura@mail.mxdx.com
    250 2.1.0 Ok
    rcpt to: haruka@mail.mxdx.com
    250 2.1.5 Ok
    data
    354 End data with .
    嗨,这是一封测试邮件~
    .
    250 2.0.0 Ok: queued as AF0B742C0788
    quit
    221 2.0.0 Bye
    
  • 检查邮件存储文件:

    cat /var/mail/haruka
    
  • 确认邮件内容已保存,说明 Postfix 运行正常。

    image


5. 测试Dovecot,检查邮件箱吧📬

  • 修改 Dovecot 配置,允许明文认证(仅用于测试,正式环境请用加密):

    nano /etc/dovecot/conf.d/10-auth.conf
    

    添加:

    disable_plaintext_auth = no
    
  • 重启 Dovecot 服务:

    service dovecot restart
    
  • 用 telnet 测试 POP3 服务:

    telnet mail.mxdx.com 110
    
  • 示例交互:

    +OK Dovecot (Debian) ready.
    user haruka
    +OK
    pass 123456
    +OK Logged in.
    list
    +OK 2 messages:
    1 308
    2 304
    .
    retr 1
    +OK 308 octets
    Return-Path: 
    X-Original-To: sakura@mail.mxdx.com
    Delivered-To: haruka@mail.mxdx.com
    Received: from unknown (unknown [192.168.11.131])
            by mail.mxdx.com (Postfix) with SMTP id AF0B742C0788
            for ; Sat, 11 Jun 2022 08:44:09 +0800 (CST)
    
    嗨,这是一封测试邮件~
    .
    retr 2
    +OK 304 octets
    Return-Path: 
    X-Original-To: sakura@mxdx.com
    Delivered-To: haruka@mxdx.com
    Received: from unknown (unknown [192.168.11.131])
            by mail.mxdx.com (Postfix) with SMTP id 0C23742C097C
            for ; Sat, 11 Jun 2022 08:49:48 +0800 (CST)
    
    abc
    ddd
    .
    quit
    +OK Logging out.
    
  • 确认能读取邮件,说明 Dovecot 运行正常。 image

邮件位于邮件服务器的/var/mail目录下

image image

6. 默认行为小贴士💡

  • 邮箱账号:默认使用系统用户的用户名和密码。
  • Root 用户:默认不开放,可手动修改配置启用。
梦葉樱 all right reserved,powered by Gitbook该文件最后修改时间: 2025-07-21 12:54:03

results matching ""

    No results matching ""