# codeigniter email ライブラリでメール送信 日本語対応

# email クラス SMTP 送信設定

class MY_Controller extends CI_Controller
{
    protected $email_config;

    public function __construct()
    {
        parent::__construct();

        $this->email_config = [
            'smtp_host' => env('SMTP_HOST'),
            'smtp_user' => env('SMTP_USER'),
            'smtp_pass' => env('SMTP_PASS'),
            'smtp_port' => env('SMTP_PORT'),
            'smtp_crypto' => env('SMTP_CRYPTO'),
            'protocol' => 'smtp',
            'wordwrap' => false
        ];
    }
}

# よく使う email クラスの SMTP 設定項目

項目 説明 初期値(選択肢)
smtp_host SMTP サーバのアドレス なし
smtp_user SMTP のユーザ名 なし
smtp_pass SMTP のパスワード なし
smtp_port SMTP のポート番号 25
smtp_crypto SMTP 暗号化 なし(ssl tls)
protocol メールを送信するプロトコル mail ( mail sendmail smtp)
wordwrap ワードラップの有効化設定 TRUE ( TRUE FALSE )
mailtype メールのタイプ text(text html)

# 日本語文字化け対策

日本語メール送信文字化けの原因はワードラップの有効化設定

# 方法 1:$this->email->set_wordwrap(false)




















 


$this->load->library('email');
$this->email->initialize($this->email_config);

$this->email->from('email@hapicode.com', 'メール送信サンプル');
$this->email->to('email_to@hapicode.com');
$this->email->cc('email_cc@hapicode.com');
$this->email->bcc('email_bcc@hapicode.com');

$this->email->subject('メールタイトル');
$this->email->message('
メール内容

改行認識\n
\r\n

テストで送信してみよう!
');

// 日本語文字化け対策
$this->email->set_wordwrap(false);
$this->email->send();

# 方法 2: $this->email->initialize(['wordwrap' => false])








 




    $this->email_config = [
        'smtp_host' => env('SMTP_HOST'),
        'smtp_user' => env('SMTP_USER'),
        'smtp_pass' => env('SMTP_PASS'),
        'smtp_port' => env('SMTP_PORT'),
        'smtp_crypto' => env('SMTP_CRYPTO'),
        'protocol' => 'smtp',
        'wordwrap' => false,
    ];

$this->email->initialize($this->email_config)

初期化設定のタイミングで config 設定に入れる

2020-03-13
  • php
  • codeigniter

関連記事

正規表現一覧 よく使う検索・置換のパターン
Apache 初期設定メモ
Elastic Beanstalk \$\SERVER['REMOTEADDR'] 取得できない
php 開発におけるコーディングルール・規約
PHP empty isset is_null の違い
php curl 使って クリックなしで POST 送信
FlattenException deprecated
allowurlinclude の設定で ftp_connect()エラー
Lumen と Laravel 違い比較
Laravel 5.7 の MVC 使う時のメモ
PHP 8 リリース新機能と変更
解決!phpMyAdmin テーブル構造の内容が表示されない問題
Smarty HTTP URL 取得できるサーバー関数
twig 3 人気 PHP テンプレートエンジンがバージョンアップ
開発時によく使うゼロ埋めパディング作業まとめ
nuxtjs と codeigniter で jwt システム構築
HTML から PDF に変換 PHP ライブラリ mPDF の設定
PHP 7.4 にアップグレードして使えなくなる機能
php.ini 初期設定のいろいろ
爆速軽量フレームワーク codeigniter PHP 開発
Composer コマンドとオプション
Laravel Error についてのメモ