CodeIgniter4でのメール送信方法(テキスト・HTMLメール)
CodeIgniter4.4.4でテキストメール及びHTMLメールを送信したい。ついでにファイル添付、CC・BCC機能もあれば本番案件でも使えそう。以下に実装方法をメモ。
リファレンス
https://codeigniter.com/user_guide/libraries/email.html
ソースコード
テキストメール
$email = \Config\Services::email();
$email->setFrom('from@test.com', 'テスト送信者名');
$email->setTo('to@test.com');
$email->setSubject('テストタイトル');
$email->setMessage('テスト本文');
$email->send();
テキストメール(ファイル添付、CC・BCC機能付き)
$email = \Config\Services::email();
$email->setFrom('from@test.com', 'テスト送信者名');
$email->setTo('to@test.com');
$email->setCC('cc@test.com');
$email->setBCC('bcc@test.com');
$email->setSubject('テストタイトル');
$email->setMessage('テスト本文');
$email->attach('/var/www/html/test.jpg');
$email->send();
HTMLメール
$email = \Config\Services::email();
//メールタイプをHTMLに変更
$mail_config['mailType'] = 'html';
$email->initialize($mail_config);
$email->setFrom('from@test.com', 'テスト送信者名');
$email->setTo('to@test.com');
$email->setSubject('テストタイトル');
$body = '<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HTMLmail</title>
</head>
<body>
<h1>HTML mail test</h1>
</body>
</html>
';
$email->setMessage($body);
$email->send();
エラー判定
リファレンスによるとsend()の戻り値で判定できる模様。そのため以下のような形で分岐処理させる。
if( $email->send() ){
    //送信成功時の処理
}else{
    //送信失敗時の処理
}
所感
メール関連は特に問題無さそうなのでフォームと組み合わせればお問い合わせページとか作れそう。
関連記事
- 
					
													  
- 
					CodeIgniter3でファイルキャッシュする方法CodeIgniterでファイルキャッシュが楽に導入できた。そこそこ使いそうなの ... 
- 
					
													  
- 
					CodeIgniter4で祝日一覧APIにCURLでリクエストし結果をファイルキャッシュする方法Codeigniter4.4.4で祝日一覧APIにCURLでリクエストしたい。尚 ... 
- 
					
													  
- 
					CodeIgniter4でGET / POSTパラメータの受け取りとルーティング設定方法CodeIgniter4.4.4でページを開いた際にGET / POSTパラメー ... 
- 
					
													  
- 
					CodeIgniter4で特定のページにアクセスがあった際に301リダイレクトさせる方法CodeIgniter4で特定のページにアクセスがあった際に301リダイレクトさ ... 
- 
					
													  
- 
					CodeIgniter4.4.4のインストールからHello Worldページ表示まで行う方法以前CodeIgniter3を勉強したことがあったが新バージョンの4系がリリース ...