私はphpでメーリングリストを書いていますが、ローカルホストでsmtp(Postfix)を介してメールを送信しているときに、そのメールをBCC受信者に送信する方法が必要です。
(ToヘッダーとCcヘッダーがメールで送信されますが、メールは送信されません)
理由:メールがリストに送信された場合、それは以前にそれらの受信者に送信されていました。phpスクリプトで、メールを編集し(禁止されている単語を削除し、サインアウトリンク付きのフッターを追加するなど)、SMTP経由よりも送信したい(mail()は適切ではなく、エラー処理は行われません)
それを行うためのクラスまたは簡単な方法はありますか?または、postfixキューにとどまることが可能ですか(メールはphp-scriptにパイプされます)
私が送信するメールは、mailing.list-adress(メールがメーリングリストに配信されたことを示す必要があるため)および他のすべてのTosに関するものですが、スクリプトはそれらをそのアドレスに送信するべきではありません。 bccアドレスに送信する必要があります。
メールフローは
送信者=>specific-list@server.de=> lists@server.de => php-programm => drop
5分ごと(またはユーザーが指定した時間)に、リストがロールアウトされます。
データベース内のメール=>スクリプト=>bccとしての受信者、宛先はlist-adress(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は他のすべての受信者に配信されるのではなく、その特定のアドレス(つまり転送)に配信されるだけです。