48. Python 发邮件(1)

简介:

python发送邮件

1.通过python发邮件步骤:

前提:开通了第三方授权,可以使用smtp服务

1.创建smtp对象

2.连接smtp服务器,默认端口号都是25

3.登陆自己的邮箱账号

4.调用发送消息函数,参数:发件人、收件人、消息内容

5.关闭连接


2.邮件消息注册:

首先创建一个消息对象:

msg = email.mime.multipart.MIMEMultipart()                     #通过这个类创建消息

msg['from'] = '18969@163.com'

msg['to'] = '97481@qq.com;14973@qq.com;lig@d.com'

msg['subject'] = 'aji111‘

分别指明邮件的发件人,收件, 只代表显示的问题,如下图:

image.png


3.消息内容:

首先,先定义一个字符串,来表示你得消息内容:

context= ‘’’hello world’’’ ## 正文

txt = email.mime.text.MIMEText(_text=content, _subtype="html") ## 定义文本以后,标明将context指定成什么格式,html,txt

msg.attach(txt) ## 再注册到消息中

_subtype 这个参数就决定了,你是以html解析的形式去发送,还是以text的形式去发送。



准备文件:

(1)测试配置文件:

文件1:message.conf (配置文件)

1
2
3
4
5
6
7
8
9
From = 28699@qq.com
To = 58380@qq.com,25166@qq.com,w7@189.cn,8717@qq.com,12261@qq.com
Subject =  '测试邮件'
message =  '' '大家好:
测试邮件
测试邮件
以上
谢谢
'' '


(2)读取文件conf文件工具,并测试

文件2:util.py (工具文件)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import  codecs
import  re
 
fileName  =  "message.conf"
 
def  getProperty( property ):
     with codecs. open (fileName, encoding = "utf-8" ) as f:
         if  property  ! =  "message" :
             for  line  in  f.readlines():
                 if  line.startswith( "{0} = " . format ( property )):
                     value  =  line.split( "{0} = " . format ( property ))[ 1 ]
                     print  value.strip( '\n' )
                     return  value.strip( '\n' )
 
         else :
             reg  =  re. compile (r "message = '''((.*\n)*)'''" )
             result  =  reg.findall(f.read())
             print  result[ 0 ][ 0 ]
             return   result[ 0 ][ 0 ]
 
getProperty( "From" )
getProperty( "To" )
getProperty( "Subject" )
getProperty( "message" )

文件2 调用 文件1 的参数,获得到对应的值,测试结果如图:

image.png

测试完成后,注销输出信息和调用函数

image.png


(3)发送邮件脚本

3.文件:sendtext.py (邮件脚本文件)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import  email.mime.multipart
import  email.mime.text
import  email.header
from  util  import  getProperty
import  smtplib
 
#消息内容
msg  =  email.mime.multipart.MIMEMultipart()
sendFrom  =  getProperty( "From" )
sendTo  =  getProperty( "To" )
sendSubject  =  getProperty( "Subject" )
sendMessage  =  getProperty( "message" )
 
msg[ "From" =  sendFrom
msg[ "To" =  sendTo
msg[ 'Subject' =  email.header.Header(sendSubject)
 
text  =  email.mime.text.MIMEText(sendMessage,  'plain' 'utf-8' )
msg.attach(text)
 
#发送
smtp  =  smtplib.SMTP_SSL( "smtp.qq.com" 465 )
smtp.login( '28699@qq.com' 'xrusbcaae' )
smtp.sendmail(sendFrom, sendTo.split( "," ), msg.as_string())
smtp.quit()

执行发送邮件:

image.png



本文转自 听丶飞鸟说 51CTO博客,原文链接:http://blog.51cto.com/286577399/2059237

相关文章
|
2月前
|
存储 安全 网络安全
手把手教你使用Python轻松搞定发邮件
手把手教你使用Python轻松搞定发邮件
56 0
|
4月前
|
Python
|
3天前
|
Linux API Python
【python】如何通过python来发邮件,各种发邮件方式详细解析
【python】如何通过python来发邮件,各种发邮件方式详细解析
|
2月前
|
人工智能 搜索推荐 算法
使用Python自动发邮件提醒你周末吃啥
在快节奏的现代生活中,周末往往是人们放松身心、享受美食的宝贵时光。然而,面对琳琅满目的餐饮选择,很多人常常陷入“吃什么”的纠结中。为了解决这一问题,我们可以利用Python编写一个自动化脚本,每周自动发送邮件提醒我们周末的餐饮选择
14 0
|
3月前
|
存储 安全 计算机视觉
用 Python 脚本实现电脑唤醒后自动拍照 截屏并发邮件通知
用 Python 脚本实现电脑唤醒后自动拍照 截屏并发邮件通知
|
9月前
|
数据安全/隐私保护
Python--yagmail,我用这个模块每天定时给同事发邮件
Python--yagmail,我用这个模块每天定时给同事发邮件
73 0
|
5月前
|
Python
Python自动化办公之Excel拆分并自动发邮件
Python自动化办公之Excel拆分并自动发邮件
|
8月前
|
存储 数据采集 安全
【python基础知识】18.实操-使用python自动群发邮件
【python基础知识】18.实操-使用python自动群发邮件
187 0
【python基础知识】18.实操-使用python自动群发邮件
|
10月前
|
Python
python画雷达图更换自定义字体,然后把图片发邮件
python画雷达图更换自定义字体,然后把图片发邮件,解决画图字体不显示或者想自定义字体,发邮件使用两种方式,实现发送图片作为邮件正文的效果
80 0
|
测试技术 BI 数据安全/隐私保护
软件测试|教你用Python给领导发邮件
软件测试|教你用Python给领导发邮件
114 0
软件测试|教你用Python给领导发邮件