使用Hotmail通过CI发送电子邮件

时间:2012-12-05 05:59:19

标签: codeigniter email hotmail

我正在尝试使用CI创建电子邮件通知系统。问题是我正在处理的系统阻止了gmail。所以,我无法使用Gmail的SMTP。现在,我必须想办法用hotmail或任何其他SMTP服务发送电子邮件。 这是我的代码,适用于Gmail,但现在用于hotmail 配置/ Email.php:

$config = array(
    'protocol' => 'smtp', 
    'smtp_host' => 'ssl://smtp.live.com',
    'smtp_port' => 587,
    'smtp_user' => 'muttalebr@hotmail.com',
    'smtp_pass' => 'XXXXXX',
    'charset' => 'utf-8',
 'newline' => "\r\n",
 'crlf' => "\r\n",
 'mailtype' => "html",


); 

调用email.php并发送电子邮件的实际函数:

function sends($from,$to,$send,$user){
   $link=base_url()."index.php/anonymouscoll/cmembersarea/".$user;
   $emailmessage="Hello $to,<br />You have a new Gift from $from.<br />Click on the link:<a href=$link>$link</a> to check your gift.<br /><br /><br />Best Regards<br />Online Communication.";
   $this->load->library('email');
   $this->email->from('muttalebr@hotmail.com','Gift File');
   $this->email->to($send);
   $this->email->subject('You have a new Gift');
   $this->email->message($emailmessage);

   if($this->email->send()){
    echo "Email sent";

   }
   else{
    show_error($this->email->print_debugger());
   } 

每当我调用'发送'功能时,我都会收到以下错误:

Severity: Warning

Message: fsockopen() [function.fsockopen]: SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

Filename: libraries/Email.php

Line Number: 1673 
and

Severity: Warning

Message: fsockopen() [function.fsockopen]: Failed to enable crypto

Filename: libraries/Email.php

Line Number: 1673 

我也试过

  

'smtp_host'=&gt; “SSLV2://smtp.live.com”,

但它不会在我的本地机器上工作。 我在我的本地机器和Windows Xp上使用Windows 7我将使用应用程序[阻止gmail的那个]。我尝试了XAMPP ver 1.8.1和WAMPP ver 2.2

期待您的回复

〜muttalebm

2 个答案:

答案 0 :(得分:1)

该错误,因为您未在php.info文件中启用SSL。所以搜索如何启用它。否则你可以在下面的链接中查看我对这个问题的回答。当我这样做时,我遇到了这个错误并且我解决了它。

Reference Link

答案 1 :(得分:1)

您使用的是哪个版本的PHP?

在某些版本中fsockopen ssl显然存在错误:

https://bugs.php.net/bug.php?id=54511