标签: smtp

如何设置 sendmail 将所有邮件转发到外部 MTA?

我们有多个应用程序当前将 SMTP 与外部 MTA 通信。这些电子邮件具有任意目标域(它们是要发送给我们用户的电子邮件),但都来自同一个内部域 (support@company.com)。

我想设置一个内部 MTA(我猜是使用 sendmail)将所有邮件排队,并让内部 MTA 将这些电子邮件转发到外部 MTA,因为外部 MTA 偶尔会出现故障,这会导致我们的应用程序出现各种问题。我想我可以将 sendmail 设置为排队中间件。

如果上述假设是正确的,那么 sendmail 的配置会是什么样的?'mailertable' 功能看起来很有前途,'SMART_HOST' 也是如此。

在我探索这些可能性之前有什么想法吗?

smtp sendmail

9
推荐指数
2
解决办法
2万
查看次数

554 - 发送 MTA 的坏名声

我在 77.245.64.44 上运行电子邮件服务器,最近开始在远程传送使用该服务器发送的电子邮件时遇到问题。只有大约 5% 的收件人拒绝了电子邮件,但他们都共享以下共同信息......

远程主机说: 554 由于发送 MTA 的声誉不佳,您对该邮件系统的访问已被拒绝。

据我所知,我的服务器不在任何黑名单上,并且设置正确(反向 DNS 检查等等)。我什至不确定“发送 MTA”是什么,但我认为它是我的服务器。

如果有人能对此有所了解,我将不胜感激!


这是完整的退回消息...

无法将邮件传递给以下收件人:

失败的收件人:someone@sunday-times.co.uk
原因:远程主机说: 554 由于发送 MTA 的声誉不佳,您对该邮件系统的访问已被拒绝。如果您认为此失败是错误的,请通过其他方式联系预期的收件人。

   -- 消息的标题和前 20 行如下 --

收到:来自 79-79-156-160.dynamic.dsl.as9105.com [79.79.156.160] 通过 mail.fruityemail.com 和 SMTP;
   2009 年 9 月 3 日星期四 18:15:44 +0100
来自:“菲尔·威尔克斯” 
到: 
主题:测试 
日期:2009 年 9 月 3 日星期四 18:16:10 +0100
组织:果味解决方案
消息 ID: 
MIME 版本:1.0
内容类型:多部分/替代;
    边界="----=_NextPart_000_01C2_01CA2CC2.9D9585A0"
X-Mailer:Microsoft Office Outlook 12.0
线程索引:Acosujo9LId787jBSpS3xifcdmCF5Q==
内容语言:en-gb
X-CR-hashedpuzzle:ADYN AzTI BO8c BsNW CQG / D10y E0H4 GYjP HZkV Hc9t ICRU JPj7 …

email smtp

9
推荐指数
1
解决办法
7万
查看次数

以大约 1000 个字符标记插入电子邮件中的感叹号

有一个 .NET 程序,它使用 System.Net.Main 命名空间通过 SMTP 发送电子邮件。

它位于客户站点上,因此在到达目的地之前,它将通过(一系列?)SMTP 中继服务器。

目前我没有关于这个 smtp 重播/电子邮件基础设施的信息(并且获取这些信息将很困难)。

沿着这条线的某个地方,一个感叹号被插入到电子邮件的长 URL 中,从一行的开头开始大约 100 个字符。

编辑-实际上已经找到了大约 1000 个字符

这不会发生在测试系统或数百个其他站点上。

我确信这必须与转义码有关,以打破长队。

有人有任何想法吗?

smtp

9
推荐指数
1
解决办法
4241
查看次数

IIS6 虚拟 SMTP 服务器在系统重新启动后不会自动恢复

我有一个运行 Win2008 RC2 的虚拟服务器。我已经在 IIS6 上设置了一个虚拟 SMTP 服务器,作为我在那里托管的网站的邮件提供程序。一切都很好,但是如果由于某种原因服务器重新启动(仍然启用自动更新 - 我正在尝试尽可能少地工作,因为我们有很多客户端),IIS6 不会重新启动SMTP 服务器。失败导致当前设置出现 500 个错误,所以我花了半天时间道歉。

有任何想法吗?

在服务中,我已将所有内容设置为自动恢复,但仍然没有骰子。

只要我重新启动 SMTP,就没有问题,所有邮件都会发送。它运行良好,只是不会自行重启。

我真的不想关闭自动更新,因为我们是一家小公司,每次 MS 决定有安全补丁时,我都无法抽出时间手动更新 15 个 Windows 副本。

所有建议表示赞赏!顺便说一句,我是这些论坛的新手。我搜索了但找不到答案,所以请善待。但坚定。我必须在这里学习。

windows smtp iis-6

9
推荐指数
2
解决办法
1万
查看次数

无法让 SASL auxprop/sasldb 与 postfix/Ubuntu 12.04 一起工作

