| PHP にはメール送信関数 mail があるが、日本語でメールを送る場合は、 mb_send_mail 関数が使いやすい。 |
サンプル・プログラム |
|
メールサーバの設定 |
|
|
PHP でメール送信を行うためには、まず、メールサーバ(SMTP サーバ)を php.ini に設定する必要がある。 Linux であれば、"sendmail_path =" の部分に sendmail のあるパスを記述する。 Windows では、SMTP サーバが起動していることは無いだろうから、"SMTP = " の部分にプロバイダと契約しているメールサーバのアドレスを記述する。また、"sendmail_from ="の部分には送信者メールアドレスを記述する。プロバイダから提供されているメールアドレスを書いておけばよいだろう。 |
|
セキュリティ上、注意すること |
|
|
ユーザー変数 $MailTo に送信先メールアドレスを設定している。
0013: /** |
|
|
PHP でメール送信プログラムを作るときは、送信先メールアドレスは固定にすべきだ。 というのは、入力フォームから自由にメールアドレスを送信できるようなプログラムを公開すると、スパムメール業者の踏み台になってしまうからだ。あなたの意図に反し、業者はそのフォームを利用してスパムをばらまき、最悪の場合、プロバイダからアカウントを停止されてしまう。今回、このページからサンプルプログラムを実行できないようにしてあるのも、セキュリティ上の配慮からである。 |
サンプル・プログラムの解説:エンコードと送信 |
|
|
0008: mb_language('ja'); //mb_send_mailが参照するため |
|
|
0083: } else { |
|
入力フォームから受け取った件名 $subject と本文 $message を、 mb_send_mail 関数に渡して、メールを送信する。
このプログラムでは入力フォームは EUC-JP だが、関数 mb_send_mail 渡った後に、関数 mb_language の設定に基づいて自動的にエンコードが行われる。 なお、関数 mb_send_mail が正しくエンコード処理を行うことができるよう、関数 mb_language 、 mb_internal_encoding を正しく設定しておく必要がある。 |
|
|
|
|
|
2005年09月25日 作成
2009年10月27日 更新
Copyright by studio pahoo, (C)2009
(※)本ページはリンクフリーですが、複製・転載時にはご一報ください。 ★本ページへのご意見・ご質問・お便りは、ここをクリックしてください。 |