1
This commit is contained in:
244
.env
244
.env
@@ -24,146 +24,124 @@ pre = '<!doctype html>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<title>TMR</title>
|
||||
<link rel="shortcut icon" href="img/tmr3.png" type="image/x-icon"/>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-weight: 300;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "lucida Grande",Verdana,"Microsoft YaHei";
|
||||
font-size: 14px;
|
||||
line-height: 1.8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #444;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a {
|
||||
transition: all .5s;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.boy_sty {
|
||||
width: 1000px;
|
||||
margin: 50px auto 0 auto;
|
||||
border: 1px solid #e6e6e6;
|
||||
border-radius: 10px;
|
||||
border-collapse: collapse;
|
||||
border-style: hidden;
|
||||
box-shadow: 0 0 0 1px #e6e6e6;
|
||||
}
|
||||
|
||||
.img_tit {
|
||||
/*background-color: #f9f9f9;*/
|
||||
padding: 50px 40px 40px 40px;
|
||||
background: url(https://www.tmrjournals.cn/img/post_banner.png) center;
|
||||
background-size: cover;
|
||||
|
||||
}
|
||||
.img_tit>a{
|
||||
float: left;
|
||||
}
|
||||
.img_tit>a h3{
|
||||
font-size: 12px;
|
||||
color: #214b3c;
|
||||
font-weight: bold;
|
||||
letter-spacing: -0.8px;
|
||||
}
|
||||
.img_tit>div{
|
||||
float: right;
|
||||
font-size: 20px;
|
||||
line-height: 46px;
|
||||
}
|
||||
.img_tit>div>a{
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
.img_tit>div>a:hover{
|
||||
text-decoration: underline;
|
||||
}
|
||||
.img_tit>div>b{
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.bor_con {
|
||||
background-color: #fff;
|
||||
padding: 50px 0 50px 40px;
|
||||
}
|
||||
|
||||
.bor_con > h3 {
|
||||
font-size: 16px;
|
||||
margin: 0 0 15px 0;
|
||||
}
|
||||
|
||||
.fot_bot {
|
||||
padding: 10px 0 3px 40px;
|
||||
background-color: #e1eeea;
|
||||
border-bottom-left-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fot_bot > div {
|
||||
float: right;
|
||||
margin: 0 30px 0 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.fot_bot > p{
|
||||
float: left;
|
||||
margin: 16px 0 0 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="boy_sty">
|
||||
<div class="img_tit">
|
||||
<a href="https://www.tmrjournals.cn/" target="_blank">
|
||||
<img src="https://www.tmrjournals.cn/img/tmr.png" style="width: 130px;">
|
||||
<h3>TMR Publishing Group</h3>
|
||||
<table cellpadding="0" cellspacing="0" align="center" width="750"
|
||||
style="border: 1px solid #e6e6e6;border-radius: 10px;border-collapse: collapse;border-style:hidden; box-shadow: 0 0 0 1px #e6e6e6;overflow:hidden;margin: 2px auto;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td background="#FFFFFF">
|
||||
<table cellpadding="0" cellspacing="0" background="#FFFFFF">
|
||||
<tbody>
|
||||
<tr background="https://www.tmrjournals.com/img/post_banneru.png">
|
||||
<td width="200" height="100" colspan="1" rowspan="1"
|
||||
style="font-family: sans-serif; vertical-align: top;font-size: 14px;">
|
||||
<a href="https://www.tmrjournals.com/" target="_blank" style="text-decoration: none">
|
||||
<img src="https://www.tmrjournals.com/img/tmr.png" width="120"
|
||||
style="margin: 23px 0 0 30px">
|
||||
<h3 style="font-size: 12px;color: #214b3c;font-weight: bold;margin: 2px 0 10px 30px;letter-spacing: -0.3px">TMR
|
||||
Publishing Group</h3>
|
||||
</a>
|
||||
<div>
|
||||
<a href="https://www.tmrjournals.com" target="_blank">TMR</a>
|
||||
<b>/</b>
|
||||
<a href="https://www.tmrjournals.cn/rev_ver.html" target="_blank">Scientist Community</a>
|
||||
<b>/</b>
|
||||
<a href="https://www.tmrjournals.cn/tmrde/" target="_blank">Database</a>
|
||||
<b>/</b>
|
||||
<a href="https://submission.tmrjournals.com/" target="_blank">Submission System</a>
|
||||
</div>
|
||||
</td>
|
||||
<td width="550" height="100" colspan="1" rowspan="1"
|
||||
style="font-family: sans-serif; vertical-align: top;font-size: 14px;">
|
||||
<a href="https://www.tmrjournals.com" target="_blank"
|
||||
style="color: #333;font-size: 15px;margin: 0 0 0 40px;text-decoration: none;letter-spacing:-0.5px;text-shadow: 0 0 4px #fff;line-height: 95px">Home Page</a>
|
||||
<b style="margin: 0 5px;color: #333;">|</b>
|
||||
<a href="https://www.tmrjournals.com/rev_ver.html" target="_blank"
|
||||
style="color: #333;font-size: 15px;text-decoration: none;letter-spacing:-0.5px;text-shadow: 0 0 4px #fff">Scientist Community</a>
|
||||
<b style="margin: 0 5px;color: #333;">|</b>
|
||||
<a href="https://www.tmrjournals.com/tmrde/" target="_blank"
|
||||
style="color: #333;font-size: 15px;text-decoration: none;letter-spacing:-0.5px;text-shadow: 0 0 4px #fff">Database</a>
|
||||
<b style="margin: 0 5px;color: #333;">|</b>
|
||||
<a href="https://submission.tmrjournals.com/" target="_blank"
|
||||
style="color: #333;font-size: 15px;text-decoration: none;letter-spacing:-0.5px;text-shadow: 0 0 4px #fff">Submission System</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<br clear="both">
|
||||
</div>
|
||||
<div class="bor_con">'
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td background="#FFFFFF">
|
||||
<table cellpadding="0" cellspacing="0" background="#FFFFFF">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="750" height="40" colspan="0" rowspan="0">
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
net = '</div>
|
||||
<div class="fot_bot">
|
||||
<p>
|
||||
Copyright © TMR Publishing Group Limited. <br>
|
||||
E-mail: publisher@tmrjournals.com | https://www.tmrjournals.com <br>
|
||||
Telephone: +64 02108293806
|
||||
</p>
|
||||
<div>
|
||||
<img src="https://www.tmrjournals.cn/img/post_erweima.png" style="width: 100px;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td background="#FFFFFF">
|
||||
<table cellpadding="0" cellspacing="0" background="#FFFFFF">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="30" height="87" colspan="1" rowspan="1">
|
||||
</td>
|
||||
<td width="688" height="87" colspan="1" rowspan="1"
|
||||
style="font-family:sans-serif; vertical-align: top;font-size: 14px;">
|
||||
<p style="line-height:24px;text-align:left;">'
|
||||
|
||||
net = '</p>
|
||||
</td>
|
||||
<td width="32" height="87" colspan="1" rowspan="1">
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td background="#FFFFFF">
|
||||
<table cellpadding="0" cellspacing="0" background="#FFFFFF">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="750" height="30" colspan="0" rowspan="0">
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td background="#FFFFFF">
|
||||
<table cellpadding="0" cellspacing="0" background="#FFFFFF">
|
||||
<tbody>
|
||||
<tr style="background-color: #e1eeea">
|
||||
|
||||
<td width="750" height="110" colspan="1" rowspan="1"
|
||||
style="font-family:sans-serif; vertical-align: top;font-size: 14px;">
|
||||
<p style="margin: 20px 0 0 30px;line-height: 24px"> Copyright © TMR Publishing Group Limited. <br>
|
||||
E-Mail: publisher@tmrjournals.com | https://www.tmrjournals.com <br>
|
||||
Telephone: +64 02108293806</p>
|
||||
</td>
|
||||
<td>
|
||||
<img src="https://www.tmrjournals.com/img/post_erweim.png"
|
||||
style="width: 90px;margin: 0 30px 0 0">
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
<script>
|
||||
|
||||
</script>
|
||||
</html>'
|
||||
@@ -34,6 +34,7 @@ class Article extends Controller {
|
||||
protected $reviewer_from_author_obj = '';
|
||||
protected $article_dialog_obj = '';
|
||||
protected $article_proposal_obj = '';
|
||||
protected $article_response_to_reviewer_obj = '';
|
||||
protected $user_black_obj = '';
|
||||
protected $user_reviewer_recommend_obj = '';
|
||||
|
||||
@@ -60,6 +61,7 @@ class Article extends Controller {
|
||||
$this->reviewer_from_author_obj = Db::name("reviewer_from_author");
|
||||
$this->article_dialog_obj = Db::name('article_dialog');
|
||||
$this->article_proposal_obj = Db::name('article_proposal');
|
||||
$this->article_response_to_reviewer_obj = Db::name('article_response_to_reviewer');
|
||||
$this->user_black_obj = Db::name('user_black');
|
||||
$this->user_reviewer_recommend_obj = Db::name('user_reviewer_recommend');
|
||||
}
|
||||
@@ -507,6 +509,23 @@ class Article extends Controller {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全部作者反馈审稿人文件列表
|
||||
*/
|
||||
public function getArticleResponseFiles(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
'article_id'=>'require'
|
||||
]);
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$list = $this->article_response_to_reviewer_obj->where('article_id',$data['article_id'])->where('artr_state',0)->select();
|
||||
$re['files'] = $list;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @title 修回文章
|
||||
* @description 修回文章
|
||||
@@ -518,6 +537,7 @@ class Article extends Controller {
|
||||
* @param name:articleId type:int require:1 desc:文章id
|
||||
* @param name:picturesAndTables type:string require:1 desc:Figures
|
||||
* @param name:manuscirpt type:string require:1 desc:文章文件
|
||||
* @param name:responseFile type:string require:0 desc:作者反馈审稿人文件
|
||||
*
|
||||
*/
|
||||
public function RepairBack(){
|
||||
@@ -567,6 +587,16 @@ class Article extends Controller {
|
||||
$res2 = self::save_article_file($data['articleId'], $user_res['user_id'], $user_res['account'], $data['picturesAndTables'], 'picturesAndTables');
|
||||
$res3 = self::save_article_file($data['articleId'], $user_res['user_id'], $user_res['account'], $data['manuscirpt'], 'manuscirpt');
|
||||
|
||||
//作者反馈审稿人信息文件
|
||||
$res_response = true;
|
||||
if(isset($data['responseFile'])&&$data['responseFile']!=''){
|
||||
$insert_response['article_id'] = $data['articleId'];
|
||||
$insert_response['file_url'] = $data['responseFile'];
|
||||
$insert_response['artr_ctime'] = time();
|
||||
$res_response = $this->article_response_to_reviewer_obj->insert($insert_response);
|
||||
}
|
||||
|
||||
|
||||
//增加用户操作log
|
||||
$log_data['user_id'] = $article_info['user_id'];
|
||||
$log_data['type'] = 1;
|
||||
@@ -577,7 +607,7 @@ class Article extends Controller {
|
||||
//增加usermsg
|
||||
$umsg_res=add_usermsg($journal_info['editor_id'], 'The manuscript has new process: ' . $article_info['title'], '/articleDetailEditor?id=' . $article_info['article_id']);
|
||||
|
||||
if($msg_res&&$res2&&$res3&&$log_res&&$umsg_res){
|
||||
if($msg_res&&$res2&&$res3&&$log_res&&$umsg_res&&$res_response){
|
||||
Db::commit();
|
||||
return json(['code' => 0]);
|
||||
}else{
|
||||
@@ -754,6 +784,8 @@ class Article extends Controller {
|
||||
* @param name:state type:int require:1 desc:状态代码
|
||||
* @param name:editormsg type:String require:1 desc:携带的消息(以后会废除)
|
||||
* @param name:trsjournal type:int require:0 desc:转投期刊id(拒稿时候是必传,不推荐转投的为0)
|
||||
* @param name:proposal_content type:string require:0 desc:退修编辑意见文件
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function editArticleEditor() {
|
||||
@@ -879,6 +911,13 @@ class Article extends Controller {
|
||||
//更新文章状态
|
||||
if($data['state']==4){
|
||||
$update_data['ttime'] = time();
|
||||
//退休状态,添加退修时编辑的意见
|
||||
if(isset($data['proposal_content'])&&$data['proposal_content']!=''){//存在这个修回的文件
|
||||
$insert_proposal['article_id'] = $data['articleId'];
|
||||
$insert_proposal['proposal_content'] = trim($data['proposal_content']);
|
||||
$insert_proposal['ap_ctime'] = time();
|
||||
$this->article_proposal_obj->insert($insert_proposal);
|
||||
}
|
||||
}
|
||||
if($data['state']==3){
|
||||
$update_data['rstime'] = time();
|
||||
@@ -1795,6 +1834,21 @@ class Article extends Controller {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传作者反馈审稿人文件
|
||||
*/
|
||||
public function up_response_file(){
|
||||
$file = request()->file('articleResponse');
|
||||
if ($file) {
|
||||
$info = $file->move(ROOT_PATH . 'public' . DS . 'articleResponse');
|
||||
if ($info) {
|
||||
return json(['code' => 0, 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
|
||||
} else {
|
||||
return json(['code' => 1, 'msg' => $file->getError()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文章审稿实例列表
|
||||
*/
|
||||
@@ -1852,6 +1906,8 @@ class Article extends Controller {
|
||||
|
||||
$noids = $this->article_reviewer_obj->where('article_id', $data['articleId'])->column('reviewer_id');
|
||||
|
||||
$noids[] = $article_info['user_id'];
|
||||
|
||||
$res = $this->reviewer_to_journal_obj
|
||||
->field('t_user.user_id,t_user.account')
|
||||
->join('t_user','t_user.user_id = t_reviewer_to_journal.reviewer_id','left')
|
||||
|
||||
140
application/api/controller/Email.php
Normal file
140
application/api/controller/Email.php
Normal file
@@ -0,0 +1,140 @@
|
||||
<?php
|
||||
|
||||
namespace app\api\controller;
|
||||
|
||||
use think\Controller;
|
||||
use think\Db;
|
||||
use think\Queue;
|
||||
use think\Validate;
|
||||
|
||||
class Email extends Controller{
|
||||
|
||||
protected $article_obj = '';
|
||||
protected $user_obj = '';
|
||||
protected $user_act_obj = '';
|
||||
protected $journal_obj = '';
|
||||
protected $user_log_obj = '';
|
||||
protected $user_reviewer_info_obj = '';
|
||||
protected $reviewer_major_obj = '';
|
||||
protected $reviewer_to_journal_obj = '';
|
||||
protected $article_reviewer_question_obj = '';
|
||||
protected $article_msg_obj = '';
|
||||
protected $article_file_obj = '';
|
||||
protected $article_reviewer_obj = '';
|
||||
protected $article_author_obj = '';
|
||||
protected $article_transfer_obj = '';
|
||||
protected $chief_to_journal_obj = '';
|
||||
protected $login_auto_obj = '';
|
||||
protected $major_obj = "";
|
||||
protected $major_to_journal_obj = '';
|
||||
protected $reviewer_from_author_obj = '';
|
||||
protected $article_dialog_obj = '';
|
||||
protected $article_proposal_obj = '';
|
||||
protected $article_response_to_reviewer_obj = '';
|
||||
protected $user_black_obj = '';
|
||||
protected $user_reviewer_recommend_obj = '';
|
||||
protected $email_log_obj = '';
|
||||
protected $email_template_obj = '';
|
||||
|
||||
public function __construct(\think\Request $request = null) {
|
||||
parent::__construct($request);
|
||||
$this->user_obj = Db::name('user');
|
||||
$this->user_act_obj = Db::name('user_act');
|
||||
$this->article_obj = Db::name('article');
|
||||
$this->journal_obj = Db::name('journal');
|
||||
$this->user_log_obj = Db::name('user_log');
|
||||
$this->user_reviewer_info_obj = Db::name("user_reviewer_info");
|
||||
$this->reviewer_major_obj = Db::name('reviewer_major');
|
||||
$this->reviewer_to_journal_obj = Db::name('reviewer_to_journal');
|
||||
$this->article_reviewer_question_obj = Db::name('article_reviewer_question');
|
||||
$this->article_msg_obj = Db::name('article_msg');
|
||||
$this->article_file_obj = Db::name('article_file');
|
||||
$this->article_reviewer_obj = Db::name('article_reviewer');
|
||||
$this->article_author_obj = Db::name('article_author');
|
||||
$this->article_transfer_obj = Db::name('article_transfer');
|
||||
$this->chief_to_journal_obj = Db::name('chief_to_journal');
|
||||
$this->login_auto_obj = Db::name('login_auto');
|
||||
$this->major_obj = Db::name("major");
|
||||
$this->major_to_journal_obj = Db::name('major_to_journal');
|
||||
$this->reviewer_from_author_obj = Db::name("reviewer_from_author");
|
||||
$this->article_dialog_obj = Db::name('article_dialog');
|
||||
$this->article_proposal_obj = Db::name('article_proposal');
|
||||
$this->article_response_to_reviewer_obj = Db::name('article_response_to_reviewer');
|
||||
$this->user_black_obj = Db::name('user_black');
|
||||
$this->user_reviewer_recommend_obj = Db::name('user_reviewer_recommend');
|
||||
$this->email_log_obj = Db::name('email_log');
|
||||
$this->email_template_obj = Db::name('email_template');
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加邮件模板
|
||||
*/
|
||||
public function addEmailTemplate(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
'etitle'=>'require',
|
||||
'epid'=>'require',
|
||||
]);
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$insert['etitle'] = $data['etitle'];
|
||||
$insert['epid'] = $data['epid'];
|
||||
$insert['econtent'] = isset($data['econtent'])?$data['econtent']:'';
|
||||
$this->email_template_obj->insert($insert);
|
||||
return jsonSuccess([]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除邮件模板
|
||||
*/
|
||||
public function delEmailTemplate(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
'eid'=>'require'
|
||||
]);
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$info = $this->email_template_obj->where('eid',$data['eid'])->find();
|
||||
if($info['epid']==0){
|
||||
$check = $this->email_template_obj->where('epid',$info['eid'])->where('estate',0)->find();
|
||||
if($check){
|
||||
return jsonError('Please delete all subitems first!');
|
||||
}
|
||||
}
|
||||
$this->email_template_obj->where('eid',$data['eid'])->update(['estate'=>1]);
|
||||
return jsonSuccess([]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全部邮件模板
|
||||
*/
|
||||
public function getAllEmailTemplate(){
|
||||
$list = $this->email_template_obj->where('epid',0)->where('estate',0)->select();
|
||||
foreach($list as $k => $v){
|
||||
$cache = $this->email_template_obj->where('epid',$v['eid'])->where('estate',0)->select();
|
||||
$list[$k]['children'] = $cache;
|
||||
}
|
||||
$re['templates'] = $list;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取邮件模板
|
||||
*/
|
||||
public function getEmailTemplate(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
'eid'=>'require'
|
||||
]);
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$info = $this->email_template_obj->where('eid',$data['eid'])->where('estate',0)->find();
|
||||
$re['template'] = $info;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1358,7 +1358,7 @@ class Reviewer extends Controller
|
||||
$info_insert['company'] = isset($data['company']) ? trim($data['company']) : '';
|
||||
$info_insert['major'] = $data['major'];
|
||||
$info_insert['cmajor'] = $data['cmajor'];
|
||||
$info_insert['qualifications'] = trim($data['cv']);
|
||||
$info_insert['qualifications'] = isset($data['cv'])?trim($data['cv']):'';
|
||||
$info_insert['field'] = trim($data['field']);
|
||||
$res1 = $this->user_reviewer_info_obj->insertGetId($info_insert);
|
||||
$to_insert['reviewer_id'] = $uid;
|
||||
|
||||
@@ -319,6 +319,11 @@ class User extends Controller
|
||||
echo 'Unsubscribe successfully!';
|
||||
}
|
||||
|
||||
|
||||
public function mytestemail(){
|
||||
sendEmail('751475802@qq.com', "test", "test", "hello", "tmr@tmrjournals.com", "849192806Pnx");
|
||||
}
|
||||
|
||||
/**
|
||||
* @title 申请期刊审稿人对于审稿人
|
||||
* @description 申请期刊审稿人对于审稿人
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
use PHPMailer\PHPMailer\PHPMailer;
|
||||
use think\Db;
|
||||
use think\Env;
|
||||
|
||||
//use TCPDF;
|
||||
// +----------------------------------------------------------------------
|
||||
@@ -67,7 +68,12 @@ function sendEmail($email = '', $title = '', $from_name = '', $content = '', $me
|
||||
$mail->Subject = $title;
|
||||
//Read an HTML message body from an external file, convert referenced images to embedded,
|
||||
//convert HTML into a basic plain-text alternative body
|
||||
$mail->msgHTML($content);
|
||||
|
||||
//组合邮件模板的头尾
|
||||
$pre = Env::get('emailtemplete.pre');
|
||||
$net = Env::get('emailtemplete.net');
|
||||
|
||||
$mail->msgHTML($pre.$content.$net);
|
||||
//Replace the plain text body with one created manually
|
||||
$mail->AltBody = '';
|
||||
if (is_array($attachmentFile)) {
|
||||
|
||||
Reference in New Issue
Block a user