function test_sendmail() { $site_config = array(); $site_config['email_type'] = IReq::get('email_type'); $site_config['mail_address'] = IReq::get('mail_address'); $site_config['smtp'] = IReq::get('smtp'); $site_config['smtp_user'] = IReq::get('smtp_user'); $site_config['smtp_pwd'] = IReq::get('smtp_pwd'); $site_config['smtp_port'] = IReq::get('smtp_port'); $site_config['email_safe'] = IReq::get('email_safe'); $test_address = IReq::get('test_address'); $smtp = new SendMail($site_config); if ($error = $smtp->getError()) { $result = array('isError' => true, 'message' => $error); } else { $title = 'email test'; $content = 'success'; if ($smtp->send($test_address, $title, $content)) { $result = array('isError' => false, 'message' => '恭喜你!测试通过'); } else { $result = array('isError' => true, 'message' => '测试失败,请确认您的邮箱已经开启的smtp服务并且配置信息均填写正确'); } } echo JSON::encode($result); }
/** * 测试邮件发送 * @author Terry<*****@*****.**> * @date 2013-08-31 */ public function testSendMail() { $ary_get = $this->_get(); $smtp = new SendMail($ary_get); if ($error = $smtp->getError()) { $this->error($error); } else { if (!empty($ary_get['test_address'])) { $title = '邮件测试--HuiCMS内容管理系统'; $content = '这是一封测试邮件'; if ($smtp->send($ary_get['test_address'], $title, $content)) { $this->success("恭喜你!测试通过"); } else { $this->error("测试失败,请确认您的邮箱已经开启的smtp服务并且配置信息均填写正确"); } } else { $this->error("测试邮件地址不能为空"); } } }
/** * @brief 发送信件 */ function registry_message_send() { $smtp = new SendMail(); $error = $smtp->getError(); $list = array(); $tb = new IModel("email_registry"); $ids = IReq::get('ids'); $ids_sql = ""; if ($ids) { $ids = explode(",", $ids); $ids = IFilter::act($ids, 'int'); $ids = implode(",", $ids); $ids_sql = "id IN ({$ids})"; } set_time_limit(0); $title = IFilter::act(IReq::get('title')); $content = IReq::get("content"); $start = 0; $query = new IQuery("email_registry"); $query->fields = "email"; $query->order = "id DESC"; $query->where = $ids_sql; do { $query->limit = "{$start},50"; $list = $query->find(); if (count($list) == 0) { break; } $start += 1000; $to = array_pop($list); $to = $to['email']; $bcc = array(); foreach ($list as $value) { $bcc[] = $value['email']; } $bcc = implode(";", $bcc); $smtp->send($to, $title, $content, $bcc); } while (count($list) >= 50); echo "success"; }