codeigniter发送电子邮件而不配置电子邮件库

时间:2015-03-31 05:17:44

标签: 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($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

我有两个问题,

  1. 我不确定为什么在没有在CI_Email类中指定smtphost,user,pass,port等发送电子邮件, 当我在视图中单击按钮时,控制器会运行并向会话用户电子邮件发送电子邮件。

  2. 电子邮件可以发送到我公司的电子邮件,但它无法发送到我的Gmail,直播电子邮件甚至我将CC保存在控制器中,然后我在公司邮箱中收到电子邮件,我可以看到我的gmail地址的CC,但在Gmail框中,没有电子邮件。

  3. 最初我在电子邮件库变量中输入了我的gmail smtp设置,但是对于其他测试我删除了它。 然后,即使在库中没有gmail SMTP设置后,我也能看到电子邮件发出去,这也是我公司的电子邮件,而不是Gmail或Live电子邮件,

    我们是否必须在CI_Email类库中配置某些内容?

    有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

$protocol       = "mail";

这是默认协议,通过PHP发送电子邮件,电子邮件只会在同一个域中,而不是在域外, 然后我使用SMTP协议的Gmail,然后它工作, 使用PHP 5.6存在SMTP问题,但是使用php 5.5就可以了!