陈式太极拳站桩音乐:Windows下Xampp中PHP语言发送email(gmail)需要解决的SSL问题

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 20:57:08
我的xmapp版本为:ApacheFriends XAMPP (Basispaket) version 1.7.4 由于linux下有sendmail函数可以实现发邮件,但是win32下就要使用smtp来发。xampp自带mercury的虽然可以用来建一个smtp服务器,但是操作起来太麻烦了,还不如使用sendmail.exe。 
sendmail.exe其实是一个在win32下模拟sendmail函数的软件,在xampp里已经自带了。你在里面设置后你的smtp服务器之后,就可以伪装成sendmail来发邮件了。 
可惜的是,sendmail.exe不支持gmail这种必须通过ssl连接smtp服务器。如果用126这些smtp服务器,很轻松就成功的,一换成gmail的就超时甚至卡死…… 现在就来解决这个头疼我两天的问题:
首先正确安装xampp,然后去http://www.stunnel.org/下载一个stunnel回来,最新版本是4.41。这是一个通用的SSL代理。(请下载exe文件) 安装好后,打开配置文件,默认在这里C:\Program Files\stunnel\stunnel.conf,修改成这样: ——————————————————————————————————————————————[gmail-smtp]client = yesaccept = 127.0.0.1:25connect = smtp.gmail.com:465——————————————————————————————————————————————现在启动stunnel和重新启动apache,怎么样,发邮件功能正常了吧。
以下为Codeigniter->application->controllers里的email.php代码:——————————————————————————————————————————————class Email extends CI_Controller{ function __construct(){ parent::__construct(); } function index() { $config = Array( 'protocol' => 'smtp', 'smtp_host' => 'ssl://smtp.gmail.com', 'smtp_port' => 465, 'smtp_user' => 'jasonque2010@gmail.com', 'smtp_pass' => '××××××××××'   //你邮箱的密码,自己填 ); $this->load->library('email', $config); $this->email->set_newline("\r\n"); $this->email->from('jasonque2010@gmail.com', 'JasonQue'); $this->email->to('jasonque2010@gmail.com'); $this->email->subject('Jason send an email'); $this->email->message('Haaaaa, I\'m Jason coming.'); if ($this->email->send()) { echo "The email have sent."; } else  { echo "The email did not sent."; } }}?>————————————————————————————————————————————————