想进BAT?负载均衡必须懂!从入门到实操,linux老鸟带你走上高并发架构之路,详情点击>>>
0

我的帖子

个人中心

设置

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



宝剑厉不厉害,要看它的主人是谁,不信来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 = 'XXXX@XXXX.com\'
UserName = 'XXXX@XXXX.com\'
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



mailx -v -s "主题"  -a 附件 -c 抄送人 收件人 < 邮件正文.txt


不用谢,我姓雷



‹‹ 上一贴:【调查分析】调查你来Python版块的目的 ...   |   下一贴:Pythony用exchangelib发送邮件带图片在mac上全是问号 ... ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2018 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com