トラブルシューティング
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/