📜  在邮件中发送附件 php (1)

📅  最后修改于: 2023-12-03 15:37:47.304000             🧑  作者: Mango

在邮件中发送附件 PHP

PHP作为一种在web开发中广泛使用的语言,自然也被用于编写邮件的发送和接收。在很多场景下,我们需要在邮件中添加一些附件,例如发送一份报告或者一张图片等。

本文将会介绍在PHP中如何发送邮件并添加附件。

准备工作

在开始之前,需要确保你已经安装了PHP邮件库,例如PHPMailer。如果你没有安装,可以使用以下的命令来安装:

composer require phpmailer/phpmailer
发送邮件

在准备工作完成之后,可以通过以下步骤来发送邮件:

  1. 导入PHPMailer库

    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
    require 'vendor/autoload.php'; // composer autoload
    
  2. 实例化一个PHPMailer对象

    $mail = new PHPMailer(true);
    $mail->SMTPDebug = 0; // 生产环境中应该设置为 0
    $mail->isSMTP(); // 使用 smtp 协议发送邮件
    $mail->Host = 'smtp.exmail.qq.com'; // SMTP 服务器地址
    $mail->SMTPAuth = true; // 启用 SMTP 认证
    $mail->Username = 'your_username@example.com'; // SMTP 用户名
    $mail->Password = 'your_password'; // SMTP 密码
    $mail->SMTPSecure = 'tls'; // 启用 TLS 加密,注释掉即为非加密
    $mail->Port = 587; // 端口号,注释掉即为默认端口号 25
    
  3. 配置发件人和收件人信息

    $mail->setFrom('from@example.com', 'Your Name'); // 发件人地址和名称
    $mail->addAddress('to@example.com', 'Recipient Name'); // 收件人地址和名称
    
  4. 配置邮件内容

    $mail->isHTML(true); // 使用 HTML 邮件格式
    $mail->Subject = '邮件主题'; // 邮件主题
    $mail->Body = '<h1>邮件内容</h1><p>邮件内容</p>'; // 邮件内容
    
  5. 添加附件

    $mail->addAttachment('/path/to/file.pdf', '报告.pdf'); // 添加一个附件
    
  6. 发送邮件

    $mail->send();
    
完整代码
// 导入PHPMailer库
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php'; // composer autoload

// 实例化一个PHPMailer对象
$mail = new PHPMailer(true);
$mail->SMTPDebug = 0; // 生产环境中应该设置为 0
$mail->isSMTP(); // 使用 smtp 协议发送邮件
$mail->Host = 'smtp.exmail.qq.com'; // SMTP 服务器地址
$mail->SMTPAuth = true; // 启用 SMTP 认证
$mail->Username = 'your_username@example.com'; // SMTP 用户名
$mail->Password = 'your_password'; // SMTP 密码
$mail->SMTPSecure = 'tls'; // 启用 TLS 加密,注释掉即为非加密
$mail->Port = 587; // 端口号,注释掉即为默认端口号 25

// 配置发件人和收件人信息
$mail->setFrom('from@example.com', 'Your Name'); // 发件人地址和名称
$mail->addAddress('to@example.com', 'Recipient Name'); // 收件人地址和名称

// 配置邮件内容
$mail->isHTML(true); // 使用 HTML 邮件格式
$mail->Subject = '邮件主题'; // 邮件主题
$mail->Body = '<h1>邮件内容</h1><p>邮件内容</p>'; // 邮件内容

// 添加附件
$mail->addAttachment('/path/to/file.pdf', '报告.pdf'); // 添加一个附件

// 发送邮件
$mail->send();

以上就是在PHP中发送邮件并添加附件的详细步骤了。如果你有任何疑问或者建议,欢迎在评论中提出。