编辑: 我正在尝试使用codeigniter的库发送电子邮件。每当我调用$ this-> email-> send()函数时,它都会返回
警告:include(C:\ xampp \ htdocs \ psems \ application \ views \ errors \ html \ error_php.php):无法打开流:C:\ xampp \ htdocs \ psems \ system中没有此类文件或目录第269行\ core \ Exceptions.php
警告:include():打开失败 ' C:\ XAMPP \ htdocs中\ psems \应用\视图\错误\ HTML \ error_php.php' 包含(include_path ='。; C:\ xampp \ php \ PEAR')in 第269行的C:\ xampp \ htdocs \ psems \ system \ core \ Exceptions.php
这是我到目前为止的代码
$config = array();
$config['useragent'] = "CodeIgniter";
$config['mailpath'] = "/usr/bin/sendmail"; // or "/usr/sbin/sendmail"
$config['protocol'] = "smtp";
$config['smtp_host'] = "localhost";
$config['smtp_port'] = "25";
$config['mailtype'] = 'html';
$config['charset'] = 'utf-8';
$config['newline'] = "\r\n";
$config['wordwrap'] = TRUE;
$this->load->library('email');
$this->email->initialize($config);
$this->email->from('example@gmail.com', 'harold decapia');
$this->email->to('example@gmail.com');
$this->email->subject('Тест Email');
$this->email->message('Hello World');
$this->email->send(); //I tried commenting this out and there was no error returned
我很困惑为什么它只是通过调用send方法返回错误。我必须先配置一些东西吗?我想我在这里缺少一点信息:(
另外,有什么方法让我知道它具体返回什么错误?提前谢谢
答案 0 :(得分:0)
据我所知,这个错误是因为您尝试在没有和实际FTP服务器的服务器上发送带有SMTP的电子邮件(在本地服务器上发生了很多事情)。
我建议像Mailgun这样的免费服务在您开发过程中用作SMTP服务器。
此外,如果您要使用SMTP协议,则需要使用用户和密码在SMTP服务器上进行身份验证(Mailgun也会为您提供此功能)。
此处是SMTP服务器/身份验证的新配置示例,请记住您需要调整Mailgun网站将为您提供的信息。
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.mailgun.org';
$config['smtp_port'] = '465';
$config['smtp_timeout'] = '30';
$config['smtp_user'] = 'postmaster@mydomain.com';
$config['smtp_pass'] = 'password';
$config['charset'] = 'utf-8';
$config['mailtype'] = 'html';
$config['wordwrap'] = TRUE;
$config['newline'] = "\r\n";
:)