トラブルシューティング
2008/06/18
require_once('qdmail.php');
$mail = & new Qdmail();
$mail -> smtp(true);
$param = array(
'host'=>'smtp.example.com',//メールサーバー
'port'=> 587 , //これはSMTPAuthの例。認証が必要ないなら 25 でOK。
'from'=>'from@example.com', // Return-path: になります。
'protocol'=>'SMTP_AUTH',// 認証が必要ないなら、'SMTP'
'user'=>'user_id@example.com', //SMTPサーバーのユーザーID
'pass' => 'sasuga99', //SMTPサーバーの認証パスワード
);
$mail -> smtpServer($param);
$message="メールの中身をここに書きます。";
$mail ->to('toaddress@example.com','スポック宛');
$mail ->subject('メールのテスト');
$mail ->from('from@example.com');
$mail ->text($message);
$return_flag = $mail ->send();
ポイント、 Qdsmtpをインクルードする必要はありません。include_pathに含まれた場所にqdsmtp.phpが置いてあれば、Qdmailが勝手にインクルードします。2008-10-01追記
下記、サイトにてスマートなCakePHPでのQdmailの使い方を紹介していただいております。ぜひご参照下さい。
cakePHP メール送信はもうこれでいいでしょ -LoveIT - 安江ブログ
app/controllers/components/使用したいコントローラーで、以下のプロパティの宣言を行ってください。
var $components=array( "Qdmail" );
$this->Qdmail->to( 'address@example.com' , '日本語名' );
$this->Qdmail->subject('Qdmail on CakePHP メールのテスト');
$this->Qdmail->from('from@example.com' , '配信元日本語名' );
$this->Qdmail -> text( '本文をここにかきます' );
$this->Qdmail -> send();
宛先などの指定は、Qdmail通常の使い方と同じです。$this->Qdmail -> cakeText( '本文(テキスト)' ); or $this->Qdmail -> cakeHtml( '本文(HTML)' );見て直感的におわかりのように、通常のテキストの場合は、cakeText,HTMLメールの場合は、cakeHtmlメソッドを使います。
$this->Qdmail -> cakeText( '本文' ,'エレメント名','レイアウト名');フルスペック
cakeText( $content , $template , $layout , $org_charset , $target_charset, $enc , $wordwrap_length ) 第1引数から、本文、テンプレート名、レイアウト名、テンプレートの文字コード(省略可、またはnull),送信時の文字コード(省略可、またはnull)、本文のエンコード形式(7bit,base64等)、ワードラップの文字数(マルチバイト換算)※エレメント名とレイアウト名は省略可能です。その場合は「default」を指定したことになります。
| '本文' | エレメントの中で、 $content変数として使用可能 |
| エレメントからの出力 | レイアウトの中で、 $content_for_layout変数として使用可能 |

app/views/elements/email/text/ app/views/elements/email/html/
app/views/layouts/email/text/ app/views/layouts/email/html/