在Codeigniter电子邮件库

时间:2016-03-12 09:38:28

标签: php codeigniter email

编辑: 我正在尝试使用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方法返回错误。我必须先配置一些东西吗?我想我在这里缺少一点信息:(

另外,有什么方法让我知道它具体返回什么错误?提前谢谢

1 个答案:

答案 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";

:)