Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPMailer can';不要附上pdf文件_Php_Email_Attachment_Phpmailer - Fatal编程技术网

PHPMailer can';不要附上pdf文件

PHPMailer can';不要附上pdf文件,php,email,attachment,phpmailer,Php,Email,Attachment,Phpmailer,我一直在尝试发送一封带有pdf附件的电子邮件。我正在使用PHPMailer,但似乎无法管理它。我已经尝试了很多不同的addattachment方法,也尝试了不同的文件路径。代码如下: require_once ("class.phpmailer.php"); $lc_name = $_SESSION['lc_name']; $filename = "email_attachment/".$lc_id.".pdf"; require_once ("func_ui.

我一直在尝试发送一封带有pdf附件的电子邮件。我正在使用PHPMailer,但似乎无法管理它。我已经尝试了很多不同的addattachment方法,也尝试了不同的文件路径。代码如下:

    require_once ("class.phpmailer.php");
    $lc_name = $_SESSION['lc_name'];

    $filename = "email_attachment/".$lc_id.".pdf";
    require_once ("func_ui.php");

    $vou_mail = func_ui::select_mail($lc_id, 3);

    if($vou_mail["auto"] == 0)
    {
        return;
    }
    else
    {
        $custom_body = $vou_mail["body"];
    }

    $body = "Dear customer,<br><br>

    $custom_body<br><br>

    Kind Regards,<br><br>

    $gm_name<br>
    Centre Manager";

    $mail = new PHPMailer();
    try {
    $mail->IsSMTP();
    $mail->Host = "****"; // SMTP server
    $mail->SMTPAuth = true; // enable SMTP authentication
                            // $mail->SMTPSecure = "ssl"; // sets the prefix to the servier
    $mail->Port = ***; // set the SMTP port for the GMAIL server
    $mail->Username = "******"; // GMAIL username
    $mail->Password = "****"; // GMAIL password
    $from_name = '***';
    $subject = '';
    //$mail->AddAttachment($filename, "", "base64", "application/pdf");
    //$mail->AddAttachment(realpath('./email_attachment/1220.pdf'),'1220.pdf','base64', 'application/pdf');

    $mail->SetFrom('info@***.com', "");
    $mail->AddReplyTo("info@***.com", "");
    $mail->Subject = "$lc_name - Voucher.";
    //$mail->IsHTML(false);
    $reason = $mail->addAttachment("/email_attachment/1220.pdf");
    $mail->AltBody = "To view the message, please use an HTML compatible m_email viewer!"; // optional, comment out and test
    $mail->MsgHTML($body);

    $mail->AddAddress($email_v, "");

    if ($reason == false){
        echo "Didn't like this line\n";
    }
    else
    {
        echo "worked ?";
    }

    if(! $mail->Send())
    {
        echo "Mailer Error: " . $mail->ErrorInfo;
    }
    else
    {
        echo "Message sent!";
    }
    $mailer->ClearAddresses();
    $mailer->ClearAttachments();
    } catch (phpmailerException $e) {
        echo $e->errorMessage(); //Pretty error messages from PHPMailer
    } catch (Exception $e) {
        echo $e->getMessage(); //Boring error messages from anything else!
    }
require_一次(“class.phpmailer.php”);
$lc_name=$_会话['lc_name'];
$filename=“email\u attachment/”$lc\u id..pdf”;
需要一次(“func_ui.php”);
$vou_mail=func_ui::select_mail($lc_id,3);
如果($vou_mail[“自动”]==0)
{
返回;
}
其他的
{
$custom_body=$vou_mail[“body”];
}
$body=“亲爱的客户,

$custom_body

亲切的问候,

$gm_名称
中心经理”; $mail=new PHPMailer(); 试一试{ $mail->IsSMTP(); $mail->Host=“****”;//SMTP服务器 $mail->SMTPAuth=true;//启用SMTP身份验证 //$mail->SMTPSecure=“ssl”;//将前缀设置为服务器 $mail->Port=***;//设置GMAIL服务器的SMTP端口 $mail->Username=“*******”;//GMAIL用户名 $mail->Password=“****”;//GMAIL密码 $from_name='***'; $subject=''; //$mail->AddAttachment($filename,“,“base64”,“application/pdf”); //$mail->AddAttachment(realpath('./email_attachment/1220.pdf')、'1220.pdf'、'base64'、'application/pdf'); $mail->SetFrom('info@***.com',”); $mail->AddReplyTo(“info@***.com”,”); $mail->Subject=“$lc\U名称-凭证。”; //$mail->IsHTML(错误); $reason=$mail->addAttachment(“/email_attachment/1220.pdf”); $mail->AltBody=“要查看邮件,请使用与HTML兼容的m_电子邮件查看器!”;//可选,注释并测试 $mail->MsgHTML($body); $mail->AddAddress($email_v,“”); 如果($reason==false){ echo“不喜欢这行\n”; } 其他的 { echo“工作了吗?”; } 如果(!$mail->Send()) { 回显“邮件错误:”.$mail->ErrorInfo; } 其他的 { 回显“已发送消息!”; } $mailer->ClearAddresses(); $mailer->ClearAttachments(); }捕获(phpmailerException$e){ echo$e->errorMessage();//来自PHPMailer的漂亮错误消息 }捕获(例外$e){ echo$e->getMessage();//来自其他任何内容的无聊错误消息! }
其中有以下行:

$reason = $mail->addAttachment("/email_attachment/1220.pdf");
尝试将其更改为:

$mail->addAttachment('/email_attachment/1220.pdf','1220.pdf');
您有想要附加到那里的PDF的路径,但还需要再次提供它的文件名。
我在测试其他PHPmailer函数时测试了这个功能

您也尝试过绝对文件路径吗?它到底是什么?我使用的是基于linux的服务器。那么它应该像var/public\u html/email\u attachment/1220.pdf一样吗?绝对路径是从根目录开始的路径。在*nix世界中,它类似于
/var/www/mysite.com/pdfs/mypdf.pdf
或者在Win世界中类似于:
C:\wwwroot\mysite.com\pdfs\mypdf.pdf
请注意*nix系统上的开头斜杠
/
var。立即尝试,但似乎不起作用:/