2012-08-06 102 views
0

因此,代码:为什么电子邮件没有到达目的地(笨)

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

     $this->email->from('[email protected]', 'mysite'); 
     $this->email->to($email); 

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

     $this->email->send(); 

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

PS:我也用本地mail()函数,反正邮件不来,我检查它在Gmail中

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

是有什么错吗?

+0

检查垃圾邮件呢! – Prasanth 2012-08-06 04:48:36

+0

检查您的邮件服务器的日志,以了解在PHP移交电子邮件后会发生什么。请记住,PHP实际上并不会将电子邮件发送到远程邮箱/邮件服务器,它只是将它交给本地(ish)SMTP服务器,并且它是负责交付的服务器。 – 2012-08-06 04:48:48

+0

你有邮件服务器吗? – 2012-08-06 04:48:58

回答

2

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

尝试以下操作:

mail('[email protected]', 'My Subject', 'Test message...'); 

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

+0

我sendind电子邮件从一个真实的网站,如www.mysite.com,而不是本地主机 – 2012-08-06 04:52:26

+0

函数'mail()函数工作,如上所示? – 2012-08-06 04:53:49

+0

是的,它返回TRUE,但是当我检查我的电子邮件框 - 是空的:( – 2012-08-06 04:55:45

0

奇怪!可能你应该在配置文件夹内创建一个文件email.php。

文件

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

中添加以下代码在你的控制你在哪里发送电子邮件添加一条线,你设定的往返头前。

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

确保加载新设置。

相关问题