python通过smtplib发送邮件(一)

# coding:utf-8

# __author__ = 'Gao'

import smtplib

# ============通过QQ发送普通文件邮件====================

# 1>清楚QQ邮件服务器的主机地址

HOST ='smtp.qq.com'

#QQ邮箱的端口是465

PORT ='465'

# 指定发件人

FROM ='发件人的邮箱'

# 指定收件人

TO ='收件人邮箱'

# 邮件标题

SUBJECT ='测试邮件'

# 邮件内容

TEXT ='这是一个测试邮件!是由<xxxxxxx@qq.com>发出的!'

# 2>创建邮件客户端对象

# smtplib.SMTP(): 传输过程不加密

smtp_obj = smtplib.SMTP_SSL()# 将传输内容加密,QQ强制要求的。

# 3>通过主机地址HOST以及端口号PORT与QQ邮箱服务器建立连接。

smtp_obj.connect(host=HOST,port=PORT)

# 4>登录邮箱服务器进行发件人的认证

# 用户就是发件人的邮箱,密码使用授权码!当前创建的邮箱客户端对象属于第三方客户端,要求使用授权码替代密码进行登录验证。

result = smtp_obj.login(user=FROM,password='授权码')

print '登录结果:', result

# 5>发送邮件

# From: To: Subject: 这三个是发送邮件时,必传的三个参数,而且不能修改。

message_content ='\n'.join(['From:%s'%FROM,'To:%s'%TO,'Subject:%s'%SUBJECT,'', TEXT])

smtp_obj.sendmail(from_addr=FROM,to_addrs=[TO],msg=message_content)

# =====================通过163邮箱发送普通文本=====================

# 1>清楚QQ邮件服务器的主机地址

HOST ='smtp.163.com'

PORT ='25'

# 指定发件人

FROM ='17737713931@163.com'

# 指定收件人,如果是要发给多人的话,可以写在一个字符串中,以"逗号"隔开;

TO = 'xbxxxxxx@qq.com,121223232@163.com'

# 邮件标题

SUBJECT ='测试邮件'

# 邮件内容

TEXT ='这是一个测试邮件!是由<17737713931@163.com>发出的!'

# 2>创建邮件客户端对象

# smtplib.SMTP(): 传输过程不加密

smtp_obj = smtplib.SMTP()

# 3>通过主机地址HOST以及端口号PORT与QQ邮箱服务器建立连接。

smtp_obj.connect(host=HOST,port=PORT)

# 4>登录邮箱服务器进行发件人的认证

# 用户就是发件人的邮箱,密码使用授权码!当前创建的邮箱客户端对象属于第三方客户端,要求使用授权码替代密码进行登录验证。

result = smtp_obj.login(user=FROM,password='haha521')

print '登录结果:', result

# 5>发送邮件

# From: To: Subject: 这三个是发送邮件时,必传的三个参数,而且不能修改。

message_content ='\n'.join(['From:%s'%FROM,'To:%s'%TO,'Subject:%s'%SUBJECT,'', TEXT])

smtp_obj.sendmail(from_addr=FROM,to_addrs=TO,msg=message_content)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,257评论 4 16
  • 简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件。 Python提供smtp...
    易百教程阅读 44,067评论 4 62
  • 从古代的八百里加急,到现在的电子邮件,邮件的发展见证了上下五千年的发展史,这些当然是废话,只是要说说邮件的重要性。...
    大牧莫邪阅读 1,595评论 0 13
  • 本文包括:1、名词解释2、邮件收发过程3、JavaMail 知识概要4、发送一封符合 MIME 协议的 JavaM...
    廖少少阅读 4,120评论 2 13
  • Semaphore 直译是信号量,可能称它是许可量更容易理解。它的功能比较好理解,就是通过构造函数设定一个数量的许...
    霁暖阁阅读 182评论 0 0