#!/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 = '[email protected]'
receivers = ['[email protected]'] #接收邮件
#三个参数: 第一个是文本内容, 第二个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 = "[email protected]"
mail_pass = "***********"
sender = '[email protected]'
receivers = ['[email protected]'] #接收邮件
#三个参数: 第一个是文本内容, 第二个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 = "[email protected]"
mail_pass = "********"
sender = '[email protected]'
receivers = ['[email protected]'] #接收邮件
#三个参数: 第一个是文本内容, 第二个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高级编程---SMTP简单邮件传输
猜你喜欢
转载自listen-raining.iteye.com/blog/2307316
今日推荐
周排行