基本的な使い方-OOP編

2008/04/17 未分類 spok

$mail -> send() 型

簡単Qdmailのオブジェクト指向的送り方です。
OOPではない指定の仕方もありますが、出来る限りOOP方式をお薦めします。
文字コードは、Qdmailが自動判別します。

基本的な送り方( text メール)

$mail = & new Qdmail();

$mail -> to( 'address@example.com' , '宛先日本語名' );
$mail -> subject( 'タイトルも日本語で' );
$mail -> text( 'ここに内容をいれます' );
$mail -> from( 'from@example.com' , '配信元日本語名' );

$mail ->send();
文字コードは、Qdmailが自動判別し、デフォルトでもっとも文字化けが起こりにくいiso-2022-jpで送ります。
「日本語名」は省略できます。
PHP5では、newの前の & は必要ありません。

cc,bcc,reply-to

cc,bcc,reply-toは次のように指定します。
$mail -> cc( 'address2@example.com' , '宛先cc日本語名' );
$mail -> bcc( 'address3@example.com' );
$mail -> replyto( 'address4@example.com' , '返信先replyto日本語名' );
※bccでは、宛先表示名は意味がありませんので、指定できません。

この場合、reply-toは、ハイフンを抜いてreplytoで指定しますので、気をつけて下さい。

複数宛先の指定方法その1


$to = array( 'address1@example.com','address2@example.com','address3@example.com' );

$toName = array( '宛先1の日本語名','宛先2の日本語名','宛先3の日本語名' );

$mail -> to( $to , $toName );

cc,bccも同様です。from,reply-toは、ひとつしか設定できません。


複数宛先の指定方法その2


$to[] = array( 'address1@example.com' , '宛先1の日本語名' );
$to[] = array( 'address2@example.com' , '宛先2の日本語名' );
$to[] = array( 'address3@example.com' , '宛先3の日本語名' );

$mail -> to( $to );
cc,bccも同様です。from,reply-toは、ひとつしか設定できません。

複数宛先の指定方法その3

$to[] = array( 'address1@example.com' , '宛先1の日本語名' );
$to[] = array( 'address2@example.com' , '宛先2の日本語名' );
$to[] = array( 'address3@example.com' , '宛先3の日本語名' );

foreach( $to as $addr_and_name ){
  $mail -> to( $addr_and_name  , null , true );
}
point
$mail -> to()の第3引数を true にするのがポイントです。
この第2引数は、これまでに設定されていたメールアドレスに「追加するか、上書きするか」を指定しています。
$mail -> to()の第3引数
追加true
上書きfalse
cc,bccも同様です。

htmlメール

$mail ->text('内容');の代わりに
$mail ->html('htmlメールの内容を入れます。');
とするだけです。
Qbmailのデフォルトでは、自動的に代替テキストが作成されます。
これでhtmlメールを読むことができないメーラでも、内容を読むことができるようになります。
例えば、原則としてテキストメールしか読めない*1秀丸メールや、携帯メールなどに送るときに有効でしょう。

この自動テキスト生成機能は、OFFにすることもできます。
$mail->send();の前に
$mail -> autoBoth(false);
としてください。

*1 : そのようなポリシーのメーラー