0

我正在用 php 编写一个邮件列表,并且需要一种强制方法,同时通过 localhost 上的 smtp(Postfix)发送邮件,只是将邮件真正发送到 BCC 接收者。

(有 To 和 Cc 标头在邮件中发送它们,但不将邮件发送给它们)

原因:如果一封邮件被发送到列表中,它是之前发送给那些接收者的;在 php 脚本中,我编辑邮件(删除禁用词,添加带有签出链接等的页脚)并希望通过 smtp 发送它(mail() 不好,它没有错误处理)

有没有任何类或简单的方法可以做到这一点?或者是否可以留在后缀队列中(邮件通过管道传输到 php-script)

我发送的邮件有:mailing.list-adress(因为必须显示邮件已发送到邮件列表)和所有其他 Tos,但脚本不应将它们发送到该地址,它只是应该发送到密件抄送地址。

邮件流是

发件人 => specific-list@server.de => lists@server.de => php-programm => drop

每 5 分钟(或用户指定的其他时间)将推出列表:

数据库中的邮件 => 脚本 => 收件人为密件抄送,收件人为列表地址(特定列表@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.

我有一个如何解决这个问题的想法,但需要帮助。

  1. 我创建了一个内部邮件地址,转发给我的真实收件人
  2. 我把邮件发到那个地址
  3. Postfix 必须处理该邮件,而不是作为外发邮件,而是作为递送到该地址的新邮件。
  4. 因为是收到的邮件,postfix 不会投递给所有其他的 Receiver,它只是投递到那个特定的地址(也就是一个 Forwarding)
4

1 回答 1

4

每当您发送邮件时,根据普遍建立的规则,您需要有一个收件人。如果您只想将邮件发送给您自己或某个地址,那很好。一旦你有了收件人,你就可以继续创建你的密件抄送。

于 2013-03-03T16:18:08.387 回答