Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter在不配置电子邮件库的情况下发送电子邮件_Php_Codeigniter_Email - Fatal编程技术网

Php codeigniter在不配置电子邮件库的情况下发送电子邮件

Php codeigniter在不配置电子邮件库的情况下发送电子邮件,php,codeigniter,email,Php,Codeigniter,Email,我有一个奇怪的问题,不确定是什么导致了这个问题。 首先,我的控制器中有以下代码 $this->load->library('email'); $this->email->from('2@2.com', 'Test email'); $this->email->to($this->session->userdata('user_email')); $this->email->subject($subje

我有一个奇怪的问题,不确定是什么导致了这个问题。 首先,我的控制器中有以下代码

    $this->load->library('email');
    $this->email->from('2@2.com', 'Test email');
    $this->email->to($this->session->userdata('user_email')); 

    $this->email->subject($subject);
    $this->email->message($message);    
    $this->email->send();
    $this->email->print_debugger();
我的电子邮件库如下所示

class CI_Email {

var $useragent      = "CodeIgniter";
var $mailpath       = "/usr/sbin/sendmail"; // Sendmail path
var $protocol       = "mail";   // mail/sendmail/smtp
var $smtp_host      = "";       // SMTP Server.  Example: mail.earthlink.net
var $smtp_user      = "";       // SMTP Username
var $smtp_pass      = "";       // SMTP Password
var $smtp_port      = "25";     // SMTP Port
var $smtp_timeout   = 5;        // SMTP Timeout in seconds
var $smtp_crypto    = "";       // SMTP Encryption. Can be null, tls or ssl.
var $wordwrap       = TRUE;     // TRUE/FALSE  Turns word-wrap on/off
我有两个问题

  • 我不知道为什么它发送电子邮件时没有在CI_电子邮件类中指定smtphost、user、pass、port等, 当我单击视图中的按钮时,控制器运行并向会话用户发送电子邮件

  • 电子邮件可以发送到我的公司电子邮件,但它不能发送到我的gmail,即使我在控制器中保留了抄送,也不能发送实时电子邮件,然后我在公司邮箱中收到电子邮件,我可以看到我的gmail地址的抄送,但在gmail框中,没有电子邮件

  • 起初我确实在Email库变量中输入了我的gmail smtp设置,但在其他测试中我删除了它。 然后,即使在图书馆中没有gmail SMTP设置,我也可以看到电子邮件发出,这也是我公司的电子邮件,而不是gmail或Live电子邮件

    我们是否必须在CI_电子邮件类库中配置某些内容


    有什么想法吗?

    我找到了答案,问题在下面的代码中

    $protocol       = "mail";
    
    这是通过PHP发送电子邮件的默认协议,电子邮件将只发送到同一个域中,而不是域外, 我用了当时的SMTP协议来处理gmail,
    在PHP5.6中,SMTP有问题,但在PHP5.5中,它起作用了

    可能在php.ini文件中,它们都已设置。在ur php.ini中查找
    [mail function]
    ,这是它的全部默认值[mail function];仅适用于Win32;SMTP=本地主机;smtp_端口=25;仅适用于Win32;sendmail_from=me@example.com ; 仅适用于Unix。您也可以提供参数(默认值:“sendmail-t-i”);发送邮件路径=