Compare commits

..

2 Commits

Author SHA1 Message Date
ae16b99614 implement sendmail 2023-04-19 00:16:19 +08:00
9f515b5660 use same cdn provider 2023-04-18 22:07:37 +08:00
4 changed files with 38 additions and 3 deletions

View File

@ -22,3 +22,11 @@ openai:
API_KEY:
MODEL_NAME: gpt-3.5-turbo
PROMPT: 你是一个有用的人工智能助理,你尽力确保回答的准确性,避免给出误导信息。
mail:
host:
port:
username:
from:
password:

View File

@ -27,6 +27,7 @@ def create_app():
app.config['OPENAI_API_KEY'] = conf['openai']['API_KEY']
app.config['OPENAI_MODEL_NAME'] = conf['openai']['MODEL_NAME']
app.config['OPENAI_PROMPT'] = conf['openai']['PROMPT']
app.config['mail'] = conf['mail']
db.init_app(app)
login_manager = LoginManager()

25
project/smtp.py Normal file
View 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()

View File

@ -7,11 +7,12 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<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"
href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"/>
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css"/>
<link href="https://cdn.staticfile.org/bulma/0.9.4/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/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>