【发布时间】:2013-03-03 16:13:25
【问题描述】:
我正在用 php 编写一个邮件列表,并且需要一种方法来强制通过本地主机上的 smtp(Postfix)发送邮件,只是真正将该邮件发送到密件抄送接收者。
(有 To 和 Cc 标头在邮件中发送它们,但不将邮件发送给它们)
原因:如果一封邮件被发送到列表中,它是之前发送给那些接收者的;在 php 脚本中,我编辑邮件(删除禁用词,添加带有签出链接等的页脚)并希望通过 smtp 发送它(mail() 不好,它没有错误处理)
有没有任何类或简单的方法可以做到这一点?或者是否可以留在后缀队列中(邮件通过管道传输到 php-script)
我发送的邮件必须:mailing.list-adress(因为必须显示邮件已发送到邮件列表)和所有其他 Tos,但脚本不应将它们发送到该地址,它应该发送到密件抄送地址。
邮件流是
Sender => specific-list@server.de => lists@server.de => php-programm => drop
每 5 分钟(或用户指定的其他时间)将推出列表:
数据库中的邮件 => 脚本 => 收件人为密件抄送,收件人为列表地址 (specific-list@server.de)
邮件看起来像:
From: original-sender@original-server.org
To: specific-list@server.de, <any other tos from original mail>
Cc: <any ccs from original mail>
Bcc: <all the list subscribers> //JUST REALLY SEND TO THIS ADRESSES
Subject: [Listname | Topicid] Topic Name
Content:
<original content>
--
signature for unsubscribe, etc.
我有一个如何解决这个问题的想法,但需要帮助。
- 我创建了一个内部邮件地址,转发给我的真实收件人
- 我将邮件发送到该地址
- Postfix 必须不将该邮件作为外发邮件处理,而是将其作为递送到该地址的新邮件来处理。
- 因为是收到的邮件,postfix 不会投递给所有其他的 Receiver,它只会投递到那个特定的地址(即转发)
【问题讨论】:
标签: php email smtp mailing-list