PHP 開発の基本チュートリアル: 電子メールの送信
1. PHP mail() 関數(shù)
PHP mail() 関數(shù)は、スクリプトからメールを送信するために使用されます。
構(gòu)文:
mail(to,subject,message,headers,parameters)
注: PHP でメール関數(shù)を?qū)g行するには、メール システム (sendmail、postfix、 qmailなど)。使用されるプログラムは、php.ini ファイルの構(gòu)成設(shè)定によって定義されます。詳細(xì)については、「PHP メール リファレンス マニュアル」を參照してください。
2. PHP シンプルな電子メール
PHP を通じて電子メールを送信する最も簡(jiǎn)単な方法は、テキスト メールを送信することです。
以下の例では、最初に変數(shù) ($to、$subject、$message、$from、$headers) を宣言し、次にこれらの変數(shù)を mail() 関數(shù)で使用して電子メールを送信します
例:コードは次のとおりです
<?php $to = "1264010730@qq.com"; // 郵件接收者 $subject = "參數(shù)郵件"; // 郵件標(biāo)題 $message = "Hello! 這是郵件的內(nèi)容。"; // 郵件正文 $from = "1264010730@qq.com"; // 郵件發(fā)送者 $headers = "From:" . $from; // 頭部信息設(shè)置 mail($to,$subject,$message,$headers); echo "郵件已發(fā)送"; ?>
3. PHPメールフォーム
PHPを通じて、サイトにフィードバックフォームを作成できます。次の例は、指定された電子メール アドレスにテキスト メッセージを送信します
例: コードは次のとおりです:
<html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <?php if (isset($_REQUEST['email'])) { // 如果接收到郵箱參數(shù)則發(fā)送郵件 // 發(fā)送郵件 $email = $_REQUEST['email'] ; $subject = $_REQUEST['subject'] ; $message = $_REQUEST['message'] ; mail("someone@example.com", $subject, $message, "From:" . $email); echo "郵件發(fā)送成功"; } else { // 如果沒(méi)有郵箱參數(shù)則顯示表單 echo "<form method='post' action='mailform.php'> Email: <input name='email' type='text'><br> Subject: <input name='subject' type='text'><br> Message:<br> <textarea name='message' rows='15' cols='40'> </textarea><br> <input type='submit'> </form>"; } ?> </body> </html>
出力は右に示されています
コードの説明:
まず、メール入力ボックスが入力されています
未入力の場(chǎng)合(初めてページにアクセスした場(chǎng)合など)、HTMLフォームを出力します
入力されている場(chǎng)合(フォーム入力後)、メールを送信フォームから
フォームに記入したら送信ボタンをクリックします。その後、ページがリロードされ、メールの入力がリセットされ、メールが正常に送信されたことを示すメッセージが表示されます
。注: この単純な電子メールは安全ではありません。このチュートリアルの次の章では、電子メール スクリプトのセキュリティ リスクについて詳しく知るために、ユーザー入力を検証して安全性を高める方法を説明します。
學(xué)習(xí)體験: 送信失敗の理由の分析
上記の最初の例では、次のエラー メッセージが表示される場(chǎng)合があります
アラームの説明:
ホスト ポート 25 がメール サーバーに接続できません。 SMTP (メール転送プロトコル)
4. PHP メール リファレンス マニュアル
PHP mail() 関數(shù)の詳細(xì)については、PHP メール リファレンス マニュアルを參照してください。