python模块:smtplib模块

简介:

1.使用本地的sendmail协议进行邮件发送

格式(1):smtpObj=smtplib.SMTP([host [,port [,local_hostname]]])

host:SMTP服务器主机的IP地址或者是域名

port:服务的端口号(默认是25)

local_hostname:服务器的地址(默认是localhost)


格式(2):SMTP.sendmail(from_addr),to_addrs,msg[,mail_options,rcpt_options]

from_addr:邮件发送的地址

to_addr:邮件接收地址

msg:发送信息


(3).邮件发送代码

[root@web01 ~]# vim smtplib12.py 
#!/bin/env python
#!-*- coding:UTF-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.header import Header

sender='z597011036@126.com'
receivers='z597011036@qq.com'         #如果收件人是多个可写成列表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: 无法发送邮件"
[root@web01 ~]# python smtplib12.py 
恭喜你!邮件发送成功
[root@web01 ~]#


(4).邮件接收

wKiom1coDvjTtaUIAAAqosoJ9qM936.png

wKiom1coDyiw4h2VAABUPZx6J4w619.png

2.使用第三方平台(QQ,网易,新浪)发送邮件,本机没有安装sendmail服务端.

(1).邮件代码

[root@web01 ~]# vim smtplib12.py 

#!/bin/env python
#!-*- coding:UTF-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.header import Header

mail_host='smtp.126.com'
mail_user='z597011036@126.com'
mail_password='z597011036zzz'

sender='z597011036@126.com'
receivers=['z597011036@qq.com']

message=MIMEText('Python 邮件时间:2015-02-01','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)
    smtpObj.login(mail_user,mail_password)
    smtpObj.sendmail(sender,receivers,message.as_string())
    print "恭喜你!邮件发送成功"
    smtpObj.quit()

except smtplib.SMTPException as e:
     print "Error 无法发送邮件"
     print e
[root@web01 ~]# python smtplib12.py 
恭喜你!邮件发送成功
[root@web01 ~]#


(2).邮件发送成功

wKioL1coOLiQAkEsAAA57pLdTmk329.pngwKiom1coOBSAVpSPAABqACUv8iE940.png










本文转自 z597011036 51CTO博客,原文链接:http://blog.51cto.com/tongcheng/1766856,如需转载请自行联系原作者
目录
相关文章
|
7天前
|
缓存 Shell 开发工具
[oeasy]python071_我可以自己做一个模块吗_自定义模块_引入模块_import_diy
本文介绍了 Python 中模块的导入与自定义模块的创建。首先,我们回忆了模块的概念,即封装好功能的部件,并通过导入 `__hello__` 模块实现了输出 "hello world!" 的功能。接着,尝试创建并编辑自己的模块 `my_file.py`,引入 `time` 模块以获取当前时间,并在其中添加自定义输出。
20 4
|
9天前
|
人工智能 自然语言处理 Shell
[oeasy]python070_如何导入模块_导入模块的作用_hello_dunder_双下划线
本文介绍了如何在Python中导入模块及其作用,重点讲解了`__hello__`模块的导入与使用。通过`import`命令可以将外部模块引入当前环境,增强代码功能。例如,导入`__hello__`模块后可输出“Hello world!”。此外,还演示了如何使用`help()`和`dir()`函数查询模块信息,并展示了导入多个模块的方法。最后,通过一个实例,介绍了如何利用`jieba`、`WordCloud`和`matplotlib`模块生成词云图。总结来说,模块是封装好的功能部件,能够简化编程任务并提高效率。未来将探讨如何创建自定义模块。
30 8
|
2月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
40 3
|
3月前
|
Python
Python Internet 模块
Python Internet 模块。
139 74
|
4月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
150 63
|
4月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
4月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
4月前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
4月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
170 62
|
4月前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
140 61

热门文章

最新文章

推荐镜像

更多