dd

TP发送邮件的另一种代码

jerry thinkphp 2015年11月19日 收藏
用之前tp找的邮件发送系统,在本服务器上试用后,不成功,特改成这种邮件发送
在config.php中,请各位根据自己的需求修改帐号密码和smtp
'THINK_EMAIL' => array(
            'SMTP_HOST'   => 'smtp.qq.com', //SMTP服务器
            'SMTP_PORT'   => '25', //SMTP服务器端口
            'SMTP_USER'   => '6@qq.com', //SMTP服务器用户名
            'SMTP_PASS'   => '123456', //SMTP服务器密码
            'FROM_EMAIL'  => '6@qq.com', //发件人EMAIL
            'FROM_NAME'   => 'cc', //发件人名称
            'REPLY_EMAIL' => '', //回复EMAIL(留空则为发件人EMAIL)
            'REPLY_NAME'  => '', //回复名称(留空则为发件人名称)
             ),
在index或其他控制器中添加个方法并把下面的代码复制进去
import("@.LibHM.Smtp");//发送邮件类
$config_mail = C('THINK_EMAIL');
                $smtpserver     =     $config_mail['SMTP_HOST'];//SMTP服务器
                $smtpserverport =    $config_mail['SMTP_PORT'];//SMTP服务器端口
                $smtpusermail     =     $config_mail['FROM_EMAIL'];//SMTP服务器的用户邮箱
                $smtpuser         =     $config_mail['SMTP_USER'];//SMTP服务器的用户帐号
                $smtppass         =     $config_mail['SMTP_PASS'];//SMTP服务器的用户密码

                $smtpemailto     =     $uemail;//发送给谁
                $mailsubject     =     $subject;//邮件主题
                $mailtime        =    date("Y-m-d H:i:s");
                $mailbody         =     $body;//邮件内容
                 
                $utfmailbody    =    iconv("UTF-8","GB2312",$mailbody);//转换邮件编码 
                $mailtype         =     "HTML";//邮件格式(HTML/TXT),TXT为文本邮件         
                
                $smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
                $smtp->debug = FALSE;//是否显示发送的调试信息 FALSE or TRUE
                $ret = $smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $utfmailbody, $mailtype);
邮件发送成功时,返回true

附件Smtp.class.rar ( 2.18 KB 下载:307 次 )

dd