php codeigniter电子邮件库
我这里有点麻烦。 为什么我不能使用smtp发送电子邮件? 错误如下所示。 代码如下所示php codeigniter电子邮件库,php,codeigniter,email,smtp,Php,Codeigniter,Email,Smtp,我这里有点麻烦。 为什么我不能使用smtp发送电子邮件? 错误如下所示。 代码如下所示 $config = Array( 'protocol' => 'smtp', 'smtp_host' => 'mail.email.com', 'smtp_port' => 25, 'smtp_user' => 'adm
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'mail.email.com',
'smtp_port' => 25,
'smtp_user' => 'admin@email.com',
'smtp_pass' => 'pass'
);
$this->email->initialize($config);
$this->email->cc('admin@provider.net');
$this->email->set_mailtype('html');
$this->email->from('admin@provider.net', 'Admin');
$this->email->send();
if(!$this->email->send())
{
show_error($this->email->print_debugger());
}
代码更新:
$this->load->library('email');
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'account@gmail.com',
'smtp_pass' => 'password',
'smtp_timeout' => '4',
'mailtype' => 'html',
'charset' => 'iso-8859-1'
);
$this->email->initialize($config);
$this->email->set_newline("\r\n");
//$this->email->set_mailtype('html');
$this->email->cc('admin@email.co.id');
$this->email->from('admin@email.co.id', 'Admin');
$this->email->to('email@email.com');
$this->email->subject('test online');
$this->email->message('test email');
if(!$this->email->send())
{
echo $this->email->print_debugger();
}
else
{
echo 'sent';
}
它返回了这个消息
无法使用PHP mail()发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。
$this->load->library('email');
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.googlemail.com';
$config['smtp_port'] = 465;
$config['smtp_user'] = 'admin@email.com';
$config['smtp_pass'] = 'pass';
$this->email->initialize($config);
$this->email->cc('admin@provider.net');
$this->email->set_mailtype('html');
$this->email->from('admin@provider.net', 'Admin');
$this->email->send();
if(!$this->email->send())
{
show_error($this->email->print_debugger());
}
尝试此操作……可能会有所帮助。尝试将smtp_端口参数“465”放在引号中,并将发件人更改为与您用于发送邮件的帐户相同的地址。已修复! 问题不在于openSSL或脚本, 问题是SELinux禁止httpd发送邮件
解决方案是设置电子书httpd\u can\u sendmail on是否在本地主机上尝试?不,在web服务器上,我在本地主机上没有问题尝试将其添加到config
$config[''u smtp\u auth']=TRUE
@tomexsans仍然没有区别,我必须使用gmail帐户吗?如果你想在本地主机上这样做,你必须为安全性较低的应用程序添加gmail访问权限https://www.google.com/settings/security/lesssecureapps
很抱歉,此问题已经解决,主要问题是SELINUX,通过在上执行setsebool httpd_can_sendmail可以解决此问题