我有一个奇怪的问题,不知道是什么导致了这个问题。 首先,我的控制器中有以下代码,
$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_Email类中指定smtphost,user,pass,port等发送电子邮件, 当我在视图中单击按钮时,控制器会运行并向会话用户电子邮件发送电子邮件。
电子邮件可以发送到我公司的电子邮件,但它无法发送到我的Gmail,直播电子邮件甚至我将CC保存在控制器中,然后我在公司邮箱中收到电子邮件,我可以看到我的gmail地址的CC,但在Gmail框中,没有电子邮件。
最初我在电子邮件库变量中输入了我的gmail smtp设置,但是对于其他测试我删除了它。 然后,即使在库中没有gmail SMTP设置后,我也能看到电子邮件发出去,这也是我公司的电子邮件,而不是Gmail或Live电子邮件,
我们是否必须在CI_Email类库中配置某些内容?
有什么想法吗?
答案 0 :(得分:0)
我找到了答案,问题出现在下面的代码中
$protocol = "mail";
这是默认协议,通过PHP发送电子邮件,电子邮件只会在同一个域中,而不是在域外, 然后我使用SMTP协议的Gmail,然后它工作, 使用PHP 5.6存在SMTP问题,但是使用php 5.5就可以了!