我想在本地环境中运行生产服务器的临时副本。该系统运行一个 PHP 应用程序,该应用程序在各种情况下向客户发送电子邮件,我想确保永远不会从临时环境发送电子邮件。
我可以调整代码,使其使用虚拟电子邮件发件人,但我想运行与生产环境完全相同的代码。我可以使用不同的 MTA(Postfix 正是我们在生产中使用的),但我想要在 Debian/Ubuntu 下易于设置的东西:)
因此,我想设置本地 Postfix 安装以将所有电子邮件存储在(一个或多个)文件中,而不是中继它。实际上,我并不真正关心它是如何存储的,只要可以检查发送的电子邮件即可。即使是告诉 postfix 将电子邮件保留在邮件队列中的设置选项也可以工作(当我使用生产副本重新加载临时服务器时,我可以清除队列)。
我知道这是可能的,我只是没有在网上找到任何好的解决方案来满足似乎相当普遍的需求。
谢谢!
我正在考虑在一个额外的小型 Azure VM 上设置一个简单的 SMTP+IMAP 电子邮件服务器供内部使用的可能性。当我说内部使用时,我的意思不是“由内部用户使用”,而是作为更大系统的一部分使用,并服务于接收电子邮件以进行审计/日志记录的主要目的,然后根据规则进行处理,触发动作。有时可能会有自动回复。
我的问题是是否可以在 Azure VM 中托管一个简单的电子邮件服务器,因为我在 Internet 上通过初步搜索看到的是 Azure 不支持反向 DNS(尽管现在他们确实分配了几乎静态的 IP),这将导致偶尔自动回复外发邮件被标记为垃圾邮件。
我的问题是:是这种情况还是有一些设置可以解决这个问题?
注意:这只是初步研究类型的问题。我不是管理员。
编辑:对于那些会跳进去说使用 SendGrid 的人。我不会发送时事通讯,而是主要接收电子邮件。此外,Azure 超小型实例每月 9 美元,而 SendGrid 推送 API(不会像我希望的那样让轮询)起价为 90 美元/月,是成本的十倍。
编辑 2:我的偏好是实现基于轮询的系统(每 X 小时轮询服务器以获取新电子邮件),而不是实现基于推送+队列的系统(大多数 3rd 方服务提供推送 API,将每封电子邮件推送到网址)
编辑 3:我不想使用 3rd 方服务,因为我不希望电子邮件和附件的内容通过它们。
编辑 4:看,我不是在寻找关于如何设置它或使用哪个 3rd 方服务的建议。我要问的是“是否可以设置一个电子邮件服务器,它可以接收电子邮件并偶尔发送由于 Azure 的限制而不会被标记为垃圾邮件的电子邮件?如果有限制 - 这些是什么以及如何他们被解决了吗? ”
假设我拥有域名example.org。我正在创建一个设置,用于接收使用 Google Apps发送到me@example.org 的电子邮件。example.org的 MX 记录已经指向 Google 的服务器,并且效果很好。现在,我有一个应用程序服务器,我想在其中发送自动电子邮件,例如有关用户活动的通知等。我还可以使用此服务器发送大量电子邮件,例如时事通讯(当然,这是合法的)。在这里,我可以选择为我所有的自动外发电子邮件使用一个子域。也许我可以从service@mail.example.org发送这些电子邮件,并将 Reply-To 标头设置为service@example.org,然后将其定向到我的 Google 帐户以供真人回答。
我的问题是:从带有子域的电子邮件地址发送自动电子邮件有什么额外的好处吗?
注意:我已经采取措施使用 SPF 和 DKIM 从应用服务器验证我的电子邮件。我听说一些接收邮件的服务器也会做反向 MX 检查,以确定您的电子邮件是否是垃圾邮件。如果这是真的(?),我假设子域会很有用,因为我可以为mail.example.org创建一个单独的 MX 记录以指向我的应用程序服务器,同时在 Google 上保留其他 MX 的example.org .
除此之外,还有其他原因我会使用子域吗?我注意到这在来自 Groupon、西南航空公司、Office depot 和无数其他时事通讯服务(有时它们使用完全不同的域)的电子邮件中很常见,但我一直无法弄清楚原因。
我有一个带有多个域的服务器。如何清除特定域的所有 Postfix 队列消息?
我读到有一个选项可以使用 Gmail 作为您的主要邮件服务器。从某种意义上说,您可以添加 mx 记录等,而不必在自己的服务器上进行。
您认为这是安全方面的推荐设置吗?Gmail 会为您对抗病毒、垃圾邮件和暴力攻击吗?
[更新]
我看到这篇文章受到了一些人的关注。我必须说,在这篇文章之后,我将整个通信系统切换到了谷歌。通信是电子邮件、日历、文档等。我必须说,在我看来,这是我们迈出的最好的一步。
[切换虚拟主机]
我们是一家初创公司,由于配置/价格等原因,我不得不频繁切换虚拟主机和服务器。每次切换我都必须设置所有网站,每次电子邮件地址时,总是丢失另一台服务器上的电子邮件。让您的电子邮件“在云端”。您的电子邮件总是在一个地方,您只需在切换托管服务提供商时设置网站。
[服务器安全]
另一个大问题是安全性。我们不得不转移到一个专用的,具有更大的权力。更大的力量带来了更大的复杂性。我现在必须使用 linux,并构建自己的可靠服务器,对外界有很好的保护。我不得不说我对我们每天收到的攻击数量感到惊讶。作为蛮力黑客,嗅探等。经过几个月的工作,我终于建立了一个有点“安全”的系统。我认为唯一的弱点是电子邮件系统。获得良好的垃圾邮件保护,我不知道还有什么样的风险。现在这已成为过去,因为公司的所有电子邮件都已安全发送并防止垃圾邮件。
[服务器性能]
另一个小好处是电子邮件程序使用的资源。我现在没有在机器上运行任何垃圾邮件保护或防病毒软件,这肯定是一个小好处。
[结论]
最后服务很棒。有很多同步选项,也适用于移动设备。作为一家小公司,这对我们来说很难在我们的主服务器上进行设置,因此让所有这些工作都在云端进行是一件很棒的事情。
我注意到一些邮件头联系了一个名为的字段received : from ,它包含一个 ip 地址。
即使他使用 Web 界面或服务器,此地址是否指的是发件人机器?
我将 haraka 设置为我们的邮件服务器,对于出站电子邮件,它建议移动到端口 587 以支持 SMTPS 身份验证。但是,我不确定我是否应该
应该遵循哪一个?
我想使用 Postfix 设置辅助 MX 服务器,但我想知道在投入生产之前测试它的最佳方法是什么(通过添加其 MX 条目)?
一种可能的方法是使用完全不同的域名对其进行测试,即购买像“fake-test-domain.com”这样的域,并仅使用此备份 MX 服务器设置其 DNS 区域。
有什么更简单的方法可以强制邮件服务器在 DNS 中列出邮件之前向该服务器发送邮件?
我不认为我可以在发送系统上使用主机文件,因为那不会模拟 MX 记录,对吗?
我已经用筛网过滤配置了 dovecot(我也配置了圆形立方体,但我认为这并不重要)。
它工作正常,我已经设置了一些过滤器。但是现在我有一个巨大的未过滤的 INBOX 文件夹,我不想手动过滤它。
有什么办法可以说:“嘿,筛子!扫描指定用户的指定文件夹并对其调用一些过滤器!” ?
为两种协议启用了 Sieve 作为插件:lda 和 lmtp:
protocol lda {
mail_plugins = $mail_plugins sieve
}
protocol lmtp {
postmaster_address = postmaster@example.com
mail_plugins = sieve
}
Run Code Online (Sandbox Code Playgroud)