免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2512 | 回复: 0
打印 上一主题 下一主题

python 发送电子邮件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-01 13:52 |只看该作者 |倒序浏览
import os, sys, string
import smtplib
import base64

# 邮件服务器地址
mailserver = "smtp.163.com"
# 邮件用户名
username = "xxx

@163.com
"
# 密码
password = "xxx"
# smtp会话过程中的mail from地址
from_addr = "xxx

@163.com
"
# smtp会话过程中的rcpt to地址
to_addr = "xxxxxxxx

@139.com
"
# 信件内容
header = "From: "+from_addr+"\r\nTo: "+to_addr+"\r\nSubject: Test\r\n\r\n"
msg = "my python test mail"

svr = smtplib.SMTP(mailserver)
# 设置为调试模式,就是在会话过程中会有输出信息
svr.set_debuglevel(1)
# ehlo命令,docmd方法包括了获取对方服务器返回信息
svr.docmd("EHLO server")
# 加密信道
svr.starttls()
# auth login 命令
svr.docmd("AUTH LOGIN")
# 发送用户名,是base64编码过的,用send发送的,所以要用getreply获取返回信息
svr.send(base64.encodestring(username))
svr.getreply()
# 发送密码
svr.send(base64.encodestring(password))
svr.getreply()
# mail from, 发送邮件发送者
svr.docmd("MAIL FROM: " % from_addr)
# rcpt to, 邮件接收者
svr.docmd("RCPT TO: " % to_addr)
# data命令,开始发送数据
svr.docmd("DATA")
# 发送头
svr.send(header)
# 发送正文数据
svr.send(msg)
# 比如以 . 作为正文发送结束的标记
svr.send("\r\n.\r\n")
svr.getreply()
# 发送结束,退出
svr.quit()



--------------------------------------


#data 指令表示邮件内容   
print smtp.docmd('data')   
print smtp.docmd('''''from:
from@yeah.net
  
to:
from@yeah.net
  
subject: subject  
email body  
.  
''')
smtp.quit()




本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/60332/showart_2042971.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP