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{ //送信失敗時の処理 }
所感
メール関連は特に問題無さそうなのでフォームと組み合わせればお問い合わせページとか作れそう。
関連記事
-
-
Codeigniter4でエラーログ設定、出力及び確認方法
Codeigniter4.4.4でエラーログの設定を行い特定のファイルに出力させ ...
-
-
Codeigniter4でMySQLに接続しCRUD操作する方法
Codeigniter4.4.4でMySQLに接続しCRUD操作したい。また、任 ...
-
-
CodeIgniter4.4.4のインストールからHello Worldページ表示まで行う方法
以前CodeIgniter3を勉強したことがあったが新バージョンの4系がリリース ...
-
-
CodeIgniter4&Bootstrap&jQueryで簡易版お問い合わせページの作成
CodeIgniter4.4.4&Bootstrap&jQuer ...
-
-
CodeIgniter3でファイルキャッシュする方法
CodeIgniterでファイルキャッシュが楽に導入できた。そこそこ使いそうなの ...