python USES both smtp and outlook examples for sending emails


smtp is the smtp server that calls mailbox 163 directly and needs to set under 1 in mailbox 163. outlook send is Python’s direct call to win32. The caller, outlook, sends the message directly.

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 sends emails

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)