Apr 21

逆引きrhaco71: メールを送信する(mail関数使用)

rhacoではphpのmail関数を使ったメール送信とSMTPを使ったメール送信を出来ます。

今回はmail関数を使ったメール送信を行います。

一番単純なケース

$mail = new Mail("mailfrom@hoge.com","your name");
$mail->to("mailto@hoge.com","sender name");
$mail->send("メールタイトル","メール内容");


これで送信できます。mail関数を使うので、mail関数で送信できるようphp側の設定は必要です。

ややこしいケース1(cc,bcc,添付ファイル)
$mail = new Mail("mailfrom@hoge.com","your name");
$mail->to("mailto@hoge.com","sender name");
$mail->cc("mailcc@hoge.com","cc name");
$mail->bcc("mailbcc@hoge.com","bcc name");
$mail->attach("ファイル名","ファイルの内容");//または$mail->attach("/path/to/attach/file",null);
$mail->send("メールタイトル","メール内容");


ややこしいケース2(Htmlメール+イメージ)
$mail = new Mail("mailfrom@hoge.com","your name");
$mail->to("mailto@hoge.com","sender name");
$mail->html("<html><body>適当なhtml</body></html>");
$mail->image("ファイル名","ファイルの内容");
$mail->send("メールタイトル");


※$mail->image("/path/to/attach/file",null);という書式は出来ません。(2009/04/24追記 yabekenさんご指摘ありがとうございました)

ファイルの内容はFileUtil::readなどを用いて読み込みます。
結構メール関連はややこしいケースが多いのですが、rhacoでは自分で書く量がたったこれだけになります。

簡単ですね。
SMTPを使った送信やPOPでの受信などはまたの機会に。

※ちなみにBlack Jumbo Dog + xamppで確認すると上手く送信できませんでした。どうもBlack Jumbo DogのSMTPだとmail関数の第一引数が""だと503エラーが出るようです。

| comment(2)