123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- <?php
- // by 请勿倒卖,已申请软著,否则追究法律责任
- namespace app\admin;
- class mailsend extends Base
- {
- public function initialize()
- {
- parent::initialize();
- $this->Administrator(5);
- set_time_limit(0);
- }
- function index()
- {
- $this->header();
- ?> <div class="container">
- <?php
- $this->nav3();
- ?> <table class="tb tb2">
- <tr>
- <th class="partition">技巧提示</th>
- </tr>
- <tr>
- <td class="tipsblock">
- <ul>
- <li>请先选择好筛选条件,再发送,不要频繁发送大量邮件,以免被封邮箱账号。</li>
- <li>标题和内容支持变量:{uname}=>用户名,{email}=>邮箱,{mobile}=>手机,{nickname}=>姓名,{qyname}=>公司名称</li>
- </ul>
- </td>
- </tr>
- </table>
- <div class="infobox" id="loader" style="display:none;"></div>
- <table class="tb tb2">
- <tbody>
- <tr>
- <td class="td27">发送条件:</td>
- </tr>
- <tr>
- <td class="vtop rowform">
- <select name="sendtype" id="sendtype">
- <option value="1">邮件地址</option>
- <option value="2">全部会员</option>
- <option value="3">会员搜索</option>
- </select>
- </td>
- <td class="vtop tips2"></td>
- </tr>
- <tbody class="sub">
- <tr>
- <td colspan="2" class="td27">邮件地址:</td>
- </tr>
- <tr>
- <td class="rowform"><input type="text" class="txt" value="" name="mailto" id="mailto"></td>
- <td class="tips2">直接填写收件邮箱</td>
- </tr>
- <tr>
- <td class="td27">查询条件:</td>
- </tr>
- <tr>
- <td class="rowform" colspan="3">
- <select name="verify" id="verify">
- <option value="">认证状态</option>
- <option value="1">未认证</option>
- <option value="2">已认证</option>
- <option value="3">认证中</option>
- <option value="4">认证失败</option>
- </select>
- <select name="svip" id="svip">
- <option value="">会员类型</option>
- <option value="1">体验会员</option>
- <option value="2">初级会员</option>
- <option value="3">中级会员</option>
- <option value="4">高级会员</option>
- </select>
- </td>
- </tr>
- </tbody>
- <tr>
- <td class="td27" colspan="2">标题:</td>
- </tr>
- <tr>
- <td class=" rowform"><input type="text" class="txt" value="【<?php echo IN_NAME;?>】提醒:"
- name="mailtit"
- id="mailtit"></td>
- <td class=" tips2">邮件标题</td>
- </tr>
- <tr>
- <td class="td27" colspan="2">内容:</td>
- </tr>
- <tr>
- <td class=" rowform">
- <textarea rows="6" name="mailbody" class="tarea" id="mailbody"></textarea>
- </td>
- <td class=" tips2">邮件正文内容,支持html</td>
- </tr>
- <tr>
- <td colspan="2"><input type="button" class="btn" value="开始发送" onclick="start_send();"></td>
- </tr>
- </tbody>
- </table>
- </div>
- <script>
- function start_send() {
- var sendtype = document.getElementById("sendtype").value;
- var mailto = document.getElementById("mailto").value;
- var svip = document.getElementById("svip").value;
- var verify = document.getElementById("verify").value;
- var mailtit = document.getElementById("mailtit").value;
- var mailbody = document.getElementById("mailbody").value;
- if (sendtype == 1 && !mailto) {
- layer.msg("收件人没有填写", {icon: 1, time: 2000});
- return;
- }
- if (sendtype == 3 && !verify && !svip) {
- layer.msg("请选择认证状态或者会员类型", {icon: 1, time: 2000});
- return;
- }
- if (!mailtit || !mailbody) {
- layer.msg("标题和内容不能为空", {icon: 1, time: 2000});
- return;
- }
- var data = {
- sendtype: sendtype,
- mailto: mailto,
- svip: svip,
- verify: verify,
- mailtit: mailtit,
- mailbody: mailbody,
- }
- ajax_send(data, 1);
- }
- function ajax_send(data, page) {
- $("#loader").show();
- $.post("?c=mailsend&a=dosend&page=" + page, data, function (result) {
- if (result.code == 1) {
- $("#loader").html('<h4 class="infotitle2">恭喜,邮件已经发送完毕!</h4>');
- } else {
- $("#loader").html('<h4 class="infotitle1">已发送' + page + '/' + result.data.totalpage + ',请稍等...</h4><img src="/static/admincp/image/loader.gif" class="marginbot" />');
- ajax_send(data, page + 1);
- }
- }, 'json');
- }
- </script>
- <?php
- $this->footer();
- }
- function dosend()
- {
- $_var_0 = SafeRequest("sendtype", "post");
- $_var_1 = SafeRequest("mailto", "post");
- $_var_2 = SafeRequest("svip", "post");
- $_var_3 = SafeRequest("verify", "post");
- $_var_4 = SafeRequest("mailtit", "post");
- $_var_5 = SafeRequest("mailbody", "post");
- $_var_5 .= "<br>本邮件由系统自动发送,请勿直接回复。官方网址:" . $this->siteurl;
- $_var_6 = array("{uname}", "{email}", "{mobile}", "{nickname}", "{qyname}");
- if ($_var_0 == 1) {
- $_var_7 = db("user")->where("in_mail", $_var_1)->find();
- if ($_var_7) {
- $_var_8 = array($_var_7["in_username"], $_var_7["in_mail"], $_var_7["in_mobile"], $_var_7["in_nick"], $_var_7["in_nameqy"]);
- $_var_4 = str_replace($_var_6, $_var_8, $_var_4);
- $_var_5 = str_replace($_var_6, $_var_8, $_var_5);
- }
- $_var_9 = send_email($_var_1, $_var_4, $_var_5);
- reJSON("发送成功!", 1);
- } elseif ($_var_0 == 2) {
- $_var_10 = db("user")->where("in_mail<>''")->count();
- $_var_11 = 10;
- $_var_12 = isset($_GET["page"]) ? $_GET["page"] : 1;
- $_var_13 = ceil($_var_10 / $_var_11);
- $_var_14 = ($_var_12 - 1) * $_var_11;
- $_var_15 = db("user")->where("in_mail<>''")->order("in_userid desc")->limit($_var_14, $_var_11)->select();
- foreach ($_var_15 as $_var_7) {
- $_var_8 = array($_var_7["in_username"], $_var_7["in_mail"], $_var_7["in_mobile"], $_var_7["in_nick"], $_var_7["in_nameqy"]);
- $_var_4 = str_replace($_var_6, $_var_8, $_var_4);
- $_var_5 = str_replace($_var_6, $_var_8, $_var_5);
- send_email($_var_7["in_mail"], $_var_4, $_var_5);
- }
- if ($_var_12 == $_var_13) {
- reJSON("发送成功!", 1);
- } else {
- reJSON(["totalpage" => $_var_13]);
- }
- } elseif ($_var_0 == 3) {
- $_var_16 = "in_mail<>''";
- if ($_var_3 > 0) {
- $_var_16 .= " and in_verify=" . $_var_3 . "-1";
- }
- if ($_var_2 > 0) {
- $_var_16 .= " and in_svip=" . $_var_2 . "-1";
- }
- $_var_10 = db("user")->where($_var_16)->count();
- $_var_11 = 10;
- $_var_12 = isset($_GET["page"]) ? $_GET["page"] : 1;
- $_var_13 = ceil($_var_10 / $_var_11);
- $_var_14 = ($_var_12 - 1) * $_var_11;
- $_var_15 = db("user")->where($_var_16)->order("in_userid desc")->limit($_var_14, $_var_11)->select();
- foreach ($_var_15 as $_var_7) {
- $_var_8 = array($_var_7["in_username"], $_var_7["in_mail"], $_var_7["in_mobile"], $_var_7["in_nick"], $_var_7["in_nameqy"]);
- $_var_4 = str_replace($_var_6, $_var_8, $_var_4);
- $_var_5 = str_replace($_var_6, $_var_8, $_var_5);
- send_email($_var_7["in_mail"], $_var_4, $_var_5);
- }
- if ($_var_12 == $_var_13) {
- reJSON("发送成功!", 1);
- } else {
- reJSON(["totalpage" => $_var_13]);
- }
- }
- }
- }
|