我正在设置离子身份验证的过程中,希望能够发送激活电子邮件。他们不能发送。
因此,我尝试在codeigniter中发送一封基本的电子邮件,以确保工作正常,但也失败了。
出于测试目的,我重新下载了一个新的CI文件夹,并在routes to my controller中更改了默认控制器。
$routes['default_controller']='Email';我的控制器
<?php
class Email extends CI_Controller{
public function index(){
$data['title']='sent';
$this->load->view('sending_email',$data);
}
public function send(){
$this->load->library('email');
$this->email->initialize($config);
$this->email->from('MYEMAIL@EMAIL.COM', 'phpnoob');
$this->email->to('TESTEMAIL@EMAIL.COM');
$this->email->subject('Hey');
$this->email->message('Testing the email');
$this->email->send();
echo "this email is sent";
}
}
?>在我的config文件夹中,我也创建了一个名为email的文件来加载配置。
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$config['protocol']='smtp';
$config['smtp_host']='ssl://smtp.googlemail.com';
$config['smtp_port']=465;
$config['smtp_user']='MYEMAIL@EMAIL.COM';
$config['smtp_pass']='XXPASSXX';
$config['mailtype']= 'html';
$config['priority']=4;
$config['charset']='utf-8';
?>现在我注意到,当我尝试删除index函数时,我根本无法加载控制器。我不知道为什么。即使我尝试调用控制器和方法,我也会得到一个404错误。
此外,这不是在我的本地主机上,我有一个实时服务器,因为邮件似乎永远不会在本地主机上工作。
发布于 2019-03-17 06:29:35
确保在你尝试发送邮件的谷歌账户上启用了不太安全的应用程序:https://support.google.com/accounts/answer/6010255?hl=en
您还可以回显$this->email->print_debugger()的输出,以获得更详细的错误消息。
https://stackoverflow.com/questions/55190992
复制相似问题