【问题标题】:Mailing list replies to go only to the sender, except when reply-all is used邮件列表回复仅发送给发件人,除非使用全部回复
【发布时间】:2010-12-14 17:20:09
【问题描述】:

我正在使用 PHPmailer 处理基于 PHP 的邮件列表。

目前我已经为邮件列表帖子的答案实现了两个选项:仅回复发件人与回复列表。这基本上控制了在回复字段中插入哪个地址。

我想创建我的用户从 Mailman 知道的行为,这里是一个示例:

SenderA 发布消息:

发件人:senderA@foo.bar

收件人:list@foo.bar

邮件列表将其转发给所有收件人,例如给收件人A:

发件人:senderA@foo.bar

收件人:收件人A@foo.bar

抄送:list@foo.bar

现在 RecipientA 回复了帖子,回复看起来像这样:

发件人:收件人A@foo.bar

收件人:senderA@foo.bar

RecipientA 的另一个选项是通过在邮件客户端中选择“全部回复”来发布对整个邮件的回复,这与回复中的内容类似:

发件人:收件人A@foo.bar

收件人:senderA@foo.bar

抄送:list@foo.bar

当我决定在抄送字段中为所有转发的邮件设置邮件列表的地址时:

  • 这是否意味着当我将邮件发送给 100 个订阅者时,邮件会返回邮件列表 100 次(-> 检索、检查和删除重复的邮件会花费很多性能)

  • 我可以包含一个特定的标题,这样发送到抄送邮件列表的邮件就不会发送 100 次吗?我怎样才能告诉邮件服务器不要这样做?

或者:

  • 是否有其他方法可以让用户决定回复发件人还是回复整个列表?

【问题讨论】:

  • 据我所知,在 phpmailer 中,您可以设置回复(askapache.com/php/…):在编写本教程时,这里是当前可用的功能列表:可以发送电子邮件多个 TO、CC、BCC 和 REPLY-TO
  • 没错,这就是我已经在做的事情。但是没有什么比Reply-CC更完美了。
  • 您可以从发送电子邮件的脚本中进行模拟...添加到仅回复抄送地址...制作某种选择器,询问收件人应该能够回复的用户...最终添加一个包含所有地址的复选框列表,以便他可以检查要添加的回复对象...
  • 这并不能解决问题-我对用户查看邮件的方式没有影响->可以使用各种邮件客户端我看到用户的唯一方法是有机会做这个选择是通过在他的邮件客户端中选择回复与全部回复。这带来了邮件列表帐户被自己的邮件发送垃圾邮件的问题。
  • 如果我提供一个标头字段 Message-ID 会怎样?来自 Wikipedia:“消息 ID:也是一个自动生成的字段;用于防止多次传递和在回复中参考 [...]”当我在我的程序中提供消息 ID 时,它确保邮件服务器不创建一个新的?这是否会阻止目标邮件服务器使用同一条消息工作 1000 次?

标签: php list phpmailer mailing mailman


【解决方案1】:

我想通了 - 当外发邮件列表电子邮件满足以下条件时,大多数电子邮件客户端会根据需要处理对邮件列表电子邮件的回复:

  • 根据RFC 2369,电子邮件带有标准邮件列表标题,您肯定需要 List-Post<mailto:list@foo.bar> 之类的东西
  • 对于仅对发件人的回复,您需要正确设置 From 标头字段(必须是发件人的电子邮件,在示例中为 recipientA@foo.bar)或 Reply-To 标题字段,以防您无法更改 From 字段

这与 Mailman 方法略有不同,但效果很好,您可以确保您的服务器不必处理不需要的重复项

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 2013-06-29
    • 2023-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多