`
ice_cube
  • 浏览: 24157 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

用python发送swf邮件

阅读更多
端午快到了,公司要向客户群发一封贺岁邮件,内容就是一段flash,swf格式的

首先将swf文件上传服务器,然后将swf嵌套于html中,最后用python以html格式发送邮件即可。

下面是将swf嵌套于html中的代码

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="32" height="32">
            <param name="movie" value="etime.swf">
            <param name="quality" value="high">
            <embed src="swf文件的绝对地址" quality="high" pluginspage = "http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="100%"></embed>
</object>


注意:在发送此类含flash的邮件时,一般都要加上外链接,并标明若不能正常显示,请点击这里。 因为并不是所有的邮件系统都能正常显示flash邮件,这还取决于邮箱自己的配置,像163的邮箱,在接受此类邮件时,会自动将标签src改为_src,以致无法正常显示

下面是python 发送邮件的一段代码:

import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
import base64

Host = "XXX.XXXX.XXX"  #服务器
username = "XXXX@XXXX.XXXX"  #邮箱
password = "XXXXXX" #密码

def sendMail(from_email, to_email ,subject,plain_text, html_body):
    """    
    from_email 邮件发送方
    to_email 邮件接受方
    subject 邮件主题
    plain_text 邮件无法正常时显示
    html_body 邮件正文
    """

    msgRoot = MIMEMultipart('related')
    msgRoot['Subject'] = subject.decode('utf-8') 
    msgRoot['From'] = from_email
    msgRoot['To'] = to_email.replace('\n','')
    msgRoot.preamble = 'This is a multi-part message in MIME format.'

    msgAlternative = MIMEMultipart('alternative')
    msgRoot.attach(msgAlternative)
    # 设定纯文本信息
    msgText = MIMEText(plain_text.encode('utf-8'),"plain","utf-8")
    msgAlternative.attach(msgText)
    # 设定HTML邮件正文
    msgText = MIMEText(html_body, 'html','utf-8')
    msgAlternative.attach(msgText)

    #发送邮件
    smtp = smtplib.SMTP(Host)
    smtp.set_debuglevel(0)
    # auth login 命令
    smtp.docmd("HELO %s" %Host)
    smtp.docmd("AUTH LOGIN")
    # 发送用户名,是base64编码过的,用send发送的,所以要用getreply获取返回信息
    smtp.send(base64.encodestring(username))
    smtp.getreply()
    # 发送密码
    smtp.send(base64.encodestring(password))
    smtp.getreply()

    try:
        error = smtp.sendmail(from_email,to_email,msgRoot.as_string())
    finally:
        smtp.quit()


这里发现一个比较好玩的东西,就是邮件的发送人(from_email)可以随便写,并且接受邮件方显示的发送人也是你写的那个,这个愚人节肯定用得上
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics