簡単Qdmailのオブジェクト指向的送り方です。
OOPではない指定の仕方もありますが、出来る限りOOP方式をお薦めします。
文字コードは、Qdmailが自動判別します。
$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は次のように指定します。
$mail -> cc( 'address2@example.com' , '宛先cc日本語名' );
$mail -> bcc( 'address3@example.com' );
$mail -> replyto( 'address4@example.com' , '返信先replyto日本語名' );
※bccでは、宛先表示名は意味がありませんので、指定できません。
この場合、reply-toは、ハイフンを抜いてreplytoで指定しますので、気をつけて下さい。
$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は、ひとつしか設定できません。
$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は、ひとつしか設定できません。
$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 );
}
$mail -> to()の第3引数を true にするのがポイントです。
この第2引数は、これまでに設定されていたメールアドレスに「追加するか、上書きするか」を指定しています。
$mail -> to()の第3引数 |
追加 | true |
上書き | false |
cc,bccも同様です。
$mail ->text('内容');の代わりに
$mail ->html('htmlメールの内容を入れます。');
とするだけです。
Qbmailのデフォルトでは、自動的に代替テキストが作成されます。
これでhtmlメールを読むことができないメーラでも、内容を読むことができるようになります。
例えば、原則としてテキストメールしか読めない秀丸メールや、携帯メールなどに送るときに有効でしょう。
この自動テキスト生成機能は、OFFにすることもできます。
$mail->send();の前に
$mail -> autoBoth(false);
としてください。