PHP 開発の基本チュートリアル: 電子メールの送信

1. PHP mail() 関数

PHP mail() 関数は、スクリプトからメールを送信するために使用されます。

構文:

mail(to,subject,message,headers,parameters)

57.png


注: PHP でメール関数を実行するには、メール システム (sendmail、postfix、 qmailなど)。使用されるプログラムは、php.ini ファイルの構成設定によって定義されます。詳細については、「PHP メール リファレンス マニュアル」を参照してください。




2. PHP シンプルな電子メール

PHP を通じて電子メールを送信する最も簡単な方法は、テキスト メールを送信することです。

以下の例では、最初に変数 ($to、$subject、$message、$from、$headers) を宣言し、次にこれらの変数を mail() 関数で使用して電子メールを送信します

例:コードは次のとおりです

<?php
$to = "1264010730@qq.com";         // 邮件接收者
$subject = "参数邮件";                // 邮件标题
$message = "Hello! 这是邮件的内容。";  // 邮件正文
$from = "1264010730@qq.com";   // 邮件发送者
$headers = "From:" . $from;         // 头部信息设置
mail($to,$subject,$message,$headers);
echo "邮件已发送";
?>

3. PHPメールフォーム

PHPを通じて、サイトにフィードバックフォームを作成できます。次の例は、指定された電子メール アドレスにテキスト メッセージを送信します

例: コードは次のとおりです:

<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<?php
if (isset($_REQUEST['email'])) { // 如果接收到邮箱参数则发送邮件
	// 发送邮件
	$email = $_REQUEST['email'] ;
	$subject = $_REQUEST['subject'] ;
	$message = $_REQUEST['message'] ;
	mail("someone@example.com", $subject,
	$message, "From:" . $email);
	echo "邮件发送成功";
} else { // 如果没有邮箱参数则显示表单
	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>

出力は右に示されています

コードの説明:

まず、メール入力ボックスが入力されています

未入力の場合(初めてページにアクセスした場合など)、HTMLフォームを出力します

入力されている場合(フォーム入力後)、メールを送信フォームから

フォームに記入したら送信ボタンをクリックします。その後、ページがリロードされ、メールの入力がリセットされ、メールが正常に送信されたことを示すメッセージが表示されます

。注: この単純な電子メールは安全ではありません。このチュートリアルの次の章では、電子メール スクリプトのセキュリティ リスクについて詳しく知るために、ユーザー入力を検証して安全性を高める方法を説明します。

学習体験: 送信失敗の理由の分析

上記の最初の例では、次のエラー メッセージが表示される場合があります

58.png

アラームの説明:

ホスト ポート 25 がメール サーバーに接続できません。 SMTP (メール転送プロトコル)


4. PHP メール リファレンス マニュアル

PHP mail() 関数の詳細については、PHP メール リファレンス マニュアルを参照してください。


学び続ける
||
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php if (isset($_REQUEST['email'])) { // 如果接收到邮箱参数则发送邮件 // 发送邮件 $email = $_REQUEST['email'] ; $subject = $_REQUEST['subject'] ; $message = $_REQUEST['message'] ; mail("someone@example.com", $subject, $message, "From:" . $email); echo "邮件发送成功"; } else { // 如果没有邮箱参数则显示表单 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>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