我有一个运行 Postfix 2.5.1 的 Ubuntu 8.04LTS 系统。在该系统上 SMTP AUTH 运行良好。内容为 /etc/postfix/sasl/smtpd.conf

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN
Run Code Online (Sandbox Code Playgroud)

SASL 相关的属性是:

smtpd_sasl_type = cyrus
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $myhostname
Run Code Online (Sandbox Code Playgroud)

当我这样做时sudo sasldblistusers2

authusername@mail.mydomain.com: userPassword
Run Code Online (Sandbox Code Playgroud)

就像我说的,在 8.04LTS 系统上一切正常。

但是,我正在尝试将其迁移到运行 Postfix 2.9.3 的 Ubuntu 12.04LTS 系统,但我无法让它工作。我做的一切都是一样的,但是 postfix 每次都会导致身份验证失败。

这不是/etc/sasldb2文件。我试过从旧系统带过来文件,但不起作用。我使用以下命令创建了一个新文件:

saslpasswd2 -c -u mail.mydomain.com authusername
Run Code Online (Sandbox Code Playgroud)

而不起作用,但它WILL老系统上工作,如果我把它复制到旧的系统,这是我怎么知道有没有错的文件。

同样,我知道 postfix 正在查看该smtpd.conf文件。如果我mech_list在文件行中添加更多机制,当我连接到 smtpd 守护程序时,我会看到这些额外的机制被通告。当我删除它们时,它们又消失了。所以/etc/postfix/sasl/smtpd.conf显然正在被使用。 …

ubuntu smtp postfix smtp-auth sasl

9
推荐指数
2
解决办法
6887
查看次数

在 postfix 中,如何强制 tls + auth 超过 587,同时保留 tls 可选为 25

我想为某些域托管邮件服务。我已经成功地设置了 postfix 来为那些虚拟域查询 sql。我想做的是:

  • 对于 25 上的连接:

    1. 拒绝中继(仅传送给我的虚拟域的收件人)
    2. 保留 tls 可选,但仅当客户端执行 tls 时才提供身份验证
    3. 只接受未列入黑名单的客户端(例如限制来自垃圾邮件的 XBL+SBL+PBL)或执行 tls 和 auth 的客户端(“朋友邮件服务器”,设置为使用 auth 和 tls 向我进行身份验证)
  • 对于 587 上的连接:

    1. 强制执行 tls 和身份验证
    2. 允许中继。
    3. 仅接受未列入黑名单的客户端(与上述类似的黑名单但不进行 PBL 检查)

我的问题:

  • A. 我知道上面的 postfix 选项,但我找不到如何根据侦听端口区分它们。

  • B. 我是否会遇到使用上述政策的所谓合法客户的广为人知的问题?

我是邮件服务器设置的新手,对于任何无意义的问题/假设(请指出),我深表歉意。谢谢。

smtp postfix tls

9
推荐指数
1
解决办法
3万
查看次数

尽管存在 SPF“硬故障”,为什么电子邮件仍能正常发送?

我试图弄清楚为什么即使电子邮件标有 SPF ,也会将伪造的电子邮件发送给主要电子邮件提供商(gmail.com、outlook.com)hardfail。该电子邮件还会发送到 Microsoft Exchange,它会PermError为相同的 SPF 记录抛出一个。

我使用 SOME_DOMAIN.com 域发送电子邮件,该域定义了损坏的 SPF 记录。该电子邮件是从我自己的 IP 地址传输的,该地址未在 SOME_DOMAIN.com 的 SPF 记录中明确列出。SOME_DOMAIN.com 的 SPF 记录具有以下三个属性,前两个违反了 SPF RFC-4408:

  1. 由于include:.
  2. SPF 记录之一中的语法错误,python-spf 引发解析错误。
  3. SPF 记录包含规则~all-all,两者都表示所有地址的集合应该softfailhardfail

发送到 Outlook.com 地址冒充 admin@SOME_DOMAIN.com 的电子邮件将在已发送电子邮件的 SMTP 标头中包含以下错误。此电子邮件已正常发送到用户的收件箱

Received-SPF: PermError (: domain of SOME_DOMAIN.com used an invalid SPF mechanism)
Run Code Online (Sandbox Code Playgroud)

Gmail 还会将电子邮件发送到用户的收件箱,但会引发不同的 SPF 错误:

spf=hardfail (google.com: domain of admin@SOME_DOMAIN.COM does not designate x.x.x.x as permitted sender) smtp.mail=admin@SOME_DOMAIN.COM
Run Code Online (Sandbox Code Playgroud)

那么这里发生了什么?尽管有 …

email exchange smtp spf

9
推荐指数
2
解决办法
6081
查看次数

Postfix reject_unknown_reverse_client_hostname:将默认的 unknown_client_reject_code (450) 替换为 550。为什么/什么时候我不应该这样做?

