$config = array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.gmail.com',
'smtp_port' => '465',
'smtp_user' => "xxxxxxx@gmail.com",
'smtp_pass' => "xxxxxxx", // change it to yours
'mailtype' => 'html',
'charset' => 'utf8'
);
$this->load->library('email',$config);
$this->email->set_newline("\r\n");
$this->email->set_crlf( "\r\n" );
$this->email->from($config['smtp_user']);
$this->email->to($email['user_email']);
$this->email->subject($row['tplsubject']);
$this->email->message(html_entity_decode($email_subject));
$this->email->send();
Run Code Online (Sandbox Code Playgroud)
此代码无法显示错误
遇到PHP错误
严重性:警告
消息:fsockopen():无法连接到ssl://smtp.gmail.com:465(无法找到套接字传输"ssl" - 您是否忘记在配置PHP时启用它?)
文件名:libraries/Email.php
行号:1689
小智 10
我在服务器上遇到了与电子邮件相同的问题,此问题的解决方案是将“协议”从“smtp”更改为“ssmtp”,将“smtp_host”从“ssl://smtp.gmail.com”更改为“ ssl://ssmtp.googlemail.com'。这东西对我来说很好用。
小智 6
这不是一个codeigniter问题,而是一个与PHP设置相关的问题.这个问题的答案可以在这里找到:无法找到套接字传输"ssl" - 你是否忘记在配置PHP时启用它?
需要注意的一点是,在codeigniter中,您可以使用电子邮件配置文件来保存所有配置设置.(因此您不必每次都在控制器中定义它们).您可以通过创建文件来执行此操作:application/config/email.php
然后您可以使用您的设置填充此文件,如下所示:
<?php defined('BASEPATH') OR exit('No direct script access allowed');
$config = array(
'protocol' => 'smtp', // 'mail', 'sendmail', or 'smtp'
'smtp_host' => 'your_host',
'smtp_port' => your_port,
'smtp_user' => 'your_email',
'smtp_pass' => 'your_password',
'smtp_crypto' => 'security', //can be 'ssl' or 'tls' for example
'mailtype' => 'html', //plaintext 'text' mails or 'html'
'smtp_timeout' => '4', //in seconds
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
Run Code Online (Sandbox Code Playgroud)
每次加载库($this->load->library('email');
)时,都会自动加载这些设置.
另外,我建议您立即更改电子邮件密码,因为您在问题中写了凭据.
归档时间: |
|
查看次数: |
32513 次 |
最近记录: |