[英]Send email on behalf of someone with their permission
我见过一些代表用户发送 email 的站点,但是当 email 通过它时,它似乎只是来自用户。 例如在网站上联系 forms。
我希望做同样的事情,但显然是在用户许可的情况下。 这是否可以在 C# 代码或类似的服务中做到,这些服务不会 go 到垃圾邮件/垃圾文件夹?
理想情况下,来自/回复 email 地址应该从用户那里出现,并且只要我得到他们的许可,就不会通过正确的服务器被阻止,即 go。
您可以这样做的唯一方法是,如果他们发送的域将您的域的 SPF 添加到他们的SPF 记录中,并且可能他们发布了您持有其私钥的 DKIM 记录。 实际上,对于允许任意发件人的联系表单,这是不可能发生的。 此外,如果发件人使用来自 gmail 等服务的 email 地址,您将永远不会发生这种情况。
因此,大多数这样做的 forms 联系人只是做错了 - 他们正在伪造发件人地址并希望他们能够逃脱,或者他们根本不知道更好。 使用未经许可的发件人地址简直是伪造,如今它通常会被丢弃在垃圾邮件中或被彻底拒绝——但这并不能阻止你尝试做如此愚蠢的事情!
您提到了唯一的解决方法,即reply-to
地址。 在这种情况下,您通常从您自己发送给您自己,但使用提交者的地址作为回复,这样当您回复消息时,它会发送给他们。 这不需要任何特殊许可并且不是伪造的,因此通常可以正常工作。
PHPMailer 提供的联系表单示例使用了这种方法,您应该能够了解您使用的任何语言。
这种方法存在一些实际问题。 主要的一个是邮件程序经常忽略来自他们以前看到的地址的消息中的发件人名称(而不是地址)。 这意味着即使您将提交者的姓名与您自己的地址一起放入回复中(因此它包含Jane User <contactform@example.com>
之类的内容,它会忽略它并使用该地址首次使用的任何名称. 这很烦人,但不会破坏任何东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.