簡體   English   中英

Codeigniter發送電子郵件而不配置電子郵件庫

[英]codeigniter sending email without configuring email library

我有一個奇怪的問題,不確定是什么原因導致了此問題。 首先,我在控制器中有以下代碼,

    $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,用戶,密碼,端口等的情況下發送電子郵件,當我單擊視圖中的按鈕時,控制器運行並將電子郵件發送給會話用戶電子郵件。

  2. 電子郵件可以發送到我公司的電子郵件中,但是即使我將抄送人保留在控制器中,也無法發送給我的gmail,實時電子郵件,然后我在公司郵箱中收到電子郵件,可以看到我的gmail地址的抄送人,但是在Gmail框中,沒有電子郵件。

最初,我確實在電子郵件庫變量中輸入了我的gmail smtp設置,但為進行其他測試,我將其刪除了。 然后,即使在庫中沒有gmail SMTP設置之后,我仍然可以看到電子郵件發送出去了,而我的公司電子郵件(不是Gmail或實時電子郵件)也是如此,

我們是否必須在CI_Email類庫中配置某些內容?

有什么想法嗎?

我找到了答案,問題在下面的代碼中

$protocol       = "mail";

這是默認的協議,它通過PHP發送電子郵件,並且電子郵件將僅進入同一域,而不是域外,我使用了gmail的SMTP協議,然后起作用了,對於PHP 5.6,SMTP出現了問題,但是對於php 5.5,它起作用了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM