如何在 CodeIgniter 中使用自己的电子邮件库通过电子邮件库发送附件
How to send Attachment through email library using own email library in CodeIgniter
如果我在自己的库中编写以下方法,它会成功发送电子邮件,但附件不会显示在电子邮件中,即附件不会随电子邮件附加,同样在启用密件抄送时,它会抛出内部服务器错误,但如果我使用我的控制器中的相同代码工作正常。
public function sendEmail($arrData=array()){
if($arrData['TO_EMAIL']=='') return FALSE;
$status = FALSE;
$config = array(
'protocol' => 'sendmail',
'charset' => 'utf-8',
'wordwrap' => TRUE,
'mailtype' => 'html'
);
$to = 'ra@gmail.com';
$cci =& get_instance();
$cci->load->library('email', $config);
$cci->email->from($arrData['FROM_EMAIL'], $arrData['FROM_NAME']);
$cci->email->to($arrData['TO_EMAIL'], $arrData['TO_NAME']);
if($arrData['CC_EMAIL'])
$cci->email->cc($arrData['CC_EMAIL']);
//$this->email->bcc('ravr@rediffmail.com');
$cci->email->subject($arrData['SUBJECT']);
$cci->email->message($arrData['MESSAGE']);
if($arrData['FILES'])
$cci->email->attach($arrData['FILES']);
$status = $cci->email->send();
return $status;
}
使用路径助手
$this->load->helper('path');
$path = set_realpath('pathtouploads'); //your uploads folder
然后
$this->email->attach($path . $file);
如果我在自己的库中编写以下方法,它会成功发送电子邮件,但附件不会显示在电子邮件中,即附件不会随电子邮件附加,同样在启用密件抄送时,它会抛出内部服务器错误,但如果我使用我的控制器中的相同代码工作正常。
public function sendEmail($arrData=array()){
if($arrData['TO_EMAIL']=='') return FALSE;
$status = FALSE;
$config = array(
'protocol' => 'sendmail',
'charset' => 'utf-8',
'wordwrap' => TRUE,
'mailtype' => 'html'
);
$to = 'ra@gmail.com';
$cci =& get_instance();
$cci->load->library('email', $config);
$cci->email->from($arrData['FROM_EMAIL'], $arrData['FROM_NAME']);
$cci->email->to($arrData['TO_EMAIL'], $arrData['TO_NAME']);
if($arrData['CC_EMAIL'])
$cci->email->cc($arrData['CC_EMAIL']);
//$this->email->bcc('ravr@rediffmail.com');
$cci->email->subject($arrData['SUBJECT']);
$cci->email->message($arrData['MESSAGE']);
if($arrData['FILES'])
$cci->email->attach($arrData['FILES']);
$status = $cci->email->send();
return $status;
}
使用路径助手
$this->load->helper('path');
$path = set_realpath('pathtouploads'); //your uploads folder
然后
$this->email->attach($path . $file);