mirror of https://github.com/openspug/spug
U 优化主机权限管理支持搜索
parent
9a5699cf27
commit
e94729bdf4
|
@ -1,34 +0,0 @@
|
||||||
from email.message import EmailMessage
|
|
||||||
from email.utils import formataddr
|
|
||||||
import smtplib
|
|
||||||
|
|
||||||
|
|
||||||
class Mail:
|
|
||||||
def __init__(self, server, port, username, password, nickname=None):
|
|
||||||
self.host = server
|
|
||||||
self.port = port
|
|
||||||
self.user = username
|
|
||||||
self.password = password
|
|
||||||
self.nickname = nickname
|
|
||||||
|
|
||||||
def _get_server(self):
|
|
||||||
print(self.host, self.port, self.user, self.password)
|
|
||||||
server = smtplib.SMTP_SSL(self.host, self.port)
|
|
||||||
server.login(self.user, self.password)
|
|
||||||
return server
|
|
||||||
|
|
||||||
def send_text_mail(self, to_addrs, subject, body):
|
|
||||||
if isinstance(to_addrs, (list, tuple)):
|
|
||||||
to_addrs = ', '.join(to_addrs)
|
|
||||||
server = self._get_server()
|
|
||||||
msg = EmailMessage()
|
|
||||||
msg.set_content(body)
|
|
||||||
msg['Subject'] = subject
|
|
||||||
msg['From'] = formataddr((self.nickname, self.user)) if self.nickname else self.user
|
|
||||||
msg['To'] = to_addrs
|
|
||||||
server.send_message(msg)
|
|
||||||
server.quit()
|
|
||||||
|
|
||||||
mail_service = {'server': 'smtp.163.com', 'port': '465', 'username': 'leiem1989@163.com', 'password': 'FOCCUIGOCTJGCBOB', 'nickname': 'spug'}
|
|
||||||
mail = Mail(**mail_service)
|
|
||||||
mail.send_text_mail({'live1989@foxmail.com'}, '恢复-官网检测', f'恢复-官网检测\r\n\r\n自动发送,请勿回复。')
|
|
|
@ -67,11 +67,13 @@ class HostPerm extends React.Component {
|
||||||
description="主机权限将全局影响属于该角色的用户能够看到的主机。"/>
|
description="主机权限将全局影响属于该角色的用户能够看到的主机。"/>
|
||||||
<Form.Item label="设置可访问的主机" style={{padding: '0 20px'}}>
|
<Form.Item label="设置可访问的主机" style={{padding: '0 20px'}}>
|
||||||
<Transfer
|
<Transfer
|
||||||
listStyle={{width: 325, minHeight: 300}}
|
showSearch
|
||||||
|
listStyle={{width: 325, maxHeight: 500, minHeight: 300}}
|
||||||
titles={['所有主机', '已选主机']}
|
titles={['所有主机', '已选主机']}
|
||||||
dataSource={this.state.hosts}
|
dataSource={this.state.hosts}
|
||||||
targetKeys={store.hostPerms}
|
targetKeys={store.hostPerms}
|
||||||
onChange={keys => store.hostPerms = keys}
|
onChange={keys => store.hostPerms = keys}
|
||||||
|
filterOption={(inputValue, option) => `${option.zone}${option.name}`.toLowerCase().indexOf(inputValue.toLowerCase()) > -1}
|
||||||
render={item => `${item.zone} - ${item.name}`}/>
|
render={item => `${item.zone} - ${item.name}`}/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
Loading…
Reference in New Issue