使用phpmailer类在电子邮件中发送附件:无法访问文件
我在“sendMail”下面有这个函数,可以使用phpmailer类发送电子邮件。 它的工作很好,我已经成功地发送电子邮件了 但现在我试图向函数中添加一个附件,因此我在代码中添加了以下内容:使用phpmailer类在电子邮件中发送附件:无法访问文件,php,phpmailer,email-attachments,Php,Phpmailer,Email Attachments,我在“sendMail”下面有这个函数,可以使用phpmailer类发送电子邮件。 它的工作很好,我已经成功地发送电子邮件了 但现在我试图向函数中添加一个附件,因此我在代码中添加了以下内容: $mail->AddAttachment(BASE.'/'.'images/2014/05/image4.jpg','image 4'); 我有一个错误: 无法访问文件:localhost/project/images/2014/05/image4.jpg 但是这个目录正好是我的图像的正确目录,所以
$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;
}
}
和我的服务器访问文件,当我访问此url时:htttp://localhost/projeto/banner-imagens/2014/05/bib_idh.jpg,我得到了我的形象 您的路径不正确。删除
BASE
,并将其替换为项目文件夹的实际文件路径。根据脚本输入完整路径或相对路径
从文件系统上的路径添加附件。
如果这不能解决问题,请确保文件可读。这意味着设置了文件权限,以便web服务器可以访问该文件。谢谢您的帮助,我的问题似乎真的是这样。现在可以工作了,谢谢:)