一直报错一直有各种各样的问题,一步一步改,最终成功了,哈哈,我都不知道我安装的SMTP服务器到底有没有作用,居然就成功啦,开森
调用部分的代码如下:
require_once "include/email.class.php";
//******************** 配置信息 ********************************
$smtpserver = "ssl://smtp.163.com";//SMTP服务器
$smtpserverport =465;//SMTP服务器端口
$smtpusermail = "18855032520@163.com";//SMTP服务器的用户邮箱
$smtpemailto = $row['email'];//发送给谁
$smtpuser = "18855032520";//SMTP服务器的用户帐号
$smtppass = "j××××××××22";//SMTP服务器的用户密码(我的163邮箱的授权码)//jdmmfnrzwioucajb
$mailtitle = "OJ系统密码重置激活";//邮件主题
$mailcontent = "$lost_user_id:\n您好!\n您在OJ系统选择了找回密码服务,为了验证您的身份,请将下面字串输入口令重置页面以确认身份:".$_SESSION[$OJ_NAME.'_'.'lost_key']."\n\n\n安徽科技学院在线评测系统";//邮件内容
$mailtype = "TXT";//邮件格式(HTML/TXT),TXT为文本邮件
//************************ 配置信息 ****************************
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp->debug =false;//是否显示发送的调试信息
$state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype);
require("template/".$OJ_TEMPLATE."/lostpassword2.php");
其中的mail.class.php代码真的改了好久,因为原来下载的代码里面的有的函数和用法已经过时了,我全都改过来了
<?php
class smtp
{
/* Public Variables */
var $smtp_port;
var $time_out;
var $host_name;
var $log_file;
var $relay_host;
var $debug;
var $auth;
var $user;
var $pass;
/* Private Variables */
var $sock;
/* Constractor */
function smtp($relay_host = "", $smtp_port = 25,$auth = false,$user,$pass)
{
$this->debug = FALSE;
$this->smtp_port = $smtp_port;
$this->relay_host = $relay_host;
$this->time_out = 30; //is used in pfsockopen()
#
$this->auth = $auth;//auth
$this->user = $user;
$this->pass = $pass;
#
$this->host_nam