CakePHP2.xからレンタルサーバドメインメールを送る設定をしました。
確認バージョン CakePHP2.10.2
email.php (lolipopの例
public $lolipop = array( 'host' => 'smtp.lolipop.jp', // sslの場合はssl://をつける 'port' => 465, // smtp-authの場合は587 'username' => 'hoge@example.com', // ユーザ名 'password' => 'hogeword', // パスワード 'transport' => 'Mail', 'emailFormat' => 'text' );
transport Mailと emailFormat text をつけないと送信できませんでした。
HogeController.php
$email = new CakeEmail('lolipop'); // インスタンス化
$email->config(array('log' => true)); // app/tmp/log/debug.logにメール内容が出力される
$email->from(array('info@example.com' => 'Sender')); // 送信元
$email->to('hoge@gmail.com'); // 送信先
$email->subject('メールタイトル'); // メールタイトル
$email->send('メール本文'); // メール送信
gmailでこのメールを受信した際にスパム警告が出たのでportを587に変更したところ、警告が消えました。587はsmtp-authを使用するポートです。
今回はレンタルサーバーからの送信でしたが、Gmailからも送信できます。↓
https://normalblog.net/system/cakephp2-x-gmail/
参考
http://office-goto.info/cakephp2-x/cakeemail/
http://masuipeo.com/tech/port587.html
Gmail
Gmailからは以下に記載しています。
