Compare commits

...

4 Commits

Author SHA1 Message Date
ba3d3be2a9 Merge pull request 'dev_mail' (#18) from dev_mail into master
Reviewed-on: #18
2023-04-19 00:20:14 +08:00
f65a62606e Merge branch 'master' into dev_mail 2023-04-19 00:19:13 +08:00
ae16b99614 implement sendmail 2023-04-19 00:16:19 +08:00
9f515b5660 use same cdn provider 2023-04-18 22:07:37 +08:00
3 changed files with 34 additions and 0 deletions

View File

@ -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:

View File

@ -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
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()