62 lines
1.5 KiB
Python
62 lines
1.5 KiB
Python
from flask import Flask,app
|
|
from urllib import request
|
|
from email.mime.text import MIMEText
|
|
from email.header import Header
|
|
import smtplib
|
|
import random
|
|
from waitress import serve
|
|
|
|
verification_code = 0
|
|
|
|
@app.route('/send_email', methods=["POST"])
|
|
|
|
def send_email():
|
|
data = request.get_json()
|
|
|
|
reciver_email = data.get('email')
|
|
SMTP_SERVER = ''
|
|
SMTP_PORT = 587
|
|
SENDER_EMAIL = ''
|
|
__PASS = ''
|
|
|
|
verification_code = random.randint(1000,9999)
|
|
|
|
subject = "DNFS 验证码"
|
|
content = f"DNFS: 您的验证码为{str(verification_code)}"
|
|
|
|
email_message = MIMEText(content, 'plain', 'utf-8')
|
|
email_message['From'] = Header(SENDER_EMAIL, 'utf-8')
|
|
email_message['To'] = Header(reciver_email, 'utf-8')
|
|
email_message['Subject'] = Header(subject)
|
|
|
|
try:
|
|
server = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
|
|
server.starttls()
|
|
server.login(SENDER_EMAIL, __PASS)
|
|
server.sendmail(SENDER_EMAIL, [reciver_email], email_message.as_string())
|
|
return 200
|
|
|
|
except Exception as err:
|
|
raise err
|
|
return 400
|
|
|
|
finally:
|
|
server.quit()
|
|
|
|
@app.route('/get_verification_code', method=["POST"])
|
|
|
|
def get_verification_code():
|
|
data=request.get_json()
|
|
|
|
input_verification_code = data.get('verification_code')
|
|
|
|
if verification_code == input_verification_code:
|
|
return 200
|
|
else:
|
|
return 400
|
|
|
|
ADDR = '127.0.0.1'
|
|
PORT = 8007
|
|
if __name__ == "__main__":
|
|
print(f'Listen at http://{ADDR}:{PORT}')
|
|
serve(app, host=ADDR, port=PORT) |