详解python 发送邮件实例代码

780次阅读  |  发布于5年以前

python 发送邮件实例

文件形式的邮件


    #!/usr/bin/env python3 
    #coding: utf-8 
    import smtplib 
    from emailmimetext import MIMEText 
    from emailheader import Header 

    sender = '***' 
    receiver = '***' 
    subject = 'python email test' 
    smtpserver = 'smtpcom' 
    username = '***' 
    password = '***' 

    msg = MIMEText('你好','text','utf-8')#中文需参数'utf-8',单字节字符不需要 
    msg['Subject'] = Header(subject, 'utf-8') 

    smtp = smtplibSMTP() 
    smtpconnect('smtpcom') 
    smtplogin(username, password) 
    smtpsendmail(sender, receiver, msgas_string()) 
    smtpquit() 

HTML形式的邮件


    #!/usr/bin/env python3 
    #coding: utf-8 
    import smtplib 
    from emailmimetext import MIMEText 

    sender = '***' 
    receiver = '***' 
    subject = 'python email test' 
    smtpserver = 'smtpcom' 
    username = '***' 
    password = '***' 

    msg = MIMEText('<html><h1>你好</h1></html>','html','utf-8') 

    msg['Subject'] = subject 

    smtp = smtplibSMTP() 
    smtpconnect('smtpcom') 
    smtplogin(username, password) 
    smtpsendmail(sender, receiver, msgas_string()) 
    smtpquit() 

带图片的HTML邮件


    #!/usr/bin/env python3 
    #coding: utf-8 
    import smtplib 
    from emailmimemultipart import MIMEMultipart 
    from emailmimetext import MIMEText 
    from emailmimeimage import MIMEImage 

    sender = '***' 
    receiver = '***' 
    subject = 'python email test' 
    smtpserver = 'smtpcom' 
    username = '***' 
    password = '***' 

    msgRoot = MIMEMultipart('related') 
    msgRoot['Subject'] = 'test message' 

    msgText = MIMEText('<b>Some <i>HTML</i> text</b> and an image<br><img src="cid:image1"><br>good!','html','utf-8') 
    msgRootattach(msgText) 

    fp = open('h:\\python\\jpg', 'rb') 
    msgImage = MIMEImage(fpread()) 
    fpclose() 

    msgImageadd_header('Content-ID', '<image1>') 
    msgRootattach(msgImage) 

    smtp = smtplibSMTP() 
    smtpconnect('smtpcom') 
    smtplogin(username, password) 
    smtpsendmail(sender, receiver, msgRootas_string()) 
    smtpquit() 

带附件的邮件


    #!/usr/bin/env python3 
    #coding: utf-8 
    import smtplib 
    from emailmimemultipart import MIMEMultipart 
    from emailmimetext import MIMEText 
    from emailmimeimage import MIMEImage 

    sender = '***' 
    receiver = '***' 
    subject = 'python email test' 
    smtpserver = 'smtpcom' 
    username = '***' 
    password = '***' 

    msgRoot = MIMEMultipart('related') 
    msgRoot['Subject'] = 'test message' 

    #构造附件 
    att = MIMEText(open('h:\\python\\jpg', 'rb')read(), 'base64', 'utf-8') 
    att["Content-Type"] = 'application/octet-stream' 
    att["Content-Disposition"] = 'attachment; filename="jpg"' 
    msgRootattach(att) 

    smtp = smtplibSMTP() 
    smtpconnect('smtpcom') 
    smtplogin(username, password) 
    smtpsendmail(sender, receiver, msgRootas_string()) 
    smtpquit() 

群邮件


    #!/usr/bin/env python3 
    #coding: utf-8 
    import smtplib 
    from emailmimetext import MIMEText 

    sender = '***' 
    receiver = ['***','****',……] 
    subject = 'python email test' 
    smtpserver = 'smtpcom' 
    username = '***' 
    password = '***' 

    msg = MIMEText('你好','text','utf-8') 

    msg['Subject'] = subject 

    smtp = smtplibSMTP() 
    smtpconnect('smtpcom') 
    smtplogin(username, password) 
    smtpsendmail(sender, receiver, msgas_string()) 
    smtpquit() 

各种元素都包含的邮件


    #!/usr/bin/env python3 
    #coding: utf-8 
    import smtplib 
    from emailmimemultipart import MIMEMultipart 
    from emailmimetext import MIMEText 
    from emailmimeimage import MIMEImage 

    sender = '***' 
    receiver = '***' 
    subject = 'python email test' 
    smtpserver = 'smtpcom' 
    username = '***' 
    password = '***' 

    # Create message container - the correct MIME type is multipart/alternative 
    msg = MIMEMultipart('alternative') 
    msg['Subject'] = "Link" 

    # Create the body of the message (a plain-text and an HTML version) 
    text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttp://wwwpythonorg" 
    html = """\ 
    <html> 
     <head></head> 
     <body> 
      <p>Hi!<br> 
        How are you?<br> 
        Here is the <a href="http://wwwpythonorg">link</a> you wanted 
      </p> 
     </body> 
    </html> 
    """ 

    # Record the MIME types of both parts - text/plain and text/html 
    part1 = MIMEText(text, 'plain') 
    part2 = MIMEText(html, 'html') 

    # Attach parts into message container 
    # According to RFC 2046, the last part of a multipart message, in this case 
    # the HTML message, is best and preferred 
    msgattach(part1) 
    msgattach(part2) 
    #构造附件 
    att = MIMEText(open('h:\\python\\jpg', 'rb')read(), 'base64', 'utf-8') 
    att["Content-Type"] = 'application/octet-stream' 
    att["Content-Disposition"] = 'attachment; filename="jpg"' 
    msgattach(att) 

    smtp = smtplibSMTP() 
    smtpconnect('smtpcom') 
    smtplogin(username, password) 
    smtpsendmail(sender, receiver, msgas_string()) 
    smtpquit() 

基于SSL的邮件


    #!/usr/bin/env python3 
    #coding: utf-8 
    import smtplib 
    from emailmimetext import MIMEText 
    from emailheader import Header 
    sender = '***' 
    receiver = '***' 
    subject = 'python email test' 
    smtpserver = 'smtpcom' 
    username = '***' 
    password = '***' 

    msg = MIMEText('你好','text','utf-8')#中文需参数'utf-8',单字节字符不需要 
    msg['Subject'] = Header(subject, 'utf-8') 

    smtp = smtplibSMTP() 
    smtpconnect('smtpcom') 
    smtpehlo() 
    smtpstarttls() 
    smtpehlo() 
    smtpset_debuglevel(1) 
    smtplogin(username, password) 
    smtpsendmail(sender, receiver, msgas_string()) 
    smtpquit()  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8