我打算使用 IIS7 附带的 SMTP 服务器(用于网站),但后来我遇到了这个链接并开始担心(阅读已接受的解决方案),另一方面,我的预算有限,我不能负担得起购买 MS Exchange 或其他昂贵的服务器,此外,我正在为我的应用程序使用 ASP.NET,它与 IIS SMTP 服务器配合得很好(我打算使用取件文件夹传送选项,这尤其适用于 Web 应用程序这样用户就不必等到消息发送完毕)。
我听说过 hmailserver,但它似乎没有选择文件夹选项(虽然不完全确定,所以如果我错了,请纠正我)。我也不知道性能是否比IIS SMTP服务器更好。如果这足够好,我可能可以从 IIS SMTP 服务器中继到 hmailserver,以便我仍然可以使用拾取文件夹选项。抱歉,如果我听起来像是在自言自语,但我正在努力寻找最佳选择,目前还不清楚。
任何建议将不胜感激...
检查 SMTP 服务器是否启用 SSL 的最佳方法是什么?
后续问题:如果它尚未启用 SSL,如何使其启用 SSL。
操作系统是 CentOS。
我已将 sendmail 配置为通过我的 GMail (Google Mail) 帐户发送电子邮件,即通过smtp.gmail.com编辑/etc/mail/sendmail.mc和重新生成 sendmail.cf:
-dnl define(`SMART_HOST',`smtp.your.provider')
+define(`SMART_HOST',`[smtp.gmail.com]')
-dnl define(`confAUTH_OPTIONS', `A p')dnl
+define(`confAUTH_OPTIONS', `A p')dnl
-dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
-dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
+TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
+define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`no_default_msa',`dnl')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
+FEATURE(`authinfo',`hash -o /etc/mail/authinfo.db')dnl
FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
-dnl MASQUERADE_AS(`mydomain.com')dnl
+MASQUERADE_AS(`gmail.com')dnl
Run Code Online (Sandbox Code Playgroud)
以上是我对 sendmail.mc 更改的缩短差异。
我/etc/mail/authinfo使用我的凭据(我的 GMail 帐户的用户名和密码;已编辑)创建:
AuthInfo:smtp.gmail.com "U:user@gmail.com" "P:password" "M:PLAIN"
AuthInfo: "U:user@gmail.com" "P:password" "M:PLAIN"
Run Code Online (Sandbox Code Playgroud)
但是此设置使“sendmail”使用 smtp.gmail.com …
我一直试图弄清楚这是一个新的“功能”还是我的配置有问题。我使用带有 Postfix 作为 MTA 的 Ubuntu 10.04 桌面。我的 smtp(与 smtpd 相反)配置遵循 Jeremy 在这里的出色回复中概述的内容:
配置 Postfix 以通过端口 587 发送/中继电子邮件 Gmail (smtp.gmail.com)
我能够通过 [smtp.gmail.com]:587 成功中继邮件;但是,在接收端,from: 地址显示:“[my_gmail_username]@gmail.com”而不是“[my_user]@[my_domain]”。
非常感谢任何提示或技巧;在这种情况下,我的 Google 技能失败了!
在查找 SMTP 错误代码时,我有时会看到“550”或“5.5.0”。有时虚线代码中的数字不同。
我找到了RFC 821 中定义的数字代码和RFC 3463 中的虚线代码。
这只是同一事物的不同符号,还是不同?如果它们不同,协议的哪些部分负责返回每个代码,为什么不同的代码?
我正在寻找一个非常简单、轻量级的 SMTP 服务器来在 Ubuntu 9.04 VPS 上运行。
我需要的唯一功能是支持 PHP 邮件命令;
<?php
mail('caffeinated@example.com', 'My Subject', 'My message');
?>
Run Code Online (Sandbox Code Playgroud)
这就是它需要做的全部。对于入站邮件,我不需要日志记录、POP3、IMAP 或其他任何东西 - 只是简单的纯文本 SMTP。电子邮件将没有文件附件。
任何建议都非常感谢。
环境:
我们的网络应用程序和许多应用程序一样,需要发送邮件。只发送,不接收。
过去,我们在每个 Web 服务器上都启用了 IIS 6 SMTP 服务,并使用 .NET SMTP 类将邮件文件放入拾取文件夹中。工作正常。
为了简化环境并在 Web 服务器上运行更少的服务,我正在考虑仅在一个实用的 Windows 服务上运行 SMTP 服务的可行性,并使用文件共享。ASP.NET Web 应用程序将简单地将它们的邮件文件放在共享的拾取文件夹中,并且单个 SMTP 服务将处理所有 Web 服务器的外发邮件流。我不担心 SMTP 服务的容量或能力跟上,这不会成为问题。
优点:
缺点:
这会起作用吗?
编辑:更多地考虑我对离线文件的想法,我不确定这是最好的方法。脱机文件需要一个计划任务来安排同步,每次运行时,我都会在每个其他服务器的本地缓存中提取所有其他 Web 服务器的邮件文件。也许更好的主意是将文件堆积在本地文件夹中,并且其他一些作业(计划的 robocopy)尝试在它启动时将它们复制到远程文件共享。曾考虑过 DFSR,但同样,我会将所有邮件文件移动到所有 Web 服务器,这很浪费。
由于 PCI-DSS,我们需要禁用明文身份验证。我们通过在端口 465 上使用 TLS 封装邮件服务器和客户端之间的通信来实现这一点。
问题在于端口 25 必须保持打开和未加密状态才能从 Internet 接收电子邮件,但不应允许进行身份验证。
我尝试禁用 AUTH 命令,但这也会破坏端口 465 上的身份验证。
是否有邮件服务器或代理允许对端口 25 和 465 进行单独配置,以便仅通过安全通道进行身份验证?
同样值得注意的是:我们在 FIPS 模式下使用 MailEnable 和 stunnel。
MailEnable 提供了一个修补的 SMTP 可执行文件,它允许我通过 Windows 的注册表配置是否在每个侦听端口上提供授权。这解决了我的问题——希望他们将补丁发布为修补程序。
考虑一台运行 SMTP 服务器的简单 FreeBSD 机器 - 我如何自动验证它是否在做正确的事情(例如,接受某些收件人的传入 SMTP 连接,并将邮件放入某些 Maildir 中)?
我们已经使用了服务器监控软件(在这个 cas 中,Nagios),当然我们也进行了手动测试,但我想知道:是否有一些通用的方法可以对服务器服务运行自动功能测试?
我正在考虑的一个例子:当重新配置我们的服务器时(这通常发生在 VM 内以进行测试),我正在考虑
我想能够为其他服务执行一系列这样的测试(例如测试可以创建备份,测试 IMAP 服务器接受某些用户的连接并列出正确的邮件)可能对测试配置更改有用,或者用于验证恢复的系统备份是否按预期工作。
我应该什么时候使用defer,什么时候使用reject?
就我而言,有 postfix 正在运行。参数smtpd_relay_restrictions默认为defer_unauth_destination,而Access 自述文件建议reject_unauth_destination。