我在这里遇到了一些烦人的情况。
我有一台由 plesk 管理的服务器。在 /etc/apache2/apache2.conf 中,会发生基于 mod_headers 和 mod_expires 的配置。例如:
<filesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>
Run Code Online (Sandbox Code Playgroud)
这工作得很好。
我的某些应用程序有问题。如果需要,我希望应用程序保持对缓存的控制。目前这是不可能的,因为标头设置在将响应返回给客户端之前立即发生,这意味着在应用程序完成所有操作之后。应用程序设置的标头将被覆盖。
Header merge Cache-Controll...
Run Code Online (Sandbox Code Playgroud)
不工作,因为它只是附加给定的标题字符串。而且我怀疑浏览器是否会像我希望的那样处理这样的标题:
Cache-Control max-age=0, no-cache, no-store, must-revalidate, max-age=604800, public
Run Code Online (Sandbox Code Playgroud)
我现在的问题是:是否有可能仅在特定标题“字段”中绝对没有内容时才设置标题?我不希望我的应用程序设置任何环境变量,因为不应更改应用程序以满足一台服务器的需求。
我还尝试过 - 仅用于测试目的 - 通过 vhost.conf 为特定域取消设置标头。但是它会在 apache2.conf 中的头设置之前执行,这意味着它们也会被覆盖。
我正在将邮件发送到 Postfix 邮件服务器。
else%2bsomething@domain.com
:(它基本上是 的 url 编码版本else+something@domain.com
,它应该是 RFC 有效的。)NOQUEUE: reject: RCPT from randostring.outbound.protection.outlook.com[...]: 454 4.7.1 <else%2bsomething@domain.com>: Relay access denied; from=<john.doe@live.com> to=<else%2bsomething@domain.com> proto=ESMTP helo=<morerando.outbound.protection.outlook.com>
generic_checks: name=defer_unauth_destination status=2
,我认为这是这里的问题。$virtual_alias_domains
创建上述日志消息期间不会对其进行查询。我认为它可能会被缓存一段时间,但我在这里可能完全错了。我尝试过的:
allow_percent_hack
看看是否是这个原因,我被拒绝了。任何设置都没有任何变化。recipient_delimiter
为 '%',这并没有改变任何东西。我的问题:如何强制 postfix 发送此电子邮件?我真的不需要永久的解决方案,因为我认为这是一个边缘情况。
加分项,如果你能向我解释为什么没有收到这封电子邮件,因为我真的很想知道为什么会这样。:)
编辑#1:
我发现工作和非工作消息的标志不同。
Flag: 1024
Flag: 1026
通过查看源代码中的不同位置(标志定义: https : //github.com/vdukhovni/postfix/blob/bfff4380a3b6fac2513c73531ee3a79212c08660/postfix/src/global/resolve_clnt.h#L36 usage- L37和github.com/vdukhovni/postfix/blob/ed3f86da7c3e15cf1ec57241c1f6036d82b790da/postfix/src/trivial-rewrite/resolve.c#L467-L468),我发现,那只要还有另外一个@
,!
或者%
在电子邮件地址,它套一个routed
标志,稍后处理。
我还没有发现的是,我怎么能 …
我有一个可以通过server.com
它访问的服务器,它有一个使用 hostname 运行的 postfix 邮件服务器gaia.server.com
。因为反向 DNS 仅用于邮件目的(afaik),所以我将服务器 ip 的反向 DNS 条目更改1.2.3.4
为gaia.server.com
,这完全正常。
我将此插入到我的域 DNS 服务器的 TXT 条目中: v=spf1 mx ip4:1.2.3.4 -all
这个记录是由这个工具创建的。
现在我想从email1@server.com
or发送电子邮件email2@different-domain.com
,它是指向与server.com
.
现在我使用http://www.brandonchecketts.com/emailtest.php来测试这个配置。它给了我gaia.server.com
asHelo Address
和email1@server.com
as From Address
。但随后它会查找From Address
域的 SPF 记录server.com
。
如果我错了,请纠正我,但我认为它会查找邮件服务器 ip,将其反转为主机名,然后检查该主机名的 SPF。还是我错了,反向检查只是垃圾邮件检查的另一部分?
我的问题是:我需要如何配置以及配置什么才能使 SPF 记录适用于该服务器发送的所有域。如果可能的话,我不想在每个域中都放置一个硬编码的 IP 地址。对于这种情况,最佳做法是什么?
感谢您提前阅读和帮助:)