PythonでGMAILメールを送信する
練習內容
員工的密碼一年必須更新一次,
2020/02/01是員工的入社日,2021/02/01 之前必須要更新密碼,所以在
2021/01/01(一個月前)希望能自動發送通知mail給員工讓他們知道必須更新密碼了,若是員工在2021/01/07日去更新的話,那他明年
2022/01/07前必須再去更新一次!(密碼最後更新日會自動寫入DB)
如果要實現的話
1. 先用MYSQL做一個表
2. 連到mysql
3.每天檢測使用者的最後更新日(新人的話就是入社日)
4.若發現使用者的最後更新日的月份和今天的日期相差(今天-最後更新日)=335天的話
5.系統自動發送mail給職員提醒他更新密碼
我的CODE
import mysql.connector
import smtplibconnection = mysql.connector.connect
(host=”localhost”, port=””, user=”root”, password=””, database=”sql_card” )
cusor =connection.cursor()
cusor.execute(“SELECT * FROM vendor WHERE to_days(now())- to_days(renew_date) =334”)
records =cusor.fetchall()
to_addr_list = []
for r in records: user = [r] mail =user[0][4]
to_addr_list .append(mail)
from_addr = “@gmail.com”
pwd = input(“%sのパスワードを入力してください” % from_addr)
msg = “Subject:My Mail using python\n\I am nini”mySMPT = smtplib.SMTP(“smtp.gmail.com”,587)
mySMPT.ehlo()mySMPT.starttls()mySMPT.login(from_addr,pwd)
status =mySMPT.sendmail(from_addr,to_addr_list,msg)
if status == {}:
print(“成功”)mySMPT.quite()
MYSQL的資料
抓的條件 (“SELECT * FROM vendor WHERE to_days(now())- to_days(renew_date) =334”)
學MYSQL的話很推這個教學,Python和JS之類也都講得很清楚
https://www.youtube.com/watch?v=gvRXjsrpCHw&t=3223s
gmail設定
送信之前發信人那邊也要設一下安全設置 (gmail)
低安全應用那邊設定成開啟