发送邮件
2016-03-07 17:25
274 查看
# coding=utf-8 import os, sys reload(sys) sys.setdefaultencoding("utf-8") import socket from win32com.client import Dispatch #SendReason = sys.argv[1] #NewVersionStr = sys.argv[2] #获取本机电脑名 myname = socket.getfqdn(socket.gethostname( )) #获取本机ip myaddr = socket.gethostbyname(myname) #print myname #print myaddr def SendEmail(SendTo,CC,BCC,Subject,Body,Attachment=None,Pass=None): if SendTo==None: return session=Dispatch("Lotus.NotesSession") PwdValidFlag = 0 if Pass: PwdNum = len(Pass) try: session.Initialize(Pass) PwdValidFlag = 1 except Exception,e: print str(e) Server=session.GetEnvironmentString( "MailServer",True) MaildbName=session.GetEnvironmentString( "MailFile",True) db=session.GetDatabase(Server,MaildbName) doc=db.CreateDocument() doc.ReplaceItemValue("Form","Memo") if SendTo: doc.ReplaceItemValue("SendTo",SendTo) if CC: doc.ReplaceItemValue("CopyTo",CC) if BCC: doc.ReplaceItemValue("BlindCopyTo",BCC) if Subject: doc.ReplaceItemValue("Subject",Subject) stream=session.CreateStream() stream.WriteText(Body) bodyMime=doc.CreateMIMEEntity() bodyMime.SetContentFromText(stream,"text/html;charset=utf-8",False) if Attachment: RichTextItem = doc.CreateRichTextItem("Attachment") for fn in Attachment: RichTextItem.EmbedObject(1454, "", fn ,"Attachment") ''' bodyMime=doc.CreateMIMEEntity() bodyMime.SetContentFromText(stream,"text/html;charset=iso-8859-1",False) doc.ReplaceItemValue( "Logo", "StdNotesLtr3" ) doc.ReplaceItemValue( "_ViewIcon", 23 ) doc.ReplaceItemValue( "SenderTag", "Y" ) ''' try: doc.Send(False) print('\n=== mail is sent succesfully ===\n') except Exception,e: print('\n=== failed to send mail, reason is ===\n') print str(e) MailTitle = "" MailTitle += "还有谁?" #主题 BodyBuff = "快给我说还有谁???" reciveList = []; reciveList.append('100000') ccList = [] ccList.append('2000000') attachmentList =[]; attachmentList.append("d:/Python27/util.py") SendEmail(reciveList,ccList,None, MailTitle, BodyBuff, attachmentList,'xxx.0733') sys.exit()
相关文章推荐
- Java中break、continue、return语句的使用区别
- Storm新特性之Flux
- 获取微信、新浪微博等apk签名的方法
- 安卓简单缓存类(单例模式)
- No handlers could be found for logger “apscheduler.scheduler”
- 123.View the Exhibits and examine the structures of the PRODUCTS, SALES, and CUSTOMERS
- codeforce 630N Forecast
- 实现TCP连接的AT指令
- 想写博客了!
- OC - 3D Touch(1)
- CABasicAnimation的基本使用方法(移动·旋转·放大·缩小)
- GET和POST请求
- 改变子窗口、弹出窗口和顶层窗口的大小、位置和Z轴次序
- HDU 5443 The Water Problem RMQ/暴力
- GetPrivateProfileInt 读取配置文件
- AChartEngine折线图实例
- PHP中MySQL、MySQLi和PDO的用法和区别
- 利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 的管理任务和基本任务
- 什么是堆和栈
- 数值的整数次方