使用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 但是这个目录正好是我的图像的正确目录,所以

我在“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;
    }
}

和我的服务器访问文件,当我访问此url时:htttp://localhost/projeto/banner-imagens/2014/05/bib_idh.jpg,我得到了我的形象

您的路径不正确。删除
BASE
,并将其替换为项目文件夹的实际文件路径。根据脚本输入完整路径或相对路径

从文件系统上的路径添加附件。


如果这不能解决问题,请确保文件可读。这意味着设置了文件权限,以便web服务器可以访问该文件。

谢谢您的帮助,我的问题似乎真的是这样。现在可以工作了,谢谢:)