首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 表單送出後使用 mail() 發送電子郵件教學

     編輯:PHP 綜合知識

前言

PHP 內建 mail() 函數可發送簡單郵件。本文示範基本表單提交與郵件發送流程。

HTML 表單 email.html

<html>
<head><title>Simple Send Mail</title></head>
<body>
<h1>Mail Form</h1>
<form name="form1" method="post" action="mail.php">
<table>
<tr><td><b>To</b></td><td><input type="text" name="mailto" size="35"></td></tr>
<tr><td><b>Subject</b></td><td><input type="text" name="mailsubject" size="35"></td></tr>
<tr><td><b>Message</b></td><td><textarea name="mailbody" cols="50" rows="7"></textarea></td></tr>
<tr><td colspan="2"><input type="submit" name="Submit" value="Send"></td></tr>
</table>
</form>
</body>
</html>

PHP 處理 mail.php

<?php
$mailto = $_POST['mailto'] ?? '';
$subject = $_POST['mailsubject'] ?? '';
$body = $_POST['mailbody'] ?? '';

if (empty($mailto)) {
    die("收件人不可為空!");
}

$result = mail($mailto, $subject, $body);

if ($result) {
    echo "郵件發送成功!";
} else {
    echo "郵件發送失敗,請檢查郵件伺服器設定。";
}
?>

關鍵設定檢查

  • php.ini:SMTP、smtp_port(Windows)、sendmail_path(Linux)。
  • Linux 需安裝 postfix 或 sendmail:yum install postfix / apt install postfix。
  • 郵件常被判定為垃圾郵件,生產環境**強烈建議使用 SMTP 庫**(PHPMailer、SwiftMailer、Symfony Mailer)透過正規 SMTP 伺服器發送。

進階:使用 PHPMailer(推薦)

composer require phpmailer/phpmailer

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

$mail = new PHPMailer(true);
try {
    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'your@gmail.com';
    $mail->Password = 'app_password';
    $mail->SMTPSecure = 'tls';
    $mail->Port = 587;

    $mail->setFrom('your@gmail.com', 'Your Name');
    $mail->addAddress($mailto);
    $mail->Subject = $subject;
    $mail->Body    = $body;
    $mail->send();
    echo '郵件已發送';
} catch (Exception $e) {
    echo "發送失敗: {$mail->ErrorInfo}";
}
?>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved