首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用phpMailer和PHP从表单发送文件附件

使用phpMailer和PHP从表单发送文件附件,可以通过以下步骤实现:

  1. 安装phpMailer:使用Composer安装phpMailer库,可以通过以下命令安装:
代码语言:txt
复制
composer require phpmailer/phpmailer
  1. 创建表单:在HTML文件中创建一个表单,包含发件人、收件人、主题和文件附件等信息。例如:
代码语言:html
复制
<form action="sendmail.php" method="post" enctype="multipart/form-data">
   <label for="sender">发件人:</label>
   <input type="email" name="sender" id="sender" required>
    <br>
   <label for="recipient">收件人:</label>
   <input type="email" name="recipient" id="recipient" required>
    <br>
   <label for="subject">主题:</label>
   <input type="text" name="subject" id="subject" required>
    <br>
   <label for="attachment">附件:</label>
   <input type="file" name="attachment" id="attachment">
    <br>
   <input type="submit" value="发送">
</form>
  1. 编写sendmail.php文件:在sendmail.php文件中,使用phpMailer库发送带有附件的邮件。例如:
代码语言:php
复制
<?php
require 'vendor/autoload.php';

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

$mail = new PHPMailer(true);

try {
    // 邮件服务器设置
    $mail->SMTPDebug = 2;
    $mail->isSMTP();
    $mail->Host = 'smtp.example.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'username';
    $mail->Password = 'password';
    $mail->SMTPSecure = 'tls';
    $mail->Port = 587;

    // 发件人、收件人、主题、正文设置
    $mail->setFrom($_POST['sender'], 'Sender Name');
    $mail->addAddress($_POST['recipient'], 'Recipient Name');
    $mail->Subject = $_POST['subject'];
    $mail->Body = 'This is the HTML message body <b>in bold!</b>';
    $mail->isHTML(true);

    // 附件设置
    if (isset($_FILES['attachment']) && $_FILES['attachment']['error'] == UPLOAD_ERR_OK) {
        $mail->addAttachment($_FILES['attachment']['tmp_name'],
                             $_FILES['attachment']['name']);
    }

    // 发送邮件
    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
  1. 上传附件:在sendmail.php文件中,使用PHP的文件上传功能上传附件。
  2. 发送邮件:在sendmail.php文件中,使用phpMailer库发送带有附件的邮件。

以上就是使用phpMailer和PHP从表单发送文件附件的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券