今天要給一堆學弟學妹發送面試通知,因爲數量較多,直接寫個程序發送算了,然後我選擇了Python來寫,如果想用Java寫的可以考慮去使用Apache Commons Email——
http://mvnrepository.com/artifact/org.apache.commons/commons-email。
廢話不說,直接上代碼
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import parseaddr,formataddr
#轉換函數,該函數來自廖雪峯老師的教學內容
def format_addr(s):
name,addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr))
from_addr = "[email protected]"
password = "xxxxxxxxxxxxxx"
smtp_server = "smtp.qq.com"
try:
txt = open(r"baoming.txt","r",-1,"utf-8")
server = smtplib.SMTP(smtp_server, 587)
# 記得加密。。。一開始發送失敗,因爲騰訊的smtp服務需要加密
server.starttls()
server.set_debuglevel(1)
server.login(from_addr, password)
line = txt.readline()
#去掉換行符
line = line.strip("\n")
n = 1
while line:
name = line
line = txt.readline()
line = line.strip("\n")
email = line
to_addr = email
print(name,email)
#這裏是爲了分批
if n <= 9:
if n%2==1:
mainText = "%s同學你好,我是技術交流協會的工作人員,請於21日晚7點前到軟件樓321教室簽到準備面試,收到請回復,特殊情況請另行說明" % name
else:
mainText = "%s同學你好,我是技術交流協會的工作人員,請於21日晚7點前到軟件樓323教室簽到準備面試,收到請回復,特殊情況請另行說明" % name
elif n>9 and n<=18:
if n % 2 == 1:
mainText = "%s同學你好,我是技術交流協會的工作人員,請於21日晚8點前到軟件樓321教室簽到準備面試,收到請回復,特殊情況請另行說明" % name
else:
mainText = "%s同學你好,我是技術交流協會的工作人員,請於21日晚8點前到軟件樓323教室簽到準備面試,收到請回復,特殊情況請另行說明" % name
elif n>18 and n<=27:
if n % 2 == 1:
mainText = "%s同學你好,我是技術交流協會的工作人員,請於22日晚7點前到軟件樓321教室簽到準備面試,收到請回復,特殊情況請另行說明" % name
else:
mainText = "%s同學你好,我是技術交流協會的工作人員,請於22日晚7點前到軟件樓323教室簽到準備面試,收到請回復,特殊情況請另行說明" % name
else:
if n % 2 == 1:
mainText = "%s同學你好,我是技術交流協會的工作人員,請於22日晚8點前到軟件樓321教室簽到準備面試,收到請回復,特殊情況請另行說明" % name
else:
mainText = "%s同學你好,我是技術交流協會的工作人員,請於22日晚8點前到軟件樓323教室簽到準備面試,收到請回復,特殊情況請另行說明" % name
to_addr = email
print(mainText)
try:
msg = MIMEText(mainText, "plain", "utf-8")
#設置收、發信人與主題
msg["From"] = format_addr("技協工作人員 <%s>" % from_addr)
msg["To"] = "%s"% name
msg["Subject"] = Header("面試通知", "utf-8").encode()
server.sendmail(from_addr, [to_addr], msg.as_string())
except:
print(name,"發送失敗")
line = txt.readline()
line = line.strip("\n")
n = n+1
except:
print("失敗")
finally:
server.quit()
txt.close()
數據文件格式
小明
[email protected]
...
.........
即一行名字一行郵箱地址。辣雞代碼,大家隨便看看就好了。。。