`

Python高级编程---SMTP简单邮件传输

阅读更多
#!/usr/bin/python
#-*- coding:utf-8 -*-

'''
Created on 2016年6月25日

@author: Administrator
文件名: smtp.py
'''
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart

'''
Python高级编程---SMTP简单邮件传输协议

#http://www.runoob.com/python/python-email.html
'''

import smtplib


#运行该方法需本机安装sendmail访问
def sendmail1():
    sender = '2gzhame@163.com'
    receivers = ['2286268956@qq.com']   #接收邮件
   
    #三个参数: 第一个是文本内容, 第二个plain 设置文本格式, 第三个 utf-8 设置编码
    message = MIMEText('Python 邮件发送测试.....', 'plain', 'utf-8')
    message['From'] = Header('菜鸟教程', 'utf-8')
    message['to'] = Header('测试', 'utf-8')
   
    subject = 'Python SMTP 邮件测试'
    message['Subject'] = Header(subject, 'utf-8')
   
    try:
        smtpObj = smtplib.SMTP('localhost')
        smtpObj.sendmail(sender,receivers,message.as_string())
        print "邮件发送成功"
    except smtplib.SMTPException:
        print "Error:无法发送邮件"




                                  -------2016-06-26 01:10
                                       
                      @modaokeng.yongtaixincun.baiyunqu.guangzhoushi.guangdongsheng




#使用第三方的SMTP服务
def sendmail2():
    #第三方SMTP 服务
    mail_host = "smtp.163.com"
    mail_user = "2gzhame@163.com"
    mail_pass = "***********"
   
    sender = 'gzhame@163.com'
    receivers = ['2286268956@qq.com']   #接收邮件
   
    #三个参数: 第一个是文本内容, 第二个plain 设置文本格式, 第三个 utf-8 设置编码
    message = MIMEText('Python 邮件发送测试.....', 'plain', 'utf-8')
    message['From'] = Header('菜鸟教程', 'utf-8')     #设置发件人
    message['to'] = Header('测试', 'utf-8')          #设置收件人
   
    subject = 'Python SMTP 邮件测试'
    message['Subject'] = Header(subject, 'utf-8')   #设置邮件标题
   
    try:
        smtpObj = smtplib.SMTP()
        smtpObj.connect(mail_host, 25)        # 25为 SMTP端口号
        smtpObj.login(mail_user, mail_pass)
        smtpObj.sendmail(sender,receivers,message.as_string())
        print "邮件发送成功"
    except smtplib.SMTPException:
        print "Error:无法发送邮件"
   


#发送带附件的邮件
def senmail3():
    #发送带附件的邮件,首先要创建MIMEMultipart()实例,然后构造附件,如果有多个附件,可依次构造,最后利用smtplib.smtp发送。
   
    #第三方SMTP 服务
    mail_host = "smtp.163.com"
    mail_user = "gzhame@163.com"
    mail_pass = "********"
   
    sender = 'gzhame@163.com'
    receivers = ['286268956@qq.com']   #接收邮件
   
    #三个参数: 第一个是文本内容, 第二个plain 设置文本格式, 第三个 utf-8 设置编码
    message = MIMEMultipart()
    message.attach(MIMEText('Python 邮件发送附件.....', 'plain', 'utf-8'))
    message['From'] = Header('听雨轩 ', 'utf-8')     #设置发件人
    message['to'] = Header('楓林左岸', 'utf-8')          #设置收件人
   
    subject = 'Python SMTP 发送附件'
    message['Subject'] = Header(subject, 'utf-8')   #设置邮件标题
   
    #构造附件
    att2 = MIMEText(open(r'C:\Users\Administrator\Desktop\test.txt','rb').read(),'base64','utf-8')
    att2["Content-Type"] = 'application/octet-stream'
    att2["Content-Disposition"] = 'attachment;filename="test.txt"'
   
    message.attach(att2)
   
    try:
        smtpObj = smtplib.SMTP()
        smtpObj.connect(mail_host, 25)        # 25为 SMTP端口号
        smtpObj.login(mail_user, mail_pass)
        smtpObj.sendmail(sender,receivers,message.as_string())
        print "邮件发送成功"
    except smtplib.SMTPException, e:
        print "Error:无法发送邮件"
        print e
        '''
        Error:无法发送邮件
        (554, 'DT:SPM 163 smtp12,EMCowABHf6QYuG5XakRCAA--.46705S2 1466873880,please see http://mail.163.com/help/help_spam_16.htm?ip=14.151.131.125&hostid=smtp12&time=1466873880')
        554错误码的定义为:554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件;
        '''
   



if __name__ == '__main__':
    senmail3()
分享到:
评论

相关推荐

    Python库 | python-slimta-redisstorage-0.3.0.tar.gz

    该库完全使用Python编程语言编写,这使得它易于集成到其他Python项目中,并可以利用Python的丰富生态系统,包括各种开发工具、测试框架和包管理器(如pip)来安装和管理。 **后端服务** 在后端开发中,`python-...

    Python代码源码-实操案例-框架案例-如何使用SMTP协议为注册用户发送邮件.zip

    例如,以下是一个简单的Python脚本,展示了如何使用SMTP发送邮件: ```python import smtplib from email.mime.text import MIMEText from email.header import Header # 配置SMTP服务器信息 smtp_server = "smtp....

    chilkat-9.5.0-python-3.5-x64.zip

    这个特定的版本9.5.0是Chilkat库的一个更新,适用于Python编程环境。 Chilkat库的核心优势在于其强大的功能和易用性。它为开发者提供了丰富的接口,可以方便地集成到Python项目中,实现各种复杂的网络操作。例如,...

    python发送邮件---包含重发(三次)和定时统计

    在Python编程中,发送邮件是一项常见的任务,尤其在自动化脚本和系统通知中。本教程将深入探讨如何使用Python来发送邮件,包括邮件的重发机制(最多三次)以及定时统计功能。我们将主要使用`smtplib`库来处理SMTP...

    PyPI 官网下载 | tencentcloud-sdk-python-ses-3.0.352.tar.gz

    在Python编程环境中,开发者经常需要借助各种库来简化工作,提高效率。PyPI(Python Package Index)是Python社区官方的包仓库,提供了丰富的第三方模块供全球开发者下载使用。本篇将详细介绍PyPI官网下载的资源——...

    Python-网络编程攻略 -源代码

    6. **FTP和SMTP协议**:Python的`ftplib`和`smtplib`库分别用于FTP文件传输和SMTP邮件发送。这些协议常用于文件共享和邮件服务。 7. **TCP/UDP编程**:Python的`socket`模块支持TCP和UDP协议,开发者可以通过设置套...

    邮件发送高级编程,smtp服务器等。

    本主题将深入探讨“邮件发送高级编程”,重点包括SMTP(Simple Mail Transfer Protocol)服务器的使用,以及如何实现邮件的发送、抄送等功能。 首先,让我们了解邮件发送的基本流程。在发送邮件时,通常会使用邮件...

    使用-Python-进行-socket-编程.doc

    Python 是一种解释型编程语言,以其易读性、简洁的语法和强大的功能而备受开发者喜爱。在Python中,我们可以利用socket模块进行网络通信,实现客户端和服务器端的交互。socket编程是网络编程的基础,它允许程序创建...

    Python-inboxpy这是一个你见过最简单的异步SMTP服务器

    Python-inboxpy是一个专为异步SMTP服务器设计的简洁易用的库,它允许开发者创建高效、可扩展的邮件处理系统。SMTP(Simple Mail Transfer Protocol)是互联网上用于发送电子邮件的标准协议,而异步实现则使得该...

    人工智能-项目实践-预警-一个基于python的SMTP邮件预警程序.zip

    在本项目实践中,我们探索了如何利用人工智能技术与Python编程结合,通过SMTP(Simple Mail Transfer Protocol)实现邮件预警系统。SMTP是互联网上用于发送电子邮件的标准协议,而Python作为一款强大的编程语言,...

    Python使用POP3和SMTP协议收发邮件的示例代码

    本文将详细介绍如何使用Python语言中的`smtplib`和`poplib`库来利用SMTP(简单邮件传输协议)和POP3(邮局协议第三版)完成邮件的发送和接收任务,并提供详细的示例代码。 #### 二、邮件协议简介 在深入讨论具体的...

    python实例43-批量发送不同内容的邮件给不同的收件人.rar

    在Python编程语言中,发送电子邮件是一项常见的任务,尤其在自动化工作流程或通知系统中。本实例"python实例43-批量发送不同内容的邮件给不同的收件人"着重讲解如何利用Python实现这一功能。这个例子可能涉及到多个...

    Python库 | pyOpenSSL-19.0.0-py2.py3-none-any.whl

    2. **邮件安全**:使用SMTPS(SMTP over TLS)或IMAPS(IMAP over SSL)发送和接收加密邮件。 3. **安全API调用**:通过HTTPS进行安全的RESTful API调用。 4. **数据加密**:在本地存储或传输数据时,使用pyOpenSSL...

    python网络编程(第3版)配套代码_python网络编程(第3版)配套代码_

    - SMTP(简单邮件传输协议)用于发送电子邮件,Python的`smtplib`模块可用来实现邮件发送。 7. **SSL/TLS安全通信**: - 为了加密通信,Python的`ssl`模块提供了对SSL/TLS的支持,可用于创建安全的HTTPS连接或...

    Python-Python实现自动发邮件支持HTML富文本

    在Python编程语言中,发送邮件是一项常见的任务,尤其在自动化脚本或系统通知中非常有用。Python通过内置的`smtplib`库提供了对简单邮件传输协议(SMTP)的支持,可以方便地实现邮件的发送。此外,`email`库则用于...

    PYTHON网络编程基础pdf

    Python是一种高级、通用的编程语言,以其简洁明了的语法和强大的功能而受到广大程序员的青睐。在Python中进行网络编程是开发网络应用、服务和客户端的重要方式,它可以帮助我们构建与互联网交互的程序。本资源...

    Python网络编程基础

    此外,书中还会涉及DNS解析、电子邮件处理(如SMTP、POP3和IMAP协议)、FTP客户端和服务器的实现,以及网络安全相关的话题,如SSL/TLS加密通信。Python的`ssl`模块允许开发者轻松地在套接字上添加安全层,以确保数据...

    PYTHON网络编程基础.pdf

    另外,Python的网络编程还涉及网络服务的实现,如FTP(文件传输协议)、SMTP(简单邮件传输协议)、DNS(域名系统)查询等。Python标准库中的ftplib、smtplib和dnspython等模块提供了相应的功能接口。 最后,安全性...

    Python-python发送邮件报表

    `smtplib`库用于处理SMTP(简单邮件传输协议),是发送邮件的基础。`email.mime`系列模块则帮助我们构建邮件消息的各个部分,包括文本、HTML以及附件。 接下来,定义发送邮件的基本信息,包括发件人、收件人、主题...

Global site tag (gtag.js) - Google Analytics