python用outlook自动发邮件_python调用outlook发送exchange邮件(含附件)
最近在解決一個問題,就是生成每日數據的報表,然后利用郵件群發給各位同事。由于主要工作不在這,為了節省時間,所以選擇了使用python語言。
選擇發送郵件時,有人可能會說直接使用smtp庫不就行嗎?為啥要調用outlook多此一舉。事情是這樣的,我所用的郵箱禁止使用smtp和pop3連接郵件,只能使用exchange的方式連接。而且使用python如何通過exchange方式連接郵件,一直沒能查得到資料,所以使用win32調用outlook的方式群發郵件。
具體如何調用outlook發送郵件,我就不多說了,給大家推薦一篇文章:http://blog.163.com/yang_jianli/blog/static/16199000620138922841273/ ,我把代碼也放下面了,這個說得很清楚,我就是直接抄的,現在我要說的是如何發送附件,這篇文章里面沒有,而且也找不到現成的代碼(百度上能搜到一個,但是試了不行,根本不對)。
經過查詢MSDN的資料,終于知道了outlook的attachments如何使用:
Sub AddAttachment()
Dim myItem As Outlook.MailItem
Dim myAttachments As Outlook.Attachments
Set myItem = Application.CreateItem(olMailItem)
Set myAttachments = myItem.Attachments
myAttachments.Add "C:\Test.doc", olByValue, 1, "Test"
myItem.Display
End Sub
其中olByValue是附件的類型,有四種值,具體有哪四種大家可以到MSDN官網上查詢,這里直接設置成1,意思是附件是原文件的一份拷貝。于是我照這個示例在下面的程序里面添加了兩行紅色加粗的代碼,這樣附件就能發出去了。
#coding:utf-8
import win32com.client as win32
def outlook():
app= ‘Outlook’
olook = win32.gencache.EnsureDispatch(“%s.Application” % app)
mail=olook.CreateItem(win32.constants.olMailItem)
mail.Recipients.Add(‘jianl@163.com’)
mail.Subject = ‘21112Python -to – %s ‘ %app
myAtt=mail.Attachments
myAtt.Add(r‘c:\abc.txt’,1,1,”myFile”)
mail.Body =’body’
mail.Send()
print “send ok”
總結
以上是生活随笔為你收集整理的python用outlook自动发邮件_python调用outlook发送exchange邮件(含附件)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cad工具箱详细讲解_AutoCAD学院
- 下一篇: php smarty 翻译标签,Smar