Merge pull request 'dev_mail' (#18) from dev_mail into master

Reviewed-on: #18
This commit is contained in:
wangjiacai 2023-04-19 00:20:14 +08:00
commit ba3d3be2a9
3 changed files with 34 additions and 0 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()