📅  最后修改于: 2023-12-03 14:45:21.360000             🧑  作者: Mango
有时候,我们需要通过电子邮件发送一些附件,如照片、文档等等。PHP 提供了一个非常便捷的方式来实现这个功能。在本篇文章中,我们将学习如何用 PHP 发送电子邮件并附带附件。
在编写代码之前,我们需要确保以下条件已满足:
首先,我们需要使用 PHPMailer 类来发送邮件。使用前,需要先安装 PHPMailer。可以使用 Composer 安装,也可以从官网下载 ZIP 文件并解压。在这里假设你已经下载并解压好了 PHPMailer。
注意:使用 PHPMailer 需要开启 OpenSSL 扩展,请确保已开启。
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';
$mail = new PHPMailer(TRUE);
// SMTP 服务器地址和端口号
$mail->Host = 'smtp.example.com';
$mail->Port = 587;
// SMTP 身份验证
$mail->SMTPAuth = TRUE;
// SMTP 账号和密码
$mail->Username = 'your-email@example.com';
$mail->Password = 'your-password';
接下来,我们需要设置邮件的内容,包括收件人、发件人、主题、邮件内容等等。在这里假设你已经设置好了这些内容,具体实现可以参考 PHPMailer 文档。
最后一步,我们需要添加附件。使用 PHPMailer,可以通过 $mail->addAttachment($path, $name)
方法来添加附件。其中,$path
表示附件在服务器上的路径,$name
表示附件的名称,可选参数。
以下是示例代码:
// 添加附件
$attachment_path = '/path/to/attachment.jpg';
$attachment_name = 'attachment.jpg';
$mail->addAttachment($attachment_path, $attachment_name);
以下是完整的示例代码:
<?php
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\PHPMailer;
require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';
$mail = new PHPMailer(TRUE);
// SMTP 服务器地址和端口号
$mail->Host = 'smtp.example.com';
$mail->Port = 587;
// SMTP 身份验证
$mail->SMTPAuth = TRUE;
// SMTP 账号和密码
$mail->Username = 'your-email@example.com';
$mail->Password = 'your-password';
// 收件人、发件人、主题、邮件内容等等
$mail->setFrom('your-email@example.com', 'Your Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');
$mail->Subject = 'PHPMailer Example';
$mail->msgHTML('This is a message.');
// 添加附件
$attachment_path = '/path/to/attachment.jpg';
$attachment_name = 'attachment.jpg';
$mail->addAttachment($attachment_path, $attachment_name);
// 发送邮件
if ($mail->send()) {
echo 'Email sent.';
} else {
echo 'Email failed.';
}
在本篇文章中,我们学习了如何用 PHP 发送电子邮件并附带附件。使用 PHPMailer,可以轻松实现发送邮件的功能。为了保证代码的可读性和可维护性,建议将代码按照上述步骤分段编写。