TP发送邮件的另一种代码

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

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

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