PHP Mailer中的简单PDF文件附件

时间:2017-09-01 08:45:12

标签: php html phpmailer

我尝试使用PHP邮件程序以最简单的方式发送-email-with -an附加文件。

我尝试使用此

   $mail ->addAttachment("path_to_pdf", "pdf_name);

但它确实有效,因为" Mail已发送"但" 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>

send_mail.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";
       }

    ?>

请帮我解决我的问题,谢谢!

1 个答案:

答案 0 :(得分:1)

这条线没有做你期望的事情

$mail->AddAttachment('pdf_files/', 'reservation.pdf');

它试图找到一个名为&#39; pdf_files /&#39;的文件。并想要添加它。但是,正如您现在可能想象的那样,这不是一个合适的文件名。 AddAttachment的第一个参数是文件的路径(即包含文件的文件名),第二个参数是文件名,在电子邮件中显示 ,如何文件应该被调用/命名,因此您可以以不同方式调用它,而无需重命名原始文件。

所以上面的行可能应该是:

$mail->AddAttachment('pdf_files/reservation.pdf', 'reservation.pdf');