gmailを使ってPHPでメール送信する | CyberX:エンジニアブログ

gmailを使ってPHPでメール送信する

こんにちは、エモンと言います。

今回はモバゲーやmixiとかオープンプラットフォームとは無縁の技術について解説します。
Gmailを使ってPHPからメール送信してみます。
尚、cyberXではcakePHPを使ったプロジェクトが多いので、
cakePHPから送信することを考えます。

PHPでメール送信するにはPEARとかその他ライブラリが必要らしいですが、
cakePHPではその点、はじめから全て入っているようです。

準備
コントローラにてEmailコンポーネントを宣言。

var $components = array('Email',);



適当なfunctionにてSMTPオプションを設定する。

$this->Email->smtpOptions = array(
'port'=>'465',
'timeout'=>'30',
'host' => 'tls://smtp.gmail.com',
'username'=>'hogename',
'password'=>'hogepass'
);



※ポートとホストはここらしい。しめしめ。
※usernameとpasswordのところは、自分のgmailアカウントにあわせてください。
あとは送信設定してsendするだけです。


/* 送信のメソッドをセットする */
$this->Email->delivery = 'smtp';
$this->Email->from = 'hogename ';
$this->Email->to = 'hogetoname ';
$this->Email->subject = 'Test';
$this->Email->send('日本語を送ってみます');
/* SMTP エラーを確認する。 */
$this->set('smtp-errors', $this->Email->smtpError);



これでテストしたところ、日本語もうまく送れました。
いや~なんていうか、gmailすげぇ。cakePHPすげぇ。