为什么 sendemail 不再与新的 SMTP 服务器配合使用?

为什么 sendemail 不再与新的 SMTP 服务器配合使用?
  • 我通常不需要花太多功夫来设置 Ubuntu 电子邮件,所以我基本上是个初学者,请多包涵。
  • 我有发送电子邮件 1.56由 Brandon Sehm 在 Ubuntu 14.04.02LTS 上编写。Ubuntu 机器名称为“ubuntucomp.net”。Sendemail 是唯一不需要 MTA 和完整注册域名地址的邮件包。我的 VM Ubuntu 机器没有注册域名,因为我只想在本地网络内发送电子邮件。
  • 电子邮件仅从 ubuntu.net 发出。无需接收电子邮件。
  • 我使用 Sendemail 从命令行发送带有附件的电子邮件,这些附件是 Perl 文件的备份。备份由 cron 运行,作业会备份文件并将其通过电子邮件发送到我的工作地址,[电子邮件保护],在我们的网络内。
  • smtp.mywork.com 使用非标准端口 2500,我在 sendemail 命令行上指定了该端口:sendemail -f [email protected] -t [email protected] -u "Perl test ubuntu backups $zipfile" -s smtp.mywork.com:2500 -l $basedir/smtp.log -S /usr/sbin/sendmail -a $zipfile < $basedir/mailbody.txt
  • Sendemail 似乎使用 /usr/sbin/sendmail。
  • Sendemail 无法使用的新 smtp 服务器是 smtp.mywork.com。它不需要用户名和密码进行身份验证,但发件人:地址必须是“[电子邮件保护]“。
  • 我永远不会拥有 smtp.mywork.com 的管理员权限,其他人也没有。所以我们不要去那里。我必须解决这个问题。我知道这很愚蠢,但我对此无能为力。
  • 此外,新的 smtp.mywork.com 与在同一台机器上运行的其他 perl 程序配合良好,但不能与命令行中的 sendemail 配合使用。

Sendemail 在一台 Godaddy 服务器上运行良好,但现在我必须更换服务器,使用我们自己网络中的一台服务器,名为 smtp.mywork.com,由其他人设置。此外,新的 smtp.mywork.com 可以与我的其他 perl 程序配合使用,但不能与 sendemail 配合使用。我仔细检查了手册页,在 Google 上搜索答案,但找不到任何有用的信息。

The original message was received at Thu, 6 Aug 2015 13:49:44 -0400
from localhost [127.0.0.1]

   ----- The following addresses had permanent fatal errors -----
<[email protected]>
    (reason: 550 relay not permitted)

   ----- Transcript of session follows -----
... while talking to mywork.com.:
>>> DATA
<<< 550 relay not permitted
550 5.1.1 <[email protected]>... User unknown
<<< 503-All RCPT commands were rejected with this error:
<<< 503-relay not permitted
<<< 503 Valid RCPT command must precede DATA

[ Part 2: "Delivery Status" ]

Reporting-MTA: dns; ubuntucomp.net
Received-From-MTA: DNS; localhost
Arrival-Date: Thu, 6 Aug 2015 13:49:44 -0400

Final-Recipient: RFC822; [email protected]
Action: failed
Status: 5.1.1
Remote-MTA: DNS; mywork.com
Diagnostic-Code: SMTP; 550 relay not permitted
Last-Attempt-Date: Thu, 6 Aug 2015 13:49:44 -0400
Return-Path: <[email protected]>
Received: from ubuntucomp.net (localhost [127.0.0.1])
        by ubuntucomp.net (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id
t76Hni3S011456
        for <[email protected]>; Thu, 6 Aug 2015 13:49:44 -0400
Received: (from chuck@localhost)
        by ubuntucomp.net (8.14.4/8.14.4/Submit) id t76HniR9011455;
        Thu, 6 Aug 2015 13:49:44 -0400
Message-ID: <741542.889128567-sendEmail@ubuntucomp>
From: "[email protected]" <[email protected]>
To: "[email protected]" <[email protected]>
Subject: Perl prod ubuntu backups /home/comp/perl/backprod-ub20150806.zip
Date: Thu, 6 Aug 2015 17:49:44 +0000
X-Mailer: sendEmail-1.56
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----MIME delimiter for
sendEmail-327729.490659298"

当我尝试使用 Sendemail 时,Sendemail 说电子邮件已发送,事实也确实如此,但我立即收到一条错误消息,如上所示。我的问题。

  1. 哪个软件向我发送电子邮件错误?是来自我的 Ubuntu 机器吗?如果是,我必须更改哪些配置文件才能使其与 smtp.mywork.com 兼容?
  2. sendemail 在将电子邮件从机器发送电子邮件之前是否会读取 Ubuntu 上的配置文件?
  3. 我该如何修复此问题以使 Sendemail 可以正常工作?
  4. 为什么我的错误信息也显示?这是根本问题吗?550 5.1.1 <[email protected]>... User unknown

谢谢你!

答案1

配置时出现问题sendmailSendmail不允许域mywork.com发送邮件。

要允许从mywork.com域发送邮件,请执行以下操作。编辑/etc/mail/relay-domains

 sudo nano /etc/mail/relay-domains

最后简单添加域名

 mywork.com

编辑后重新启动sendmail服务

 sudo service sendmail restart

相关内容