0

所以代码:

        $this->load->library('email');

        $this->email->from('mysite@mysite.com', 'mysite');
        $this->email->to($email); 

        $this->email->subject('Email Test');
        $this->email->message('Testing the email class.');  

        $this->email->send();

我不明白为什么我发送电子邮件时没有错误,但是当我检查我的邮箱时,没有电子邮件,所以看起来电子邮件没有到达他的目的地,我正在使用 CodeIgniter,也许我需要添加一些其他设置来解决这个问题?请帮忙!!

ps:我也用过原生的mail()函数,反正email不来,我是在gmail里查的

Your message has been successfully sent using the following protocol: mail
From: "mysite" 
Return-Path: 
Reply-To: "mysite@mysite.kg" 
X-Sender: mysite@mysite.kg
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <501f4f33580d5@mysite.kg>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
=?utf-8?Q?Email_Test?=
Testing the email class.

有什么不对?

4

2 回答 2

2

您是在 localhost 服务器上还是在生产服务器上使用它?如果您使用自己安装的 Apache、PHP 和 MySQL(例如手动安装、WAMP、XAMPP、MAMP 等),那么您的 localhost 机器上可能没有安装邮件服务器来发送邮件。

尝试以下操作:

mail('you@youremail.com', 'My Subject', 'Test message...');

如果这不起作用,那么很可能您的服务器上没有安装邮件服务器。

于 2012-08-06T04:50:29.403 回答
0

奇怪的!可能您应该在 config 文件夹中创建一个文件 email.php。

在文件中添加以下代码

$config['protocol'] = 'sendmail';
$config['mailtype'] = 'html';
$config['mailpath'] = '/usr/sbin/sendmail';

在您发送电子邮件的控制器中,在设置 to 和 from 标头之前添加一行。

$this->load->library('email');

以确保已加载新设置。

于 2012-08-08T13:24:04.693 回答