本帖最后由 rctess 于 2022-11-25 20:00 编辑
注意
不当操作可能导致面板无法正常使用
建议先对原始文件进行备份后进行操作
在之前的版本中,通过对程序的脚本代码进行分析修改,实现了简单的通知发送方昵称自定义操作(参考:Linux面板-讨论-自定义邮件通知中发件方昵称)
在7.x版本的更新中,宝塔面板改变了邮箱发送功能模块的脚本文件位置
现提供相关的改动方案
文件位置:/www/server/panel/class/msg/mail_msg.py
----发送时自定义昵称----
代码特征:data['From'](文件内搜索即可直达)
改动方案:
原始
- data['From'] = formataddr([self.__mail_config['send']['qq_mail'], self.__mail_config['send']['qq_mail']])
复制代码 修改- data['From'] = formataddr([self.__mail_config['send']['nickname'], self.__mail_config['send']['qq_mail']])
复制代码 ----接受昵称设置----代码特征:set_config(文件内搜索即可直达)
改动方案:
原始
- if not hasattr(get, 'qq_mail') or not hasattr(get, 'qq_stmp_pwd') or not hasattr(get, 'hosts') or not hasattr(get, 'port'): return public.returnMsg(False, '请填写完整信息')
- mail_config = {
- "qq_mail": get.qq_mail.strip(),
- "qq_stmp_pwd": get.qq_stmp_pwd.strip(),
- "hosts": get.hosts.strip(),
- "port": get.port
- }
复制代码
修改
- if not hasattr(get, 'qq_mail') or not hasattr(get, 'qq_stmp_pwd') or not hasattr(get, 'hosts') or not hasattr(get, 'port'): return public.returnMsg(False, '请填写完整信息')
- nickname = get.qq_mail.strip()
- if hasattr(get, 'nickname'):
- nickname = get.nickname.strip()
- mail_config = {
- "nickname": nickname,
- "qq_mail": get.qq_mail.strip(),
- "qq_stmp_pwd": get.qq_stmp_pwd.strip(),
- "hosts": get.hosts.strip(),
- "port": get.port
- }
复制代码
文件位置:/www/server/panel/class/msg/mail.html
----UI侧输入组件----
代码特征:line sender_view(文件内搜索即可直达)
改动方案:
原始
- <div class="line">
- <span class="tname">发送人邮箱</span>
- <div class="info-r">
- <input name="sender_mail_value" class="bt-input-text mr5" type="text" style="width: 300px">
- </div>
- </div>
复制代码
修改
- <div class="line">
- <span class="tname">发送时昵称</span>
- <div class="info-r">
- <input name="sender_mail_nickname" class="bt-input-text mr5" type="text" style="width: 300px">
- </div>
- </div>
- <div class="line">
- <span class="tname">发送人邮箱</span>
- <div class="info-r">
- <input name="sender_mail_value" class="bt-input-text mr5" type="text" style="width: 300px">
- </div>
- </div>
复制代码 ----UI侧表单提交----
代码特征:sender_submit: function ()(文件内搜索即可直达)
改动方案:
原始
- var that = this;
- var _email = $('input[name=sender_mail_value]').val(),
- _passW = $('input[name=sender_mail_password]').val(),
- _server = $('input[name=sender_mail_server]').val(),
- _port = $('input[name=sender_mail_port]').val();
-
- if (_email == '') return layer.msg('邮箱地址不能为空!', { icon: 2 });
- if (_passW == '') return layer.msg('STMP密码不能为空!', { icon: 2 });
- if (_server == '') return layer.msg('STMP服务器地址不能为空!', { icon: 2 });
- if (_port == '') return layer.msg('请输入有效的端口号', { icon: 2 });
- var loadTs = layer.msg('正在生成邮箱通道中,请稍候...', { icon: 16, time: 0, shade: [0.3, '#000'] });
- $.post('/config?action=set_msg_config&name=mail', {
- send: 1,
- qq_mail: _email,
- qq_stmp_pwd: _passW,
- hosts: _server,
- port: _port
- }, function (rdata) {
- layer.close(loadTs);
- if (rdata.status) that.refresh_data();
- layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
- });
复制代码 修改
- var that = this;
- var _nickname = $('input[name=sender_mail_nickname]').val(),
- _email = $('input[name=sender_mail_value]').val(),
- _passW = $('input[name=sender_mail_password]').val(),
- _server = $('input[name=sender_mail_server]').val(),
- _port = $('input[name=sender_mail_port]').val();
-
- if (_nickname == '') _nickname = _email;
- if (_email == '') return layer.msg('邮箱地址不能为空!', { icon: 2 });
- if (_passW == '') return layer.msg('STMP密码不能为空!', { icon: 2 });
- if (_server == '') return layer.msg('STMP服务器地址不能为空!', { icon: 2 });
- if (_port == '') return layer.msg('请输入有效的端口号', { icon: 2 });
- var loadTs = layer.msg('正在生成邮箱通道中,请稍候...', { icon: 16, time: 0, shade: [0.3, '#000'] });
- $.post('/config?action=set_msg_config&name=mail', {
- send: 1,
- nickname: _nickname,
- qq_mail: _email,
- qq_stmp_pwd: _passW,
- hosts: _server,
- port: _port
- }, function (rdata) {
- layer.close(loadTs);
- if (rdata.status) that.refresh_data();
- layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
- });
复制代码 ----UI侧表单更新----
代码特征:get_sender_data: function ()(文件内搜索即可直达)
改动方案:
原始
- var send = data.send;
-
- var mail_ = send.qq_mail || '',
- stmp_pwd_ = send.qq_stmp_pwd || '',
- hosts_ = send.hosts || '',
- port_ = send.port || '';
- $('input[name=sender_mail_value]').val(mail_)
- $('input[name=sender_mail_password]').val(stmp_pwd_)
- $('input[name=sender_mail_server]').val(hosts_)
- $('input[name=sender_mail_port]').val(port_)
复制代码 修改
- var send = data.send;
-
- var nickname_ = send.nickname || '',
- mail_ = send.qq_mail || '',
- stmp_pwd_ = send.qq_stmp_pwd || '',
- hosts_ = send.hosts || '',
- port_ = send.port || '';
- $('input[name=sender_mail_nickname]').val(nickname_)
- $('input[name=sender_mail_value]').val(mail_)
- $('input[name=sender_mail_password]').val(stmp_pwd_)
- $('input[name=sender_mail_server]').val(hosts_)
- $('input[name=sender_mail_port]').val(port_)
复制代码
|
|