2015-10-19 182 views
0

任何人都可以帮助我解决这个问题。我试图发送PDF附件与CakePHP。我认为所有的事情都应该很好。但为什么我在屏幕上看到电子邮件的结果?无法通过CakePHP邮件发送电子邮件附件PDF

enter image description here

我的代码发送PDF:

function send_notif_email($email=null,$template='default',$data=null,$subject='Notification',$noreplay=true,$attachment=array()) { 
    $Email = new CakeEmail('default'); 
    $emailData = $data; 

    if($Email->template($template) 
    ->emailFormat('html') 
    ->to($email) 
    ->from(($noreplay == true)?Configure::read('Meta.noreplay'):Configure::read('Meta.email')) 
    ->replyTo(($noreplay == true)?Configure::read('Meta.noreplay'):Configure::read('Meta.email')) 
    ->setHeaders(array(
     'From' => ($noreplay == true)?Configure::read('Meta.noreplay'):Configure::read('Meta.email'), 
     'Reply-To' => ($noreplay == true)?Configure::read('Meta.noreplay'):Configure::read('Meta.email'), 
     'MIME-Version' => '1.0', 
     'Content-type' => 'text/html; charset=iso-8859-1', 
    )) 
    ->attachments($attachment) 
    ->subject($subject) 
    ->viewVars(compact('emailData')) /*set data*/ 
    ->send()) { 
     return true; 
    } 

    return false; 
} 

我只是检查所有附件阵列和文件路径,所有的罚款:

array(
     'penawaran_0001_VN_SPN_X_2015' => '/home3/salesku/public_html/penawaran-online/app/webroot/upload/offer/00001/penawaran_0001_VN_SPN_X_2015.pdf', 
     'X100.pdf' => '/home3/salesku/public_html/penawaran-online/app/webroot/upload/attachment/00001/X100.pdf' 
    ) 

感谢您的帮助。

回答

1

我想我刚发现这个问题。 看起来可能的setHeader应该从方法send_notif_email中移除。

不与新代码的工作:

function send_notif_email($email=null,$template='default',$data=null,$subject='Notification',$noreplay=true,$attachment=array()) { 
    $Email = new CakeEmail('default'); 
    $emailData = $data; 

    if($Email->template($template) 
    ->emailFormat('html') 
    ->to($email) 
    ->from(($noreplay == true)?Configure::read('Meta.noreplay'):Configure::read('Meta.email')) 
    ->replyTo(($noreplay == true)?Configure::read('Meta.noreplay'):Configure::read('Meta.email')) 
    ->attachments($attachment) 
    ->subject($subject) 
    ->viewVars(compact('emailData')) /*set data*/ 
    ->send()) { 
     return true; 
    } 

    return false; 
} 

感谢所有。

相关问题