在与垃圾邮件的日常战斗中,有几次我很想从疯狂的 Internet 连接的客户端中严格执行 DNS 要求。

详细地说,我会在我的smtpd_client_restrictions部分中添加reject_unknown_reverse_client_hostname设置,如下所示:

smtpd_client_restrictions = 
            permit_sasl_authenticated
            check_client_access hash:/etc/postfix/access 
            check_policy_service inet:127.0.0.1:4466
            reject_unknown_reverse_client_hostname
            reject_unauth_pipelining 
Run Code Online (Sandbox Code Playgroud)

无论如何,我注意到当遇到这样的限制时,Postfix 的行为非常“软”,因为默认值为unknown_client_reject_code450。因此,客户端被邀请继续重试。

在调查 550 响应时,我在Postfix 官方文档中遇到了以下声明:

在此处输入图片说明

我绝对不是整个RFC 5321的专家,但作为一个足够了解RFC 821 的人,我真的不明白为什么,550 响应而不是 450 会影响我的 Postfix 实例在最大 SMTP 级别(破坏 RFC 合规性),特别是考虑到在出现临时错误的情况下,无论显式设置如何,Postfix 都会坚持使用 450。

那么,有人可以帮助我了解这种替换有什么问题吗?


PS:与此同时,我以“宽松”的限制结束:

smtpd_client_restrictions = 
            permit_sasl_authenticated
            check_client_access hash:/etc/postfix/access 
            check_policy_service inet:127.0.0.1:4466
            warn_if_reject reject_unknown_reverse_client_hostname
            reject_non_fqdn_helo_hostname
            reject_unauth_pipelining 
            reject_invalid_helo_hostname 
Run Code Online (Sandbox Code Playgroud)

smtp postfix spam

9
推荐指数
1
解决办法
5124
查看次数

Windows Server 2012:无法安装 SMTP-Server,系统总是需要重新启动

我无法在 Windows 2012 服务器上安装“SMTP-Server”功能。安装过程总是失败并显示“需要重新启动”消息。重新启动和(重新)启动 SMTP-Server 功能后,系统需要重新启动。

我尝试使用安装向导和 PowerShell 安装该功能。

尝试使用 PowerShell 安装该功能时,错误如下所示:

PS > Install-WindowsFeature SMTP-Server
Install-WindowsFeature : Fehler bei der Anforderung zum Hinzufügen oder Entfernen von Features auf dem angegebenen
Server.
Der Vorgang kann nicht abgeschlossen werden, da der angegebene Server neu gestartet werden muss.
In Zeile:1 Zeichen:1
+ Install-WindowsFeature SMTP-Server
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : DeviceError: (@{Vhd=; Credent...Name=localhost}:PSObject) [Install-WindowsFeature], Exce
   ption
    + FullyQualifiedErrorId : DISMAPI_Error__Failed_Reboot_Required,Microsoft.Windows.ServerManager.Commands.AddWindow
   sFeatureCommand

Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
False …
Run Code Online (Sandbox Code Playgroud)

smtp windows-server-2012

9
推荐指数
1
解决办法
4049
查看次数

如何为 sendmail TLS_Rcpt 使用通配符?

sendmail 允许对 TLS 对话设置一个限制。我想检查发送到 example.com 的消息是否发送到具有 *.messagelabs.com 证书的服务器。我想防范 DNS 欺骗和 MitM。如果 messagelabs 只有一台服务器,那会很容易:

TLS_Rcpt:example.com VERIFY:256+CN:mx.messagelabs.com
Run Code Online (Sandbox Code Playgroud)

然而,messagelabs 有许多服务器和不同服务器的集群,它们具有相同名称的唯一 IP 和证书。一切都很好,我只想检查我向其发送邮件的服务器是否已被认证为属于 messagelabs。

我试过了

TLS_Rcpt:example.com VERIFY:256+CN:messagelabs.com
TLS_Rcpt:example.com VERIFY:256+CN:*.messagelabs.com
TLS_Rcpt:example.com VERIFY:256+CN:.*.messagelabs.com
Run Code Online (Sandbox Code Playgroud)

但我得到了类似的错误

CN mail31.messagelabs.com does not match .*.messagelabs.com
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?这是对我们的经常性请求(主要针对 TLS_Rcpt:example.com VERIFY:256+CN:*.example.com 等配置),所以我准备修改 sendmail.cf,但我无法理解

STLS_req
R $| $+         $@ OK
R<CN> $* $| <$+>                $: <CN:$&{TLS_Name}> $1 $| <$2>
R<CN:$&{cn_subject}> $* $| <$+>         $@ $>"TLS_req" $1 $| <$2>
R<CN:$+> $* $| <$-:$+>  $#error $@ $4 $: $3 " CN " $&{cn_subject} " does not match …
Run Code Online (Sandbox Code Playgroud)

email-server smtp sendmail tls

9
推荐指数
1
解决办法
829
查看次数