阅读量:0
要使用PHP发送带附件的电子邮件,您可以使用PHPMailer库。以下是使用PHPMailer发送带附件的电子邮件的步骤:
- 首先,确保您已经安装了PHPMailer库。如果没有,可以通过Composer安装:
composer require phpmailer/phpmailer
- 创建一个新的PHP文件(例如:send_email_with_attachment.php),并在其中包含以下代码:
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; use PHPMailer\PHPMailer\SMTP; require 'vendor/autoload.php'; $mail = new PHPMailer(true); try { // 邮件服务器设置 $mail->SMTPDebug = SMTP::DEBUG_SERVER; // 开启详细调试输出 $mail->isSMTP(); // 设置邮件发送使用SMTP协议 $mail->Host = 'smtp.example.com'; // 设置邮件发送服务器的地址 $mail->SMTPAuth = true; // 开启使用SMTP认证功能 $mail->Username = 'your_email@example.com'; // 设置发送邮件的用户名 $mail->Password = 'your_email_password'; // 设置发送邮件的密码 $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // 设置加密类型 $mail->Port = 465; // 设置邮件发送端口 // 发件人和收件人 $mail->setFrom('your_email@example.com', 'Your Name'); $mail->addAddress('recipient@example.com', 'Recipient Name'); // 附件 $mail->addAttachment('/path/to/your/attachment.ext', 'Attachment Name'); // 邮件内容 $mail->isHTML(true); // 设置邮件正文格式为HTML $mail->Subject = 'Email with Attachment'; // 设置邮件主题 $mail->Body = 'This is the HTML message body <b>in bold!</b>'; $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; $mail->send(); echo 'Message has been sent'; } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; } ?>
- 修改代码中的以下变量:
smtp.example.com
:将其替换为您的邮件服务器地址。your_email@example.com
:将其替换为您的发件人电子邮件地址。your_email_password
:将其替换为您的发件人电子邮件密码。/path/to/your/attachment.ext
:将其替换为您要附加的文件路径和扩展名。recipient@example.com
:将其替换为收件人的电子邮件地址。Recipient Name
:将其替换为收件人的名称。Attachment Name
:将其替换为您要附加的文件名称。
- 在命令行中运行PHP文件:
php send_email_with_attachment.php
现在,您应该能够成功发送带有附件的电子邮件。如果您遇到任何问题,请检查您的邮件服务器设置和电子邮件凭据是否正确。