from openpyxl import load_workbookimport smtplibfrom email.mime.text import MIMETextwb = load_workbook("H:\项目\Test\发送邮件\email1.xlsx")sheet = wb.get_sheet_by_name('Sheet1')lastCol = sheet.max_column lastestMonth = sheet.cell(row =1,column =lastCol).valueunpadiMembers = {}for r in range(2,sheet.max_row+1): payment = sheet.cell(row=r ,column=lastCol) if payment != "": name = sheet.cell(row=r ,column=1).value email = sheet.cell(row=r ,column=2).value if email != None: unpadiMembers[name]= emailsmtpObj = smtplib.SMTP()smtpObj.connect('smtp.163.com',)smtpObj.login('hy17611499228@163.com','huyang123')for name,email in unpadiMembers.items(): body ='{}党费什么时候交{}'.format(name,lastestMonth) print('Sending email to {}'.format(email)) msg = MIMEText(body,'html','utf-8') msg['Form'] = 'hy17611499228@163.com' msg['To'] = email msg['Subject'] = '懒惰是可耻的' sendemailStatus = smtpObj.sendmail('hy17611499228@163.com','hy17611499228@163.com',msg.as_string()) if sendemailStatus !={}: #不空代表有错误 print('There was a problem sending email to %s'%sendemailStatus) smtpObj.quit()
测试结果