メールフォーム
webからメールを送信できるメールフォームを作ってみましょう。
メールを送信するプログラムを作ってみましょう。 商品の注文など、メールと連動するプログラムも多いので、 メール送信の仕組みを知っておくことは、 他のプログラムを学ぶためにも重要です。
メールを送信するプログラム
メールを送信するには、関数 mb_send_mail を使用します。 なお、この関数は PHP4 以降でのみ使用できます (たいていのサーバは PHP4 対応なので、問題ないでしょう)。
プログラムはフォーム部とメール送信部に分けています。 フォーム部は以下のようになります。
<form action="mail.php" method="post"> あなたのお名前: <input type="text" size=50 name="Name"><br> あなたのメールアドレス: <input type="text" size=50 name="FromAddress"><br> 件名: <input type="text" size=50 name="Subject"><br> メッセージ本文<br> <textarea cols=50 rows=6 name="Text"></textarea><br> <input type="submit" value=" 送信 "> <input type="reset" value=" 取消 "> </form>
メール送信部は以下のようになります。
01: <?php 02: // メールの送り先を指定 03: // 自分がメールを受け取りたいアドレスを指定してください。 04: $ToAddress = "あなたのメールアドレス"; 05: 06: // ホームページの指定 07: // メール送信後、戻るページを指定してください。 08: $Home = "ホームページの URL"; 09: 10: ?> 11: 12: <html> 13: <head> 14: <title></title> 15: </head> 16: <body> 17: <?php 18: // 言語を日本語に設定 19: mb_language("ja"); 20: 21: // メール本文の設定 22: $Message = $_POST['Name'] ; 23: $Message .= "さんからのメールです。\n"; 24: $Message .= "------------------------------ \n"; 25: $Message .= $_POST['Text'] ."\n"; 26: $Message .= "------------------------------ \n"; 27: 28: 29: // メールを送信 30: mb_send_mail($ToAddress, $_POST['Subject'], $Message, "From:$_POST['FromAddress']"); 31: ?> 32: 33: <?php 34: print $_POST['Name'] ."様メールありがとうございました。<br>"; 35: print "<a href=$Home>戻る</a>"; 36: ?> 37: </body> 38: </html>
PHP では、受け取った変数をそのまま利用できます。 フォーム部の name="xxx" の xxx の部分が変数名になり、 中身はフォーム入力された内容になります。
1行目から10行目は各自の環境に合わせて設定してください。
17行目から31行目はメール送信部です。 30行目が実際にメールを送信する関数 mb_send_mail です。 関数 mb_send_mail は、 「宛先」「題名」「本文」の3つの引数を必要とします。 さらに、その他のヘッダをその後に書くことができます。 上の例では、「From(送り主)」を設定しています。 (サーバの設定によっては、From のドメインが異なる場合にメール配信を行わないこと があります。 ソの場合は、From 部分も自分のメールアドレスにし、 送信者のメールアドレスはメール本文に入れるようにしてください。)
33行目から38行目はブラウザに表示する内容で、 この例ではメールのお礼と、「戻る」リンクを表示するようにしています。
※PHP4.2.0 以降では、外部からの変数は、 $_POST['Message'] という形式で参照するようになりました。 お使いのサーバでの PHP のバージョンを確認するようにしてください。
Copyright (C) 2003-2018. PHP で WEB 作成 All rights reserved.