python 发邮件 timeout_python发送邮件

本文介绍了如何使用Python的smtplib和email模块发送文本、HTML格式的邮件,以及如何添加附件。提供了详细的代码示例,包括连接SMTP服务器、设置邮件头信息和内容,并演示了发送邮件的过程。
摘要由CSDN通过智能技术生成

python 发送文本邮件

主要用到smtplib和email模块

'''

Created on 2014-6-3

@author: jyp

@module: pro1.sendEmail}

'''

import smtplib

from email.Message import Message

from time import sleep

smtpserver = 'smtp.163.com'

username = 'yongpan66@163.com'

pswd = 'xxxxxx'

from_addr = 'yongpan66@163.com'

to_addr = '956180488@qq.com'

cc_addr = 'yongpan666@126.com'

message = Message()

message['Subject'] = 'test of python send email'

message['From'] = from_addr

message['To'] = to_addr

message['Cc'] = cc_addr

message.set_payload('test of python emall function')

msg = message.as_string()

sm = smtplib.SMTP(smtpserver, port=25, timeout=20)

sm.set_debuglevel(1)

sm.ehlo()

sm.starttls()

sm.ehlo()

sm.login(username, pswd)

sm.sendmail(from_addr, to_addr, msg)

sleep(5)

sm.quit()

'''

# 文本格式

import smtplib

from email.mime.text import MIMEText

mail_to_list =['956180488@qq.com', 'yongpan666@126.com']

host = 'smtp.163.com'

user = 'yongpan66'

pswd = 'xxxxxx'

mail_postfix = '163.com'

subject = 'test python sendmail function'

content = 'hello , this mail is send by python ! good...中文。。。...test'

def send_mail(mail_to_list, subject, content):

from_addr = "hello" + ""

msg = MIMEText(content, _subtype='plain', _charset='utf-8')

msg['Subject'] = subject

msg['From'] = from_addr

msg['To'] = ";".join(mail_to_list)

try:

mail_server = smtplib.SMTP()

mail_server.connect(host)

mail_server.login(user, pswd)

mail_server.sendmail(from_addr, mail_to_list, msg.as_string())

mail_server.close()

return True

except Exception, e:

print str(e)

return False

if __name__ == '__main__':

if send_mail(mail_to_list, subject, content):

print '发送成功'

else:

print '发送失败'

'''

python 发送HTML格式邮件

#coding=utf-8

'''

Created on 2014-6-3

@author: jyp

@module: pro1.sendEmail_ofHTML}

'''

'''

import smtplib

from email.mime.text import MIMEText

mail_to_list =['956180488@qq.com', 'yongpan666@126.com']

mail_host = 'smtp.163.com'

mail_user = 'yongpan66@163.com'

mail_pass = 'xxxxxx'

subject = 'test python'

content = "透明的空气"

def send_mail(mail_to_list, subject, content):

msg = MIMEText(content, _subtype='html', _charset='utf-8')

msg['Subject'] = subject

msg['From'] = mail_user

msg['To'] = ";".join(mail_to_list)

try:

s = smtplib.SMTP()

s.connect(mail_host)

s.login(mail_user, mail_pass)

s.sendmail(mail_user, mail_to_list, msg.as_string())

s.close()

return True

except Exception, e:

print str(e)

return False

if __name__ == '__main__':

if send_mail(mail_to_list, subject, content):

print "成功"

else:

print "失败"

'''

'''

# 带附件的email

'''

import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

import time

mail_to_list =['956180488@qq.com', 'yongpan666@126.com']

mail_host = 'smtp.163.com'

mail_user = 'yongpan66@163.com'

mail_pass = 'xxxxxx'

subject = 'test python'

content = "test attachment ......."

def send_mail(mail_to_list, subject, content):

msg = MIMEMultipart()

body = MIMEText(content, _subtype='plain', _charset='utf-8')

msg.attach(body)

att1 = MIMEText(open('d:\\test.txt', 'rb').read(), 'base64', 'utf-8')

att1["Content-Type"] = 'application/octet-stream'

att1["Content-Disposition"] = 'attachment; filename="123.txt"'

msg.attach(att1)

att2 = MIMEText(open('d:\\test.docx', 'rb').read(), 'base64', 'gb2312')

att2["Content-Type"] = 'application/octet-stream'

att2["Content-Disposition"] = 'attachment; filename="123.docx"'

msg.attach(att2)

# msg = MIMEText(content, _subtype='plain', _charset='utf-8')

msg['Subject'] = subject

msg['From'] = mail_user

msg['To'] = ";".join(mail_to_list)

msg['date']=time.strftime('%a, %d %b %Y %H:%M:%S %z')

try:

s = smtplib.SMTP()

s.connect(mail_host)

print 'connect success...'

s.login(mail_user, mail_pass)

print 'login..'

s.sendmail(mail_user, mail_to_list, msg.as_string())

print 'send...'

s.close()

return True

except Exception, e:

# print str(e)

return False

if __name__ == '__main__':

if send_mail(mail_to_list, subject, content):

print "成功"

else:

print "失败"

参考:http://www.cnblogs.com/xiaowuyi/archive/2012/03/17/2404015.html

:http://88fly.blog.163.com/blog/static/12268039020131193271774/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值