我在“sendMail”下面有这个功能,用phpmailer类发送电子邮件。 它的工作正常,我已经发送了成功的电子邮件。
但是现在我试图在我的函数中添加一个附件,所以我将其添加到我的代码中:
$mail->AddAttachment(BASE.'/'.'images/2014/05/image4.jpg','image 4');
我有这个错误:
无法访问文件: localhost / project / images / 2014/05 / image4.jpg
但是这个目录正是我图像的正确目录,所以我不明白为什么会发生这种错误。
有人知道我在这里遗失了什么吗?
我发送电子邮件的功能:
function sendMail($subject,$message,$emissor,$emissorName,$receptor,$receptorName, $reply = NULL, $replyName = NULL){
require_once('mail/class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->IsHTML(true);
$mail->SMTPSecure = "tls";
$mail->Host = MAILHOST;
$mail->Port = MAILPORT;
$mail->Username = MAILUSER;
$mail->Password = MAILPASS;
$mail->From = utf8_decode($emissor);
$mail->FromName = utf8_decode($emissorName);
$mail->Subject = utf8_decode($subject);
$mail->Body = utf8_decode($message);
$mail->AddAddress(utf8_decode($receptor),utf8_decode($receptorName));
$mail->AddAttachment(BASE.'/'.'images/2014/05/image4.jpg','image 4');
if($reply != NULL){
$mail->AddReplyTo(utf8_decode($reply),utf8_decode($replyNome));
}
if($mail->Send()){
return true;
}
else{
return false;
}
}
我的服务器访问文件,当我访问此网址时:htt://localhost/projeto/banner-imagens/2014/05/bib_idh.jpg,我得到了我的图片!
答案 0 :(得分:1)
您的路径不正确。删除BASE
并将其替换为项目文件夹的实际文件路径。根据脚本输入完整路径或相对路径。
从文件系统上的路径添加附件。 http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#method_addAttachment
如果不解决它,也要确保文件可读。这意味着设置了文件权限,以便Web服务器可以访问该文件。