我正在使用Codeigniter
从我的PHP脚本发送电子邮件。
我发送邮件的代码是:
// Library must be loaded first
$this->load->library('email');
$config = array(
'protocol' => 'smtp',
'smtp_host' => 'smtp.gmail.com',
'smtp_port' => 587,
'smtp_user' => 'khaksar445@gmail.com',
'smtp_pass' => 'mypass'
);
$this->email->initialize($config);
$this->email->from($email, 'User');
$this->email->to('khaksar445@gmail.com');
$this->email->subject($sub);
$this->email->message($body);
if($this->email->send())
{
echo '<div class="alert alert-success>Email sent successfully</div>"';
}
else
{
echo $this->email->print_debugger();
}
我得到的错误是:
无法使用PHP SMTP发送电子邮件。您的服务器可能不是 配置为使用此方法发送邮件。
有没有办法解决这个问题。我们将不胜感激。
答案 0 :(得分:0)
设置config
像这样..
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'xxx@gmail.com', // change it to yours
'smtp_pass' => 'xxx', // change it to yours
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
答案 1 :(得分:0)
尝试使用sendmail
$config['protocol'] = 'sendmail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['charset'] = 'iso-8859-1';
$config['mailtype'] = 'html';
$this->load->library('email');
$this->email->initialize($config);
$this->email->set_newline("\r\n");
$this->email->from('khaksar445@gmail.com', 'SIte Name ');
$this->email->to('to@address.lk');
仅供参考:如果你使用gmail,那很好。但你总是无法跟踪实际的错误。使用服务器邮件主机。如果有什么东西你知道它的编码问题。