TEDIA会員に登録したメールアドレスとパスワードを入力してください

メールアドレス:

     パスワード:


パスワードを忘れた方はパスワードの確認を行ってください。

TEDIA会員へのご登録がお済みで無い方はこちらで登録ができます


>> テクノロジーポータル TEDIA トップページへ戻る <<

Think IT Software Developer's Think IT Find-IT 失敗しないソフト選び Find-IT TEDIA テクノロジーポータル TEDIA インストールマニアックス2008 インストールマニアックス2008

TEDIA SponsorsOpen Source Web Development Tutorials - Dev Shed

PHPでメール送信機能を実装しよう
(2009/02/26公開)

PHPでメールを送信する

 PHPのツールを理解したところで、ファイルを添付したメッセージを送信する簡単なアプリケーションを書いてみましょう。添付ファイルのあるメッセージを送信するには、メールを添付ファイルとして送信するように指示するメールヘッダーを送信しなくてはなりません。ヘッダーは、以下のようになります。


Content-disposition: attachment; filename=myfile.doc 



 上記のヘッダーでは、メールに対して、myfile.docというファイルを伴った添付ファイルとしてメッセージを送信するように指示しています。したがって、添付ファイルと一緒に短いメッセージを送信したい場合は、以下のようになります。


<?php
$to = "esme@holidays.com";
$subject= "Lunch?";
$message = "This is my first test of the mail() function.";
$headers ="Content-disposition: attachment;
filename=myfile.docn";
$headers .= "cc:salles@mycompany.comn";
$result=mail($to, $subject, $message, $headers);
?>



 添付ファイルを送信するときには、もうひとつ、非常に大切な手続きがあります。ファイルのコンテンツタイプを設定することです。コンテンツタイプには、以下があります。

・image/gif
・image/jpeg
・audio/x-wav
・audio/vnd.rn-realaudio
・video/mpeg
・video/avi

 アプリケーションファイルを送信したい場合もあるかもしれませんね。アプリケーションファイルには、テキストファイルとバイナリファイルがあります。例えば、RTFファイルはテキストファイルですが、Word文書はバイナリファイルです。一般的に、バイナリファイルのタイプはapplica/octed streamです。バイナリファイルをメールで送信するには、符号化しなくてはなりません。まさにこの仕事をしてくれるのがPHPのchunk_split()関数です。


$encode = chunk_split(base64_encode($string));



 さらに、符号化したファイルを送信するときは、その旨をメールソフトウエアに通知しなくてはなりません。これは、mail関数のヘッダー部分で行います。


Content-Transfer-Encoding: base64


前のページ     1    2    3    4    5    次のページ

Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.