foreach() ループを使用してループし、このループ内で ob_start() および ob_get_clean() を使用するときに問題が発生しました。
これが私の機能です:
protected function renderEmail() {
$template = $this->_case.".php";
if(is_file($this->_dir.DS.$template)) {
ob_start();
if(!empty($this->_records)) {
foreach($this->_records as $key => $value) {
${$key} = $value;
}
}
require_once($this->_dir.DS.$template);
return ob_get_clean();
} else {
$this->_errors[] = "Email template not found";
return false;
} }
この関数は基本的にメールの内容を生成して返します。
私が抱えている問題は、同じメール コンテンツを送信するために多数のメール アドレスをループ処理する場合です。最初のメール アドレスだけがコンテンツを返します。次のメール アドレスは空白です。理由はわかりますか?