AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1002908
Accepted
Dushyant Joshi
Dushyant Joshi
Asked: 2020-02-14 00:26:01 +0800 CST2020-02-14 00:26:01 +0800 CST 2020-02-14 00:26:01 +0800 CST

无法使用 postfix-sendmail 发送邮件并被退回

  • 772

电子邮件未发送到以 domainname.co 作为域名的电子邮件地址。

我在 Ubuntu 系统中有三个用户,即 root、ubuntu 和域名。

以下是日志(tail /var/log/mail.log -n 20)

Feb 19 04:36:56 server postfix/pickup[22963]: 521A0106D3A: uid=1003 from=<domainname>
Feb 19 04:36:56 server postfix/cleanup[26043]: 521A0106D3A: message-id=<[email protected]>
Feb 19 04:36:56 server postfix/qmgr[14300]: 521A0106D3A: from=<[email protected]>, size=357, nrcpt=1 (queue active)
Feb 19 04:36:58 server postfix/smtp[26045]: 521A0106D3A: to=<[email protected]>, relay=in.hes.trendmicro.com[54.219.191.20]:25, delay=1.9, delays=0.01/0.01/1.6/0.21, dsn=5.7.1, status=bounced (host in.hedmicro.com[54.219.191.20] said: 550 5.7.1 <[email protected]>: Recipient address rejected: ERS-DUL. (in reply to RCPT TO command))
Feb 19 04:36:58 server postfix/cleanup[26043]: 732DD106D41: message-id=<[email protected]>
Feb 19 04:36:58 server postfix/bounce[26046]: 521A0106D3A: sender non-delivery notification: 732DD106D41
Feb 19 04:36:58 server postfix/qmgr[14300]: 732DD106D41: from=<>, size=2368, nrcpt=1 (queue active)
Feb 19 04:36:58 server postfix/qmgr[14300]: 521A0106D3A: removed
Feb 19 04:36:59 server postfix/smtp[26045]: 732DD106D41: to=<[email protected]>, relay=in.hes.trendmicro.com[54.219.191.21]:25, delay=1.5, delays=0/0/1.3/0.21, dsn=5.7.1, status=bounced (host in.hes.trendmicro.com[54.219.191.21] said: 550 5.7.1 <[email protected]>: Recipient address rejected: ERS-DUL. (in reply to RCPT TO command))
Feb 19 04:37:00 server postfix/qmgr[14300]: 732DD106D41: removed

/etc/postfix/main.cf的内容

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = server.domainname.co
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
#myorigin = /etc/mailname
myorigin = $mydomain
mydestination = $myhostname, server, localhost.domainname.co, localhost
#smtp_generic_maps = texthash:/etc/postfix/generic
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
virtual_alias_maps = hash:/etc/postfix/virtual
sender_bcc_maps = hash:/etc/postfix/bcc
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
home_mailbox = Maildir/
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
smtp_tls_security_level = may
allow_percent_hack = no

我正在用下面的脚本检查这个。

$sender = '[email protected]';
$recipient = '[email protected]';

$subject = "php mail test";
$message = "php test message";
$headers = 'From:' . $sender;

if (mail($recipient, $subject, $message, $headers)) {
        echo "Message accepted";
} else {
        echo "Error: Message not accepted";
}

更新:当前的答案将无济于事,因为在 main.cf 文件中的一些配置更改后错误代码发生了变化。

ubuntu php postfix email-bounces
  • 3 3 个回答
  • 1314 Views

3 个回答

  • Voted
  1. Best Answer
    Anderson Medeiros Gomes
    2020-02-20T02:30:49+08:002020-02-20T02:30:49+08:00

    消息:

    Feb 19 04:36:59 server postfix/smtp[26045]: 732DD106D41: to=<[email protected]>, relay=in.hes.trendmicro.com[54.219.191.21]:25, delay=1.5, delays=0/0/1.3/0.21, dsn=5.7.1, status=bounced (host in.hes.trendmicro.com[54.219.191.21] said: 550 5.7.1 <[email protected]>: Recipient address rejected: ERS-DUL. (in reply to RCPT TO command))
    

    表示 SMTP 服务器in.hes.trendmicro.com[54.219.191.21]拒绝邮件,因为它们来自Dynamic/Dialup Users List中列出的源 IP 地址。大多数邮件服务器只接受来自静态 IP 地址的邮件以减少垃圾邮件流量。

    根据此处提供的说明,您可能需要与您的互联网提供商联系并要求他们从 ERS-DUL 黑名单中删除您的 IP 地址:

    动态用户列表 (DUL) 数据库 这包含来自 ISP 的 IP 地址或 IP 块,用于作为垃圾邮件来源的拨号用户。

    要从数据库中删除 IP,用户应执行以下任一操作:

    • 联系 ISP,后者将通过以下方式提出请求:

      • 电子邮件:[email protected]
      • 网络表格:全球黑名单例外表格

      提供您要删除 IP 地址的原因。

    • 在自己的邮件服务器上配置邮件客户端,通过 ISP 指定的邮件中继中继出站邮件。

    • 4
  2. software is fun
    2020-02-14T05:20:16+08:002020-02-14T05:20:16+08:00

    错误代码 554 表示 IP 阻止:远程邮件服务器当前不接受来自服务器 IP 地址的电子邮件。此 IP 阻止可能是由于先前观察到相关 IP 地址的电子邮件数量异常。

    您需要联系 Apple 的人员来解决此问题,或向您的 ISP 索要新 IP。请注意,获得新 IP 并不能保证解决您的问题。很多时候,公司可能会因为个人滥用它而阻止一系列 IP。(发送垃圾邮件、DDOS 攻击等)。

    联系 Apple 有点棘手,但您可以拨打他们的 800-275-2273 并寻求企业支持或在线服务。有人可能会接受您的请求并将其重定向给适当的人。你可能没有收到他们的回复,所以你必须继续努力。

    • 2
  3. SmileMZ
    2020-02-23T10:48:18+08:002020-02-23T10:48:18+08:00

    最好不要重写你的脚本是在你的本地机器上设置一个邮箱,最好使用监听 127.0.0.1 的 dovecot

    您的公共 IP 地址(拨入),最好为您在您的域中使用的广告系列设置一个静态地址。

    1) 创建一个 MX-Record 并将您的公共 IP 地址放在那里(最好是静态的) 2) 在 mandrill、mailjet.com 上注册并订购一个包裹并按照步骤操作。

    3)创建一个名为: /etc/postfix/sasl_passwd 的文件,其内容为:

    [smtphost.provider.com]:port username:password
    

    用您的邮件提供商的 smtp 替换括号中的内容,用端口号以及电子邮件地址和密码替换端口。

    4) 运行 /usr/sbin/postmap /etc/postfix/sasl_passwd

    在 main.cf 末尾添加内容:

    relayhost=[in-v3.mailjet.com]:587
    smtp_sasl_auth_enable=yes
    smtp_sasl_security_options=noanonymous
    smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
    smtp_use_tls=yes
    

    (我以 mailjet 为例)

    那么您可以通过此提供商发送您的广告系列,而不是来自拨号地址的广告系列,您的邮件应该可以毫无问题地传递。

    请注意保持要发送的邮件的质量。

    发送垃圾邮件也很容易被阻止并且是非法的......

    但是,如果您想不时为您的客户运行您的广告系列,那么这是最好的方法。

    • 1

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve