PHPMailer can';不要附上pdf文件
我一直在尝试发送一封带有pdf附件的电子邮件。我正在使用PHPMailer,但似乎无法管理它。我已经尝试了很多不同的addattachment方法,也尝试了不同的文件路径。代码如下: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.
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。立即尝试,但似乎不起作用:/