Memo/PHP/qdmail

http://dexlab.net/pukiwiki/index.php?Memo%2FPHP%2Fqdmail
 


Qdmail

  • Qdmail
    • 高機能な日本語対応メール送信モジュール
    • フレームワーク対応
      • CakePHP1.1 & 1.2(バージョン0.7.6a以降)
      • Symfony対応(1.1.3b以降)
      • CodeIgniter?対応
      • Ethna対応
      • Zend Framewordk対応

本文にメールヘッダが表示される場合、「lineFeed("\n");」を付けると直る

$mail = & new Qdmail();
$mail->lineFeed("\n");

postfixでエラーの場合、以下をコメントアウト

/*		if(false !== @system($sendmail_path.' -d0.1 < /dev/null > /dev/null',$ret)){
			if(is_array($ret)){
				$ret = reset($ret);
			}
			$code = (int) substr($ret,0,3);
			if( 100 === $code || 111 === $code){
				$this->is_qmail = true;
			}
		}
*/

テンプレート送信例

<?php
require_once('qdmail.php'); // 1.2.6b

mb_language('ja');
mb_internal_encoding('UTF-8');

$replace = array(
	'mail' => 'to@example.com',	// 宛先メールアドレス
	'name' => '宛先日本語名',			// 宛先日本語名(省略可)
	'hoge' => 'rep_hoge', // 置換対象
);

$from = array('from@example.com', '配信元日本語名(省略可)');
$subject = 'タイトルも日本語で';
$body =<<<EOD
%hoge%
%name%さんの登録内容をお送りします。
名前:%name%
メールアドレス:%mail%
このように、qd_send_mailでは、簡単にインサートメールを送信することができます。";
EOD;

// オブジェクト型
$mail = & new Qdmail();
$mail->lineFeed("\n"); // ヘッダの文字化け防止
$mail->unitedCharset( 'UTF-8' ); // 入力文字コード指定
$mail->simpleReplace(true); // 置換機能有効
$mail->errorDisplay( false ); // エラーを表示しない
//$mail->to( 'to@example.com' , '宛先日本語名(省略可)' );
$mail->to($replace);
$mail->subject( $subject );
$mail->text( $body );
$mail->from( $from );
if(!$mail->send()){
  var_export( $mail->errorStatment() );//エラーの表示
}

// 関数型
$op = array('lineFeed' => "\n", 'unitedCharset'=>'UTF-8', 'simpleReplace'=>true);
$option = array('type'=>'text','option'=>$op );
qd_send_mail( $option , $replace ,$subject , $body , $from );

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-09-17 (金) 23:11:25 (2837d)