Codeigniter v3.1.0のメール送信ライブラリ
system/libraries/Email.phpを単体で使用する為に次のように改修しました。
改修は主にCommon.phpのヘルパー関数の一部をEmail.phpへ移設しget_instance()やlog_message()関数の首絞め等を行っています。
そのファイルを読み込んで次のようにメール送信プログラムを作成
php
1 $email = new CI_Email(); 2 $config = array( 3 'useragent' => 'Codeigniter', 4 'protocol' => 'sendmail', 5 'wordwrap' => FALSE, 6 'charset' => 'iso-8859-1', 7 'priority' => 1, 8 ); 9 10 $email->initialize($config); 11 $email->set_wordwrap(false); 12 $email->from($from); 13 $email->to($to); 14 15 if ($cc != false) { 16 $email->cc($cc); 17 } 18 19 $message = chunk_split($message, 75 , "\n"); 20 $message = mb_convert_encoding($message, 'UTF-8', 'AUTO'); 21 22 $message2 = ""; 23 foreach (explode("\r\n", $message) as $msg){ 24 $message2 .= "{unwrap}".$msg."{/unwrap}"."\n"; 25 } 26 $email->message($message2); 27 28 29 if ($attach != false) 30 { 31 $email->attach($attach); 32 } 33 34 $email->send(); 35 echo $email->print_debugger();
上記より添付ファイルが無い場合はDKIMは問題なくPASSしますが添付ファイル(PDF・画像ファイルなど)が含まれると次のエラーになります。
ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@example.com header.s=20240416dkim header.b=POhVQz12; spf=pass (google.com: domain of info@example.com designates 0.0.0.0 as permitted sender) smtp.mailfrom=info@example.com ; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=example.com
添付ファイルを含めてもDKIMをPASSする方法を探しています。
何卒ご教授頂けますようお願いします。
補足:諸事情によりドメイン名、IPは伏せています。
あなたの回答
tips
プレビュー