📅  最后修改于: 2023-12-03 14:57:12.944000             🧑  作者: Mango
在 Web 开发中,向网站访问者发送电子邮件是一个常见的任务。对于 PHP 开发人员来说,从表单发送电子邮件是一种解决方案。在本文中,我们将看到如何使用 PHP 从表单中捕获信息,并使用电子邮件服务发送邮件。
在使用 PHP 发送电子邮件之前,我们需要了解邮件所需参数。以下是一些必需的参数:
以下是一些可选的参数:
首先,我们需要在 HTML 中创建一个表单,以便用户可以输入他们的详细信息。
<form action="form-handler.php" method="post">
<label for="name">姓名:</label>
<input type="text" id="name" name="name" placeholder="请输入您的姓名" required>
<label for="email">电子邮件:</label>
<input type="email" id="email" name="email" placeholder="请输入您的电子邮件" required>
<label for="message">留言:</label>
<textarea id="message" name="message" placeholder="请输入您的留言" required></textarea>
<button type="submit">提交</button>
</form>
表单将向名为 form-handler.php
的 PHP 文件提交。它包括输入字段 name
,email
和 message
。
当表单提交时,我们需要捕获 POST 请求。使用 PHP 可以通过以下方式接收:
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
}
上述代码将检查请求方法是否为 POST,并从表单中接收 name
,email
和 message
输入。
我们需要使用 PHPMailer 库来发送电子邮件。PHPMailer 是比较流行的 PHP 程序,可以发送电子邮件。您可以使用 Composer 安装 PHPMailer:
composer require phpmailer/phpmailer
接下来,我们需要获取邮件功能所需的参数,并使用 PHPMailer 发送电子邮件。以下是一个示例代码:
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'youremail@gmail.com';
$mail->Password = 'yourpassword';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
// Catch the form data
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
}
//Recipients
$mail->setFrom($email, $name);
$mail->addAddress('recipient@example.com', 'John Doe');
//Content
$mail->isHTML(true);
$mail->Subject = 'New Message From ' . $name;
$mail->Body = $message;
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}
此代码将使用 PHPMailer 发送电子邮件。将参数替换为您的邮件信息(即:发送服务器、发件人地址、收件人地址和电子邮件正文)。如果电子邮件成功发送,您将看到“邮件已发送”的消息。
使用 PHPMailer 库,可以轻松地从表单发送电子邮件。在本文中,我们涵盖了电子邮件的必要参数,详细描述了如何使用 PHPMailer 发送邮件,并提供了示例代码。