我正在尝试发送带附件的邮件,但反复失败。但是没有附件能够发送邮件。以下是我的功能。
public function sendmail($jid,$eid)
{
$empdata = $this->search_m->eid($eid);
$user = $this->session->userdata('userid');
$jsdata = $this->search_m->jid($user);
foreach($empdata->result() as $rows)
{
$empmail = $rows->email;
}
foreach($jsdata->result() as $row)
{
$jsres = $row->resume;
}
$file = "uploads/".$jsres;
$this->load->library('email');
//$this->email->clear();
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$config['protocol'] = 'mail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['smtp_port']=587;
$config['smtp_host'] = 'smtp.gmail.com';
$config['smtp_user'] = 'mail@gmail.com';
$config['smtp_pass'] = 'password';
$config['validate'] = TRUE;
$this->email->initialize($config);
$this->email->from( 'hr@virtu.com','Gowtham');
$this->email->to('gorodda@gmail.com');
$this->email->subject('Testing Email');
$this->email->message('I applied to ur job');
$this->email->attach($file);
$this->email->send();
if(!$this->email->send())
{
echo " mail not send";
}
}
我哪里错了?
答案 0 :(得分:0)
$file
将是上传文件的完整路径,如
$file = site_url()."uploads/".$jsres;
在上传要通过文件发送的文件后,最好从上传的数据中获取文件的完整路径,并将其作为$file
。
答案 1 :(得分:0)
执行以下操作..
$path = set_realpath('uploads/');
$this->email->attach($path . $jsres);
希望这有帮助。
答案 2 :(得分:0)
您可以使用以下方式添加完整链接:
$file=$_SERVER['DOCUMENT_ROOT']."/uploads/".$jsres;
$_SERVER['DOCUMENT_ROOT']
将获取您的本地主机地址,如:
C:/xampp/htdocs/mail