今回メールを飛ばす時にSMTP送信しか出来ないサーバーでシステムを組んだので
CAKEPHPでqdmailを使ってメールをSMTP送信するようにしてみました。
まず下記のURLから
http://hal456.net/qdsmtp/
qdsmtp.phpの最新版をダウンロードしてきます。
ダウンロードしたのをcakePHPの/app/controllers/components
に置きます。(qdmail.phpと同じところに置く)
後はソースで次のように記述してあげるだけで大丈夫。
$mail = new QdmailComponent();
$mail -> smtp(true);
$param = array(
‘host’=>’メールサーバー’,
‘port’=> 25 , //これはSMTPAuthの例。認証が必要ないなら 25 でOK。
‘from’=>’xxxxx@xxxxx.co.jp’,// Return-path: になります。
‘protocol’=>’SMTP_AUTH’,// 認証が必要ないなら、’SMTP’
‘user’=>’ユーザーID’, //SMTPサーバーのユーザーID
‘pass’ => ‘パスワード’, //SMTPサーバーの認証パスワード
);
$mail -> smtpServer($param);
//メールを送信するユーザーリストの取得
$mail->subject($this->data[‘Mail’][‘subject’]);
$mail->from(‘送信元’);
$mail->replyTo(‘返信先’);
$mail->mtaOption(“-f”.’エラー時送信先’);
$mail->kana(true);
$mail->text(‘本文’);
$mail->to(‘あて先’);
$mail->send(); // メール送信処理
qdsmtp.phpはqdmail内で自動で呼び込まれているのでプログラムであえて呼び込む必要は無し。