python使用两种发邮件的方式smtp和outlook示例

yipeiwu_com6年前Python基础

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 = ['Yutao.A.Wang@alcatel-sbell.com.cn'] 
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 = '18298268658@163.com' 
receivers = ['619538553@qq.com'] 
 
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) 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python线程障碍对象Barrier原理详解

python线程Barrier俗称障碍对象,也称栅栏,也叫屏障。 一.线程障碍对象Barrier简介 # 导入线程模块 import threading # 障碍对象barrier...

Django项目之Elasticsearch搜索引擎的实例

1.使用Docker安装Elasticsearch及其扩展 获取镜像,可以通过网络pull sudo docker image pull delron/elasticsearch-i...

numpy 计算两个数组重复程度的方法

最近有个需求,是做两个数组重复程度计算,麻烦就麻烦在单个数组的元素有可能重复,处理思路如下: 1. 找到重复元素 2. 元素个数统计,利用np.bincount转换,即元素个数统计到元素...

详解使用 pyenv 管理多个版本 python 环境

 随着同时开发的项目越来越多,需要不停的在各个不同版本的 python 环境之间切换,所以想到了pyenv。以前一直使用的 virtualenv只能管理同一个 python 版...

PIL对上传到Django的图片进行处理并保存的实例

1. 介绍 上传的图片文件:如 pic = request.FILES["picture"] # pic是 <class 'django.core.files.uploaded...