标签 postfix 下的文章

postfix与外部邮件服务器连接时使用tls - did not encrypt this message - smtp_tls_security_level

问题:debian上的postfix发信给gmail用户,显示 security domain did not encrypt this message。

尝试:按google提供的帮助,大意是说邮件传送过程不是使用安全的连接。实例是机子上的postfix在连接google的邮件服务器时,没有使用tls连接。

那在postfix的配置文件main.cf里加上 smtp_tls_security_level = may ,那就好了。mail.log里会有相应的日志,如:postfix/smtp[31853]: Untrusted TLS connection established to gmail-smtp-in.l.google.com[2404:6800:4008:c03::1a]:25: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256

参考:

using backwards-compatible default setting chroot=y

问题:centos7 里的 postfix 日志中提示兼容性信息提示。

尝试:原来是将原debian 里的 postfix 配置文件复制到 centos7 中发生的。默认 centos 不使用 chroot 环境,所以将配置文件中的 chroot 列值,从 - 修改为 n 重启 postfix 就可以了。

Nov 19 23:25:44 localhost postfix/master[865]: /etc/postfix/master.cf: line 18: using backwards-compatible default setting chroot=y
Nov 19 23:25:44 localhost postfix/master[865]: /etc/postfix/master.cf: line 26: using backwards-compatible default setting chroot=y
Nov 19 23:25:44 localhost postfix/master[865]: /etc/postfix/master.cf: line 35: using backwards-compatible default setting chroot=y

参考:

postfix 收不到邮件 - 错误 - NOQUEUE: reject: RCPT from Relay access denied

现象:安装和配置 postfix 后,从外域发邮件到本域,收不到邮件。查看日志,提示:NOQUEUE: reject: RCPT from Relay access denied。

尝试:检查配置文件 /etc/postfix/main.cf ,查看 mydestination 的值是否包含收件地址的域(如,liu@anqun.org的收件地址,mydestination需包含有anqun.org的域)。

参考:https://serverfault.com/questions/883433/postfix-send-email-but-not-receive-it-noqueue-reject-rcpt-from-relay-access

debain9 中 搭建 postfix decovet

服务器环境:韩国机房VPS,安装了Linux debian9 操作系统
操作环境:Windows 10系统,MobaXterm远程ssh连接软件,Foxmail邮件客户端

  1. 本例使用 mail.2xinxian.top 作为邮件服务器的完整主机名。先到域名注册商或解析商设置相应的A和MX记录到VPS的公网IP 2.59.153.222
  2. 在Windows 10系统里,可使用 nslookup mail.2xinxian.top 和 nslookup -type=mx 2xinxian.top 的命令来测试域名的A和MX解析记录是否生效
  3. ssh root@2.59.153.222 # 在Windows 10里,使用MobaXtrem软件ssh连接到韩国机房的VPS
  4. cat /etc/debian_version # 确认Debian的发行版本,本例是 Debian 9.1
  5. wget smtp.qq.com:25 # 测试是否能连接外网25端口发信。本例是测试腾讯的发信服务器,显示 connected 可连接结果后,可按 Ctrl + C 键停止连接
  6. hostname mail # 设置主机名为mail
  7. 编辑 /etc/hosts 文件内容,添加 mail.2xinxian.top mail 到127.0.0.1 开头的行 # 设置完整的主机名称为 mail.2xinxian.top
  8. hostname -f # 检查设置的完整主机名是否生效
  9. apt install postfix sasl2-bin # 安装 postfix 和 sasl 软件。选择 Internet Site 来配置,填写 2xinxian.top 为邮件域
  10. apt install dovecot-core dovecot-pop3d dovecot-imapd # 安装 dovecot 和相关组件
  11. apt install mailutils # 安装如mail命令等软件
  12. adduser lilei # 添加 lilei 用户,且设置密码
  13. 编辑 /etc/postfix/main.cf 文件,添加sasl登录和指定用户邮箱存储目录,添加的内容如下:

    # SMTP-Auth settings
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = private/auth
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_security_options = noanonymous
    smtpd_sasl_local_domain = $myhostname
    smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject
    
    home_mailbox = Maildir/
  14. 编辑 /etc/dovecot/conf.d/10-auth.conf 文件,允许 plaintext 登录 及允许 login

    disable_plaintext_auth = no
    auth_mechanisms = plain login
  15. 编辑 /etc/dovecot/conf.d/10-mail.conf 文件,更改用户邮箱存储目录
    mail_location = maildir:~/Maildir
  16. 编辑 /etc/dovecot/conf.d/10-master.conf 文件,设置用户验证方式

     unix_listener /var/spool/postfix/private/auth {
    mode = 0666
     }
  17. systemctl restart postfix # 重启 postfix 服务,令配置更改生效
  18. systemctl restart dovecot # 重启 deovecot 服务,令配置更改生效
  19. 在foxmail邮件客户端里新建账号(选择其它类型),“Email地址”填写 lilei@2xinxian.top,密码填写之前新建账户时设置的
  20. 如未自动识别到到POP3和SMTP的服务器地址,可手工填写 mail.2xinxian.top,端口分别是110和25
  21. 通过Foxmail邮件客户端,成功向外域用户发送邮件
  22. 通过foxmail邮件客户端,成功收取外域用户回复的邮件
  23. 如收发信出错,可以查看日志文件内容 /var/log/mail.log

参考: