经过路由,交换,安全,Qos四大典型技术模块同你分享网络运维中的技术难题,让老司机带你躲过网络运维常见的那些坑, 查看详情>>>
0
51CTO首页 技术频道 51CTO旗下网站 地图
CTO俱乐部 学院 论坛 博客 下载 更多

我的帖子

个人中央

设置

  发新话题
哪位有邮件发送附件的脚本,给一个  ,能用的。。。



有现成的呀:/thread-1554743-1.html



宝剑厉不猛烈,要看它的主人是谁,不信来PHP版块看看~!
论坛里面有个兄弟写过一个Smail的库,用来发邮件的,用着还不错,你可以自行搜索一下



马克




#!/usr/bin/python
#coding:utf-8

import smtplib
from email.MIMEText import MIMEText
from email.Utils import formatdate
from email.Header import Header
from email.mime.multipart import MIMEMultipart  
from email.mime.text import MIMEText  
from email.mime.image import MIMEImage
import sys

#设置默认字符集为UTF8 不然有些时候转码会出问题
default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
    reload(sys)
    sys.setdefaultencoding(default_encoding)

#发送邮件的相关信息,根据你实际情况填写
SmtpHost = 'smtp.XXXX.com'
FromMail = '邮箱\'
UserName = '邮箱\'
PassWord = 'XXXX'

SmtpType = 'ssl'        # smtp,tls,ssl

if SmtpType == 'ssl' :
        SmtpPort=465
else :
        SmtpPort=25
  
#邮件标题和内容
ToMail        = sys.argv[1]
Subject        = sys.argv[2]
Message        = sys.argv[3]

#初始化邮件
Encoding = 'utf-8'
mail = MIMEMultipart('related')
msg = MIMEText(Message.encode(Encoding),'plain',Encoding)

mail.attach(msg)

mail['Subject'] = Header(Subject,Encoding)
mail['From'] = FromMail
mail['To'] = ToMail
mail['Date'] = formatdate()

if len(sys.argv) == 5 :
        AttachFile=sys.argv[4]
        att = MIMEText(open(sys.argv[4],'rb').read(),'base64','gb2312')
        att["Content-Type"] = 'application/octet-stream'
        att["Content-Disposition"] = 'attachment;filename="activity-service_ERROR.doc"'

        mail.attach(att)

try:
        if SmtpType == 'ssl' :
                Smtp = smtplib.SMTP_SSL(SmtpHost,SmtpPort)
                Smtp.set_debuglevel(False)
                Smtp.ehlo()
                Smtp.login(UserName,PassWord)
        else :
                Smtp = smtplib.SMTP(SmtpHost,SmtpPort)
                Smtp.set_debuglevel(False)

                if SmtpType == 'tls' :
                        Smtp.ehlo()
                        Smtp.starttls()
                        Smtp.ehlo()

                Smtp.login(UserName,PassWord)

        Smtp.sendmail(FromMail,ToMail,mail.as_string())
        Smtp.close()
except Exception as e:
        print e



‹‹ 上一贴:最近正准备学习python,不知道该看些什么书 ...   |   下一贴:分享一个python实现的简化版区块链项目,可以敏捷知道区 ... ››
  发新话题
敏捷回答主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |建议反馈 | 网站地图
Copyright©2005-2018 51CTO.COM
本论坛言论纯属发布者个人建议,不代表51CTO网站立场!如有疑义,请与管理员联系:邮箱