123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- <?php
- //引入phpmail控件发送邮件
- require_once(LIBS."phpmailer/class.phpmailer.php");
- class email_lib
- {
- var $app;
- var $timeout = 5;
- var $smtp_server = "";
- var $smtp_port = 25;
- var $smtp_ssl = 0;
- var $smtp_user = "";
- var $smtp_pass = "";
- var $smtp_reply = "";
- var $smtp_admin = "";
- var $smtp_fromname = "Webmaster";
- var $smtp;
- function __construct()
- {
- $this->app = sys_init();
- }
- function email_lib()
- {
- $this->__construct();
- }
- //连接到email环境中
- function send_mail($sendto,$subject,$content,$user_name="")
- {
- if(!$sendto || !$subject || !$content)
- {
- return false;
- }
- //如果没有指定邮箱服务器
- if(!$this->app->sys_config["smtp_server"])
- {
- return false;
- }
- $this->smtp_server = $this->app->sys_config["smtp_server"];
- //设置邮件服务器端口
- if($this->app->sys_config["smtp_port"] && $this->app->sys_config["smtp_port"] != "25")
- {
- $this->smtp_port = $this->app->sys_config["smtp_port"];
- }
- //判断是否有启用SSL
- $this->smtp_ssl = $this->app->sys_config["smtp_ssl"];
- //判断是否有设置用户名
- if(!$this->app->sys_config["smtp_user"])
- {
- return false;
- }
- $this->smtp_user = $this->app->sys_config["smtp_user"];
- //判断是否有启用密码
- if(!$this->app->sys_config["smtp_pass"])
- {
- return false;
- }
- $this->smtp_pass = $this->app->sys_config["smtp_pass"];
- $this->smtp_reply = $this->app->sys_config["smtp_reply"];
- $this->smtp_admin = $this->app->sys_config["smtp_admin"];
- if(!$this->smtp_reply && !$this->smtp_admin)
- {
- return false;
- }
- $mail = new PHPMailer();
- $mail->CharSet = ($this->app->sys_config["smtp_charset"] == "gbk" && function_exists("iconv")) ? "gbk" : "utf8";
- $mail->IsSMTP();
- $mail->SMTPAuth = true;
- $mail->SMTPDebug = false;//是否启用调试
- $mail->IsHTML(true);
- $mail->Username = trim($this->smtp_user);
- $mail->Password = trim($this->smtp_pass);
- $mail->Host = trim($this->smtp_server);
- $mail->Port = $this->smtp_port;
- if($this->smtp_ssl)
- {
- $mail->SMTPSecure = 'ssl';
- }
- $mail->LE = "\r\n";
- $mail->Timeout = 5;
- //发件人
- $mail->From = $this->smtp_admin;
- $mail->FromName = $this->app->sys_config["smtp_fromname"] ? $this->app->sys_config["smtp_fromname"] : $this->smtp_fromname;
- if($mail->CharSet != "utf8")
- {
- $subject = $this->app->trans_lib->charset($subject,"UTF-8","GBK");
- $content = $this->app->trans_lib->charset($content,"UTF-8","GBK");
- $mail->FromName = $this->app->trans_lib->charset($mail->FromName,"UTF-8","GBK");
- }
- $mail->Subject = $subject;
- $mail->MsgHTML($content);
- $sendto_array = explode(";",$sendto);
- if(count($sendto_array)<2)
- {
- if(!$user_name)
- {
- $user_name = str_replace(strstr($sendto,"@"),"",$sendto);
- }
- $mail->AddAddress($sendto,$user_name);
- }
- else
- {
- foreach($sendto_array AS $key=>$value)
- {
- $v_name = str_replace(strstr($value,"@"),"",$value);
- $mail->AddAddress($value,$v_name);
- }
- }
- if($mail->Send())
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- //注册,通知给客户,请参考getpass进行编写,注
- function reg($uid)
- {
- if(!$this->app->sys_config["smtp_reg"])
- {
- return true;
- }
- $this->app->load_model("user");
- $rs = $this->app->user_m->user_from_id($uid);
- $this->app->tpl->assign("rs",$rs);
- $content = $this->app->tpl->fetch("email/reg_content.".$this->app->tpl->ext);//邮件内容
- $subject = $this->app->tpl->fetch("email/reg_title.".$this->app->tpl->ext);//邮件标题
- $this->send_mail($this->app->sys_config["smtp_admin"],$subject,$content,$rs["username"]);
- return true;
- }
- function regInform($uid)
- {
- if(!$this->app->sys_config["smtp_reg"])
- {
- return true;
- }
- $this->app->load_model("user");
- $rs = $this->app->user_m->user_from_id($uid);
- $this->app->tpl->assign("rs",$rs);
- $content = $this->app->tpl->fetch("email/reg_contentinform.".$this->app->tpl->ext);//邮件内容
- $subject = $this->app->tpl->fetch("email/reg_titleinform.".$this->app->tpl->ext);//邮件标题
- $this->send_mail($this->app->sys_config["smtp_admin"],$subject,$content,$rs["username"]);
- return true;
- }
- }
- ?>
|