jiahuizhu 2017-06-02
smtp是直接调用163邮箱的smtp服务器,需要在163邮箱中设置一下。outlook发送就是Python直接调用win32方式。调用程序outlook直接发送邮件。
import win32com.client as win32 import xlrd outlook = win32.Dispatch('outlook.application') mail = outlook.CreateItem(0) receivers = ['[email protected]'] mail.To = receivers[0] mail.Subject ='test1' workbook = xlrd.open_workbook('E:\\kpi excel\\00_summary.xls') mySheet = workbook.sheet_by_index(0) nrows = mySheet.nrows content = [] for i in range(nrows): ss = mySheet.row_values(i) content.append(ss) print(content) Truecontent =str(content) mail.Body = Truecontent mail.Attachments.Add('E:\\kpi excel\\00_summary.xls') mail.Send()
smtp发送邮件
import smtplib from email.mime.text import MIMEText mail_host = 'smtp.163.com' mail_user = '18298268658' mail_pass = 'cat123' sender = '[email protected]' receivers = ['[email protected]'] message = MIMEText('content','plain','utf-8') message['Subject'] = 'title' message['From'] = sender message['To'] = receivers[0] try: smtpObj = smtplib.SMTP() smtpObj.connect(mail_host,25) smtpObj.login(mail_user,mail_pass) smtpObj.sendmail( sender,receivers,message.as_string()) smtpObj.quit() print('success') except smtplib.SMTPException as e: print('error',e)