123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- <?php
- namespace Mall\Framework\Core;
- use Mall\Framework\Mail\Mail;
- class SendMail {
- private static $_instance;
- protected $error;
- static public function getInstance()
- {
- $key = md5('sendmail');
- if (!self::$_instance[$key] instanceof self) {
- self::$_instance[$key] = new self;
- }
- return self::$_instance[$key];
- }
- public function mail($title, $email, $html, $sign=null)
- {
- $key = md5('mail');
- if (!self::$_instance[$key] instanceof self) {
- $options = Config::getInstance()->get('mail');
- self::$_instance[$key] = new Mail($options['mailer'], $options['delimiter'], $options['charset'], $options['from'], $options['sign'], $options['smtp_host'], $options['smtp_port'], $options['smtp_auth'], $options['smtp_username'], $options['smtp_password']);
- }
- self::$_instance[$key]->execute($email, $title, $html);
- if ($this->error = self::$_instance[$key]->error()) {
- return false;
- }
- return true;
- }
- public function getError()
- {
- return $this->error;
- }
- /**
- * 邮箱验证码
- * @param $nickname
- * @param $code
- * @return string
- */
- public function emailCode($nickname, $code)
- {
- return "
- <div style='width:700px;height:240px;padding:0 30px;color:#444;font-size:15px;padding-top:20px;'>
- <p style='font-size: 16px;'>
- 亲爱的{$nickname}:
- </p>
- <div style='width:630px;margin-top:20px;color:#444;word-wrap:break-word;'>
- <p style='margin-top:20px;'>您的验证码为:{$code}</p>
- </div>
- </div>
- ";
- }
- /**
- * 重置密码
- * @param $nickname
- * @param $url
- * @return string
- */
- public function userResetPw($nickname, $url)
- {
- return "
- <div style='width:700px;height:240px;padding:0 30px;color:#444;font-size:15px;padding-top:10px;'>
- <h4 style='font-size: 15px; padding:0; margin:0;'>亲爱的 {$nickname},您好:</h4>
- <p style='font-size: 14px; margin: 3px 0; padding-left:30px;'>您的账号正在进行找回密码操作!</p>
- <div style='width:630px;margin-top:20px; padding-left:30px;color:#444;word-wrap:break-word;'>
- <p style='text-align: center;width:630px;'>
- <a href='" . $url . "' style='margin-left:220px;padding: 6px; color:white;text-decoration: none;width:130px;height:30px;display:block;background: #65A8FF;border-radius:10px;'>
- <span style='vertical-align: middle;'>点击重置密码</span>
- </a>
- </p>
- <div style='border-left: 5px solid #007AFF;padding-left:10px; font-size: 14px;'>
- <p style='margin:0; padding:0;'>如果您点击上述链接无效,请将下面的链接复制到浏览器地址栏中访问:</p>
- <p>{$url}</p>
- </div>
- <p style='color:grey;margin:0;'>
- <span>为保障您的账号安全性,以上链接有效期为 3 天。</span><br/>
- </p>
- </div>
- </div>
- ";
- }
- public function html($content, $sitename, $info)
- {
- $logo = $logo = PROJECT_IMG_DOMAIN . "assets/mail/img/logo.png";
- $copyright = $copyright = "Copyright © 2017 北京猫逛科技有限公司";
- $sitename = $sitename ?: '北京猫逛科技有限公司';
- return
- "<html xmlns='http://www.w3.org/1999/xhtml'>
- <head>
- <meta http-equiv='Content-Type' content='text/html; charset=3DUTF-8'/>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
- <title>{$sitename}</title>
- </head>
- <body style='margin:0;padding:0;'>
- <table width='900' cellpadding='0' cellspacing='0' border='0'>
- <tr>
- <td style='width:900px;background-color:#f5f3f0;'>
- <div style='padding:50px 100px;'>
- <div style='width:700px;min-height:600px; _height:600px;background-color:#fff;font-family:微软雅黑;overflow:hidden;'>
- <div style='width:600px;height:80px;'>
- <div style='float:left;'>
- <img src='{$logo}' width='245' height='30' style='padding:25px 0 0 30px;' />
- </div>
- <div style='padding:32px 0 0 280px;'>
- <span>这里是占位符</span>
- </div>
- </div>
- <div style='width:700px;height:200px;padding:0 30px;'>
- <div style='width:640px;height:200px;background-image:url(http://www{$domainSuffix}/assets/mail/img/mail.png);'>
- <div style='width:545px;height:200px;padding-top:70px;margin-left:95px;overflow:hidden;'>
- <span style='padding-left:130px;font-size:32px;color:#fff;font-weight:bold;white-space:nowrap;'>{$sitename}</span>
- <br />
- <span style='padding-left:132px;font-size:18px;color:#feebeb;'>{$info}</span>
- </div>
- </div>
- </div>
- {$content}
- <div style='width:700px;height:30px;padding-left:500px;margin-top:20px;;color:#444;'>
- <span>{$sitename}团队</span>
- </div>
- </div>
- <div style='text-align:center;color:#444;font-size:12px;font-family:微软雅黑;margin-top:20px;padding-top:20px;'>
- {$copyright}
- </div>
- </div>
- </td>
- </tr>
- </table>
- </body>
- </html>";
- }
- }
|