📅  最后修改于: 2023-12-03 15:39:50.990000             🧑  作者: Mango
如果您的网站需要让用户填写表单并向管理员发送电子邮件,那么本指南将帮助您实现该功能。我们将使用PHP来完成此操作。
首先,我们需要安装 PHPMailer 这个库,它是一个发送邮件的PHP类库。您可以使用 Composer 来快速安装,也可以手动下载并导入到项目中。
在您的项目中打开终端或命令行提示符,输入以下命令进行安装:
composer require phpmailer/phpmailer
下载最新的 PHPMailer-x.y.z.zip
文件,并解压到您的项目目录中
在您的代码中引入 PHPMailerAutoload.php
文件,例如:
require_once '/path/to/PHPMailerAutoload.php';
以下是一个简单的用 PHPMailer 发送邮件的示例代码:
<?php
require_once '/path/to/PHPMailerAutoload.php';
// 创建 PHPMailer 实例
$mail = new PHPMailer;
// 配置邮件服务器信息
$mail->isSMTP(); // 使用 SMTP 方式发送邮件
$mail->Host = 'smtp.example.com'; // SMTP 服务器地址
$mail->SMTPAuth = true; // 开启 SMTP 认证
$mail->Username = 'your_email@example.com'; // SMTP 登录账号
$mail->Password = 'your_email_password'; // SMTP 登录密码
$mail->SMTPSecure = 'tls'; // SMTP 安全协议(tls 或 ssl)
$mail->Port = 587; // SMTP 服务器端口号
// 配置发送者和接收者信息
$mail->setFrom('your_email@example.com', 'Your Name'); // 发件人邮箱和姓名
$mail->addAddress('recipient@example.com', 'Recipient Name'); // 收件人邮箱和姓名
// 添加附件(可选)
$mail->addAttachment('/path/to/file.jpg', 'new-name.jpg'); // 附件文件路径和新文件名
// 配置邮件主题和内容
$mail->Subject = '邮件主题';
$mail->isHTML(true); // 是否使用 HTML 格式
$mail->Body = '<b>邮件内容HTML部分</b>'; // 邮件主体HTML部分
$mail->AltBody = '邮件内容非HTML部分'; // 邮件主体纯文本部分
// 发送邮件
if(!$mail->send()) {
echo 'Mailer Error: '.$mail->ErrorInfo;
} else {
echo 'Message sent!';
}
?>
现在,我们了解了如何发送邮件,下面我们将把表单提交和邮件发送结合起来。
假设我们有一个简单的联系表单,表单中包含姓名、电子邮件和留言。当用户填写完表单并单击“提交”按钮时,应该将表单数据通过电子邮件发送给网站管理员。
以下是处理表单提交并发送邮件的代码:
<?php
/* 处理表单提交 */
if (!empty($_POST)) {
/* 接收表单数据 */
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);
/* 发送邮件 */
require_once '/path/to/PHPMailerAutoload.php';
$mail = new PHPMailer;
// 配置邮件服务器信息
$mail->isSMTP(); // 使用 SMTP 方式发送邮件
$mail->Host = 'smtp.example.com'; // SMTP 服务器地址
$mail->SMTPAuth = true; // 开启 SMTP 认证
$mail->Username = 'your_email@example.com'; // SMTP 登录账号
$mail->Password = 'your_email_password'; // SMTP 登录密码
$mail->SMTPSecure = 'tls'; // SMTP 安全协议(tls 或 ssl)
$mail->Port = 587; // SMTP 服务器端口号
// 配置发送者和接收者信息
$mail->setFrom($email, $name); // 发件人邮箱和姓名
$mail->addAddress('admin@example.com', 'Administrator'); // 收件人邮箱和姓名
// 配置邮件主题和内容
$mail->Subject = 'New Message From Contact Form';
$mail->isHTML(true); // 使用 HTML 格式
$mail->Body = "Name: $name<br>Email: $email<br>Message: $message"; // 邮件主体HTML部分
if(!$mail->send()) {
echo 'Mailer Error: '.$mail->ErrorInfo;
} else {
echo 'Message sent!';
}
}
?>
<!-- HTML表单代码 -->
<form method="post" action="">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<label for="message">Message:</label>
<textarea id="message" name="message" required></textarea>
<button type="submit">Submit</button>
</form>
本指南涵盖了如何使用 PHPMailer 发送电子邮件,并演示了如何将表单处理和电子邮件发送结合起来。这些示例代码可为您的网站提供完整的发送邮件功能。
Markdown 返回值:
# 提交表单时发送电子邮件 PHP
如果您的网站需要让用户填写表单并向管理员发送电子邮件,那么本指南将帮助您实现该功能。我们将使用PHP来完成此操作。
## 1. 安装邮件发送库
首先,我们需要安装 `PHPMailer` 这个库,它是一个发送邮件的PHP类库。您可以使用 Composer 来快速安装,也可以手动下载并导入到项目中。
### 安装方式一:使用 Composer 安装
在您的项目中打开终端或命令行提示符,输入以下命令进行安装:
composer require phpmailer/phpmailer
### 安装方式二:手动下载
1. 访问 [https://github.com/PHPMailer/PHPMailer/releases](https://github.com/PHPMailer/PHPMailer/releases)
2. 下载最新的 `PHPMailer-x.y.z.zip` 文件,并解压到您的项目目录中
3. 在您的代码中引入 `PHPMailerAutoload.php` 文件,例如:
```php
require_once '/path/to/PHPMailerAutoload.php';
```
## 2. 编写 PHP 发送邮件代码
以下是一个简单的用 PHPMailer 发送邮件的示例代码:
```php
<?php
require_once '/path/to/PHPMailerAutoload.php';
// 创建 PHPMailer 实例
$mail = new PHPMailer;
// 配置邮件服务器信息
$mail->isSMTP(); // 使用 SMTP 方式发送邮件
$mail->Host = 'smtp.example.com'; // SMTP 服务器地址
$mail->SMTPAuth = true; // 开启 SMTP 认证
$mail->Username = 'your_email@example.com'; // SMTP 登录账号
$mail->Password = 'your_email_password'; // SMTP 登录密码
$mail->SMTPSecure = 'tls'; // SMTP 安全协议(tls 或 ssl)
$mail->Port = 587; // SMTP 服务器端口号
// 配置发送者和接收者信息
$mail->setFrom('your_email@example.com', 'Your Name'); // 发件人邮箱和姓名
$mail->addAddress('recipient@example.com', 'Recipient Name'); // 收件人邮箱和姓名
// 添加附件(可选)
$mail->addAttachment('/path/to/file.jpg', 'new-name.jpg'); // 附件文件路径和新文件名
// 配置邮件主题和内容
$mail->Subject = '邮件主题';
$mail->isHTML(true); // 是否使用 HTML 格式
$mail->Body = '<b>邮件内容HTML部分</b>'; // 邮件主体HTML部分
$mail->AltBody = '邮件内容非HTML部分'; // 邮件主体纯文本部分
// 发送邮件
if(!$mail->send()) {
echo 'Mailer Error: '.$mail->ErrorInfo;
} else {
echo 'Message sent!';
}
?>
```
## 3. 处理表单提交并发送邮件
现在,我们了解了如何发送邮件,下面我们将把表单提交和邮件发送结合起来。
假设我们有一个简单的联系表单,表单中包含姓名、电子邮件和留言。当用户填写完表单并单击“提交”按钮时,应该将表单数据通过电子邮件发送给网站管理员。
以下是处理表单提交并发送邮件的代码:
```php
<?php
/* 处理表单提交 */
if (!empty($_POST)) {
/* 接收表单数据 */
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);
/* 发送邮件 */
require_once '/path/to/PHPMailerAutoload.php';
$mail = new PHPMailer;
// 配置邮件服务器信息
$mail->isSMTP(); // 使用 SMTP 方式发送邮件
$mail->Host = 'smtp.example.com'; // SMTP 服务器地址
$mail->SMTPAuth = true; // 开启 SMTP 认证
$mail->Username = 'your_email@example.com'; // SMTP 登录账号
$mail->Password = 'your_email_password'; // SMTP 登录密码
$mail->SMTPSecure = 'tls'; // SMTP 安全协议(tls 或 ssl)
$mail->Port = 587; // SMTP 服务器端口号
// 配置发送者和接收者信息
$mail->setFrom($email, $name); // 发件人邮箱和姓名
$mail->addAddress('admin@example.com', 'Administrator'); // 收件人邮箱和姓名
// 配置邮件主题和内容
$mail->Subject = 'New Message From Contact Form';
$mail->isHTML(true); // 使用 HTML 格式
$mail->Body = "Name: $name<br>Email: $email<br>Message: $message"; // 邮件主体HTML部分
if(!$mail->send()) {
echo 'Mailer Error: '.$mail->ErrorInfo;
} else {
echo 'Message sent!';
}
}
?>
<!-- HTML表单代码 -->
<form method="post" action="">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<label for="message">Message:</label>
<textarea id="message" name="message" required></textarea>
<button type="submit">Submit</button>
</form>
```
## 结论
本指南涵盖了如何使用 PHPMailer 发送电子邮件,并演示了如何将表单处理和电子邮件发送结合起来。这些示例代码可为您的网站提供完整的发送邮件功能。