모듈 설치
# 서버 구동시킬 객체
from flask import Flask
# 메일, 메세지 함수, 변수 가져오기
from flask_mail import Mail, Message
DB에서 Select 데이터 조회하기
def db_connector_email(u_id):
db = pymysql.connect(host='host url', port=포트번호, user='계정', passwd='계정 비밀번호', db='DB이름', charset='utf8')
cursor = db.cursor()
sql = f"SELECT u_email FROM tb_user WHERE U_ID='{u_id}';"
cursor.execute(sql)
# fetchall()로 조회된 데이터를 튜플에서 문자열로 변환하여 리스트에 추가합니다.
result_list = [row[0] for row in cursor.fetchall()]
db.close()
return result_list
메일 알림 전송
app = Flask(__name__)
mail = Mail(app)
app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USERNAME'] = '알림 보낼 이메일'
app.config['MAIL_PASSWORD'] = '이메일 앱 비밀번호'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
mail = Mail(app)
@app.route("/webAlarm", methods = ["POST"])
def webAlarm():
# 메일 알림 전송
email = db_connector_email(value)
print(email)
msg = Message('Hello', sender='알림 보낼 이메일', recipients=email)
msg.body = '침입이 감지되었습니다.'
mail.send(msg)
return ""
if __name__=='__main__':
app.run(host='127.0.0.1',port=9000)
실제 메일 알림
참고 블로그)
'프레임워크(Framework) > Flask' 카테고리의 다른 글
has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. (0) | 2023.08.05 |
---|---|
[Flask]폴더 내 이미지 DB에 저장 및 Ajax로 전송하여 JSP에 송출 (0) | 2023.07.26 |
[Flask] MySQL과 연동하여 데이터 Select (0) | 2023.07.24 |
[Flask] Ajax로 data 받고 jsp파일로 데이터 전송 (0) | 2023.07.24 |
[Flask] MySQL과 연동하여 데이터 Insert (0) | 2023.07.20 |
댓글