[英]PHP Mailer -> PDF to Email provides blank PDF as attachment
[英]Simple PDF file attachment in PHP Mailer
我正在嘗試使用 PHP 郵件程序以最簡單的方式發送帶有附件的電子郵件。
我試過用這個
$mail ->addAttachment("path_to_pdf", "pdf_name);
但它不起作用,因為“郵件已發送”但“PDF 文件附件”未發送。
請幫我解決我的問題,我想在我想發送給收件人的電子郵件中附上一個pdf文件。 謝謝!
這是我用來發送帶有文件附件的電子郵件的文件。
index.html
<html>
<head>
</head>
<body>
<form method="post" action="send_mail.php" enctype="multipart/form-data">
To : <input type="text" name="mail_to"> <br/>
Subject : <input type="text" name="mail_sub">
<br/>
Message <input type="text" name="mail_msg">
<br/>
File: <input type="file" name="file" >
<br/>
<input type="submit" value="Send Email">
</form>
</body>
</html>
和
發送郵件.php
<?php
$mailto = $_POST['mail_to'];
$mailSub = $_POST['mail_sub'];
$mailMsg = $_POST['mail_msg'];
require 'PHPMailer-master/PHPMailerAutoload.php';
$mail = new PHPMailer();
$mail ->IsSmtp();
$mail ->SMTPDebug = 0;
$mail ->SMTPAuth = true;
$mail ->SMTPSecure = 'ssl';
$mail ->Host = "smtp.gmail.com";
$mail ->Port = 465; // or 587
$mail ->IsHTML(true);
$mail ->Username = "acc.ldevera@gmail.com";
$mail ->Password = "accountsamplepassword";
$mail ->SetFrom("acc.sample@gmail.com");
$mail ->Subject = $mailSub;
$mail ->Body = $mailMsg;
$mail ->AddAddress($mailto);
$mail->AddAttachment('pdf_files/', 'reservation.pdf');
if(!$mail->Send())
{
echo "Mail Not Sent";
}
else
{
echo "Mail Sent";
}
?>
請幫我解決我的問題,謝謝!
這條線不符合你的期望
$mail->AddAttachment('pdf_files/', 'reservation.pdf');
它試圖找到一個名為“pdf_files/”的文件並想要添加它。 但是,正如您現在想象的那樣,這不是一個正確的文件名。 的第一個參數AddAttachment
是文件的路徑(即是包括文件的文件名),第二個參數是文件名,這是在電子郵件顯示,該文件是如何設想被稱作/命名,因此你可以不同地調用它,而無需重命名原始文件。
所以上面的行應該是:
$mail->AddAttachment('pdf_files/reservation.pdf', 'reservation.pdf');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.