※ ChatGPTを利用し、要約された質問です(原文:[PEAR] Mail_mime_Decomail)
[PEAR] Mail_mime_Decomailを使用したHTMLメールマガジン送信機能におけるヘッダー情報の問題
このQ&Aのポイント
HTMLメールマガジンの送信機能を実装していますが、ヘッダー情報の[To:]部分に問題があります。
送信先のアドレスをループさせてアドレスを取得⇒送信を行っていますが、最初に送信したアドレスがヘッダー情報に入ってしまい、各アドレスが代入されません。
ループ前にインスタンス化しているため、ヘッダーの[To:]部分を初期化する手段を教えていただきたいです。
[PEAR] Mail_mime_Decomail
PEARの
・mime
・mimePart
・Mail_mime_Decomail
を使用してHTMLメールマガジン送信機能を実装しています。
送信先のアドレスをループさせてアドレスを取得⇒送信を行っています。
送信自体に問題はありませんが、ヘッダー情報の[To:]部分が最初に送信したアドレスが入ってしまい
各アドレスが代入されません。
ループ前にインスタンス化しているせいだとは思うのですが、何百通も送信するので毎回インスタンス化はメモリ消費を考えると避けたいです。
毎回ヘッダーの[To:]部分だけを初期化する手段があれば、どなたか教えていただけませんでしょうか?
よろしくお願いします。
-----------------------------------
$params = array(
"host" => "******",
"port" => 25,
"auth" => false,
"persist" => true
);
$mailObject = Mail::factory("smtp", $params);
$mimeObject = new Mail_mime_Decomail();
$headers['From'] = "*****";
$headers['Return-Path'] = "****";
$headers['Subject'] = mb_encode_mimeheader("テスト","ISO-2022-JP");
// 送信先ループ
for($i=0; $i<=$count; $i++) {
$headers['To'] = '';
// $bodyは受信者の名前など送信先によって内容が異なる
$mailBody = mb_convert_encoding($mailBody, "ISO-2022-JP", "EUC-JP");
$mimeObject->setTXTBody($mailBody);
$mimeObject->setHTMLBody($mailBody);
$buid_params = array(
'head_charset' => 'ISO-2022-JP',
'text_charset' => 'ISO-2022-JP',
'html_charset' => 'ISO-2022-JP'
);
$body = $mimeObject->get($buid_params);
$headers['To'] = "送信先アドレス";
$header = $mimeObject -> headers($headers);
$mailObject -> send("送信先アドレス", $header, $body);
}
-----------------------------------
お礼
お礼が遅くなり大変失礼致しました。 himajin100000様のアドバイスのおかげで、解決に至りました。 ありがとうございました。