• python 发送邮件


    SMTP发送邮件

    简单的,参见http://blog.csdn.net/handsomekang/article/details/9785411

    import smtplib
    from email.mime.text import MIMEText
    _user = "" #填写发件人用户名
    _pwd  = "" #密码
    _to   = "" #收件人地址
    
    #使用MIMEText构造符合smtp协议的header及body
    msg = MIMEText("hello,world")
    msg["Subject"] = "Test"
    msg["From"]    = _user
    msg["To"]      = _to
    
    s = smtplib.SMTP("smtp.qq.com", timeout=30)#连接smtp邮件服务器,端口默认是25
    s.login(_user, _pwd)#登陆服务器
    s.sendmail(_user, _to, msg.as_string())#发送邮件
    s.close()

    需要注意的是,各个邮箱的smtp服务器是不一样的。主要依据发件人所在的邮箱而定
    #qq
    smtp.qq.com
    #163
    smtp.163.com
    #gmail
    smtp.gmail.com
    #126
    smtp.126.com

    Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。

    下面一个例子可以打印出,且规范发送的内容

    # -*- coding: utf-8 -*-
    import sys
    
    reload(sys)
    sys.setdefaultencoding('utf-8')
    """
    __author__="tina"
    __mtime__ = '2015/12/17  10:22'
    """
    from email import encoders
    from email.header import Header
    from email.mime.text import MIMEText
    from email.utils import parseaddr, formataddr
    import smtplib
    
    def _format_addr(s):
        name, addr = parseaddr(s)
        return formataddr((Header(name, 'utf-8').encode(),addr.encode('utf-8') if isinstance(addr, unicode) else addr))
    #自己填写对应地址
    from_addr = "" 
    password = ""
    to_addr = ""
    smtp_server = "smtp.163.com"
    
    msg = MIMEText('hello,world','plain','utf-8')
    msg['From'] = _format_addr(u'Python爱好者 <%s>' % from_addr)
    msg['To'] = _format_addr(u'管理员 <%s>' % to_addr)
    msg['Subject'] = Header(u'来自SMTP的问候……', 'utf-8').encode()
    server = smtplib.SMTP(smtp_server, 25)
    server.set_debuglevel(1)  #打印和SMTP服务器交互的所有信息
    server.login(from_addr, password)  #登录
    server.sendmail(from_addr, [to_addr], msg.as_string())  #SMTP可以一次发给多人,所以传入一个list
    server.quit()
  • 相关阅读:
    eclipse添加xsd
    Ibatis 后台打印完整的sql语句
    eclipse 将文件夹作为sourcefolder
    git:hook declined FATAL: W refs/heads DENIED by fallthru error
    单点登陆CAS安装过程中可能遇到的问题
    单点登录的原理与CAS技术的研究
    【转载】软件开发模式对比(瀑布、迭代、螺旋、敏捷)
    UML工具选择
    UML 用例图,时序图,活动图的定义以及区别
    基于UML的需求分析和系统设计个人体会
  • 原文地址:https://www.cnblogs.com/tina-smile/p/5053292.html
Copyright © 2020-2023  润新知