上面的是需要在配置管理中新增加的配置项
上面的是邮件配置项
上面的是用户注册成功邮件模板,更多可自己添加,比如密码找回之类的
此图是成功邮件
下面的是代码,直接加在application/common/common/function.php中
使用的是PHPMailer,此类库包自己在网上下,放入THINKPHP/libary/ORG中就可以了,使用方法 在任何想发送邮件的地方,比如注册控制器中,send_mail(邮件地址,主题,邮件内容); 这样就行了,超简单
比如- send_mail($email,$subject,$body);
复制代码- /**
- * 系统邮件发送函数
- * @param string $to 接收邮件者邮箱
- * @param string $name 接收邮件者名称
- * @param string $subject 邮件主题
- * @param string $body 邮件内容
- * @param string $attachment 附件列表
- * @茉莉清茶 57143976@qq.com
- */
- function send_mail($to = '', $subject = '', $body = '', $name = '', $attachment = null){
- $from_email = C('MAIL_SMTP_USER');
- $from_name = C('WEB_SITE');
- $reply_email = '';
- $reply_name = '';
- //new phpmailer();
- //$mail = new ORG\PHPMailer\phpmailer();
- import('ORG.PHPMailer.phpmailer');//从PHPMailer目录导入phpmailer.class.php类文件
- $mail = new PHPMailer; //实例化PHPMailer
- $mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
- $mail->IsSMTP(); // 设定使用SMTP服务
- $mail->SMTPDebug = 0; // 关闭SMTP调试功能
- // 1 = errors and messages
- // 2 = messages only
- $mail->SMTPAuth = true; // 启用 SMTP 验证功能
- $mail->SMTPSecure = ''; // 使用安全协议
- $mail->Host = C('MAIL_SMTP_HOST'); // SMTP 服务器
- $mail->Port = C('MAIL_SMTP_PORT'); // SMTP服务器的端口号
- $mail->Username = C('MAIL_SMTP_USER'); // SMTP服务器用户名
- $mail->Password = C('MAIL_SMTP_PASS'); // SMTP服务器密码
- $mail->SetFrom($from_email, $from_name);
- $replyEmail = $reply_email?$reply_email:$from_email;
- $replyName = $reply_name?$reply_name:$from_name;
- if($to == ''){
- $to = C('MAIL_SMTP_CE');//邮件地址为空时,默认使用后台默认邮件测试地址
- }
- if($name == ''){
- $name = C('WEB_SITE');//发送者名称为空时,默认使用网站名称
- }
- if($subject == ''){
- $subject = C('WEB_SITE_TITLE');//邮件主题为空时,默认使用网站标题
- }
- if($body == ''){
- $body = C('WEB_SITE_DESCRIPTION');//邮件内容为空时,默认使用网站描述
- }
- $mail->AddReplyTo($replyEmail, $replyName);
- $mail->Subject = $subject;
- $mail->MsgHTML($body);//解析
- $mail->AddAddress($to, $name);
- if(is_array($attachment)){ // 添加附件
- foreach ($attachment as $file){
- is_file($file) && $mail->AddAttachment($file);
- }
- }
- return $mail->Send() ? true : $mail->ErrorInfo;//返回错误信息
- }
复制代码 |
|
|
|
|