Compare commits
2 Commits
40554545f2
...
ae16b99614
Author | SHA1 | Date | |
---|---|---|---|
ae16b99614 | |||
9f515b5660 |
@ -22,3 +22,11 @@ openai:
|
|||||||
API_KEY:
|
API_KEY:
|
||||||
MODEL_NAME: gpt-3.5-turbo
|
MODEL_NAME: gpt-3.5-turbo
|
||||||
PROMPT: 你是一个有用的人工智能助理,你尽力确保回答的准确性,避免给出误导信息。
|
PROMPT: 你是一个有用的人工智能助理,你尽力确保回答的准确性,避免给出误导信息。
|
||||||
|
|
||||||
|
|
||||||
|
mail:
|
||||||
|
host:
|
||||||
|
port:
|
||||||
|
username:
|
||||||
|
from:
|
||||||
|
password:
|
||||||
|
@ -27,6 +27,7 @@ def create_app():
|
|||||||
app.config['OPENAI_API_KEY'] = conf['openai']['API_KEY']
|
app.config['OPENAI_API_KEY'] = conf['openai']['API_KEY']
|
||||||
app.config['OPENAI_MODEL_NAME'] = conf['openai']['MODEL_NAME']
|
app.config['OPENAI_MODEL_NAME'] = conf['openai']['MODEL_NAME']
|
||||||
app.config['OPENAI_PROMPT'] = conf['openai']['PROMPT']
|
app.config['OPENAI_PROMPT'] = conf['openai']['PROMPT']
|
||||||
|
app.config['mail'] = conf['mail']
|
||||||
|
|
||||||
db.init_app(app)
|
db.init_app(app)
|
||||||
login_manager = LoginManager()
|
login_manager = LoginManager()
|
||||||
|
25
project/smtp.py
Normal file
25
project/smtp.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import smtplib
|
||||||
|
import logging
|
||||||
|
from email.mime.multipart import MIMEMultipart
|
||||||
|
from email.mime.text import MIMEText
|
||||||
|
from email.header import Header
|
||||||
|
from . import app
|
||||||
|
|
||||||
|
mail_config = app['mail']
|
||||||
|
logger = logging.getLogger('waitress')
|
||||||
|
|
||||||
|
|
||||||
|
def sendmail(to: str, subject: str, message: str):
|
||||||
|
if not (mail_config['username'] and mail_config['password']):
|
||||||
|
logger.error("smtp email account is not configured")
|
||||||
|
mail = MIMEText(message, "plain")
|
||||||
|
mail['Subject'] = Header(subject)
|
||||||
|
mail['From'] = Header(mail_config['from'])
|
||||||
|
mail['To'] = Header(to)
|
||||||
|
try:
|
||||||
|
smtp = smtplib.SMTP_SSL(mail_config['host'], int(mail_config['port']))
|
||||||
|
smtp.login(mail_config['username'], mail_config['password'])
|
||||||
|
smtp.sendmail(mail_config['username'], to, mail.as_string())
|
||||||
|
except Exception as e:
|
||||||
|
logger.error("sendmail error: %s", repr(e))
|
||||||
|
smtp.quit()
|
@ -7,11 +7,12 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
<title>Flask</title>
|
<title>Flask</title>
|
||||||
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}"/>
|
<link rel="shortcut icon"
|
||||||
|
href="{{ url_for('static', filename='favicon.ico') }}"/>
|
||||||
<link rel="stylesheet"
|
<link rel="stylesheet"
|
||||||
href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"/>
|
href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"/>
|
||||||
<link rel="stylesheet"
|
<link href="https://cdn.staticfile.org/bulma/0.9.4/css/bulma.min.css"
|
||||||
href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css"/>
|
rel="stylesheet"/>
|
||||||
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
|
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
|
||||||
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
Reference in New Issue
Block a user