Python 【收发邮件】


msg['From'] = Header('xxx') #from收件人邮箱地址 msg['From'] = Header('cool')
msg['To'] = Header('xxx') #to发件人邮箱地址 msg['To'] = Header('小可爱')
msg['Subject'] = Header('xxx') #主题 msg['Subject'] = Header('来自cool的问候')
text = 'send by python'
msg = MIMEText(text,'plain','utf-8')

to_addrs = ['wu@qq.com','kaxi@qq.com']
msg['To'] = Header(to_addrs)
#直接运行程序的话,这里就会发生错误:AttributeError: 'list' object has no attribute 'decode'。
#因为Header接受的第一个参数的数据类型必须要是字符串或者字节,列表不能解码 #使用join()函数,它的功能是把字符串合并
print(type(['wu@qq.com','kaxi@qq.com']))
print(type(",".join(to_addrs)))
<class 'list'>
<class 'str'>
msg['to'] = Header(",".join(to_addrs))
to_addrs = []
while True:
a=input('请输入收件人邮箱:')
#输入收件人邮箱
to_addrs.append(a)
#写入列表
b=input('是否继续输入,n退出,任意键继续:')
#询问是否继续输入
if b == 'n':
break
#print(to_addrs)
import csv
#引用csv模块。 data = [['wu ', 'wu@qq.com'],['kaxi', 'kaxi@qq.com']]
#待写入csv文件的内容 with open('to_addrs.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in data:
writer.writerow(row)
import csv
#引用csv模块。 with open('to_addrs.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
to_addrs=row[1]


import smtplib
# smtplib 用于邮件的发信动作
from email.mime.text import MIMEText
# email 用于构建邮件内容
from email.header import Header
# 用于构建邮件头
import csv
# 引用csv模块,用于读取邮箱信息 # 发信方的信息:发信邮箱,QQ邮箱授权码
# 方便起见,你也可以直接赋值
from_addr = input('请输入登录邮箱:')
password = input('请输入邮箱授权码或者密码:') # 发信服务器
smtp_server = 'smtp.exmail.qq.com' # 邮件内容
text='''亲爱的学员,你好!
我是吴老师,能遇见你很开心。
希望学习python对你不是一件困难的事情! 人生苦短,我用Python
''' # 待写入csv文件的收件人数据:人名+邮箱
# 记得替换成你要发送的名字和邮箱
data = [['qy ', '123456@qq.com'],['lxz_jy', '654321@qq.com']] # 写入收件人数据
with open('to_addrs.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in data:
writer.writerow(row) # 读取收件人数据,并启动写信和发信流程
with open('to_addrs.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
to_addrs=row[1]
msg = MIMEText(text,'plain','utf-8')
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addrs)
msg['Subject'] = Header('python test')
server = smtplib.SMTP_SSL(smtp_server)
server.connect(smtp_server,465)
server.login(from_addr, password)
try:
server.sendmail(from_addr, to_addrs, msg.as_string())
print('success')
except:
print('failed') # 关闭服务器
server.quit()
import math
num =float(input('pls input a number:'))
# 方法1,关键词:条件判断
def abs_value1():
if num >= 0:
print('该数字的绝对值为:{}'.format(num))
else:
print('该数字的绝对值为:{}'.format(-num)) # 方法2,关键词:内置函数
def abs_value2():
num1 = abs(num)
print('该数字的绝对值为:{}'.format(num1)) # 方法3,关键词:内置模块
def abs_value3():
num1 = math.fabs(num)
print('绝对值为{}'.format(num1)) # 写完3种方法后,验证一下吧。
abs_value1()
abs_value2()
abs_value3()
Python 【收发邮件】的更多相关文章
- Python收发邮件
发送邮件使用SMTP协议,接受POP3或IMAP: 创建邮件内容email模块,发送邮件smtplib模块.发送邮件比较简单,只需先创建SMTP对象,登录服务器后根据发收邮箱地址发送即可: POP3接 ...
- 转--python -- 收发邮件
官方 import smtplib from email.mime.text import MIMEText from email.header import Header # 发送邮箱服务器 smt ...
- python收发邮件的方法
def acptmail(): email = 'xxx@163.com' #input('Email:') password = 'xxx' #input('Password: ') pop3_se ...
- 使用python的email、smtplib、poplib模块收发邮件
使用python的email.smtplib.poplib模块收发邮件 一封电子邮件的旅程是: MUA:Mail User Agent——邮件用户代理.(即类似Outlook的电子邮件软件) MTA: ...
- python的email、smtplib、poplib模块收发邮件
一封电子邮件的旅程是: MUA:Mail User Agent--邮件用户代理.(即类似Outlook的电子邮件软件) MTA:Mail Transfer Agent--邮件传输代理,就是那些Emai ...
- python SMTP邮件发送(转载)
Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. py ...
- python发邮件遇到的端口号问题
在学习使用python发邮件的过程中, 遇到了一个问题:由于测试的时候使用的是QQ邮箱,要求必须使用SSL/TLS加密,所以有了下面的代码, from email.mime.text import M ...
- DouNet学习_收发邮件
一.收发邮件 --->第一步:发邮件首先要有发送者的邮箱地址和登录的密码才能发送 这些都写在APP里 不要写死 --->第二步:发邮件就要有网络,要添加net.Mail命名空间 要发送的 ...
- 使用python发邮件
使用python发邮件 网上有很多发邮件的例子,本人在网上找了一份,稍加修改后使用 上源码 # encoding=utf-8 from email.mime.image import MIMEImag ...
- Outlook Express 收发邮件出现"0x800CCC0F"错误代码解决方法
非常多网友在使用Outlook Express收发邮件的过程中,有时能够发送邮件,但出现不能接收信件的问题.每次在收邮件都会在某个地方停止不动,然后报超时,出现错误代码0x800CCC19或0x800 ...
随机推荐
- 2018-2019-2 20165114《网络对抗技术》Exp7 网络欺诈防范
Exp7 网络欺诈防范 目录 一.实验内容 二.基础问题回答 (1)通常在什么场景下容易受到DNS spoof攻击 (2)在日常生活工作中如何防范以上两攻击方法 三.实践过程记录 3.1简单应用SET ...
- git 设置git用户名和邮箱,并生成秘钥
1.设置 git 用户名 aaron@ubuntu:~$ git config --global user.name "xxx" 2.设置 git 邮箱 aaron@ubuntu: ...
- git补充(关于pull request)转自知乎
当你想更正别人仓库里的错误时,要走一个流程: 1先 fork 别人的仓库,相当于拷贝一份,不会有人直接让你修改原仓库的 2.clone 到本地分支,做一些 bug fix 3.发起 pull requ ...
- Linux信号使用及自定义信号
linux自定义信号:https://www.cnblogs.com/bigben0123/p/3186661.html linux信号.值及解释:https://blog.csdn.net/luot ...
- ngx.shared.DICT.set
ngx.shared.DICT.set 原文: ngx.shared.DICT.set syntax: success, err, forcible = ngx.shared.DICT:set(key ...
- ab 压测
Linux学习14-ab报错apr_pollset_poll: The timeout specified has expired (70007) 前言 使用ab压力测试时候出现报错apr_polls ...
- 一个项目里,httpclient竟然出现了四种
有网友提问: 今年年初,到一家互联网公司实习,该公司是国内行业龙头.不过技术和管理方面,却弱爆了.那里的程序员,每天都在看邮件,查问题工单.这些问题,多半是他们设计不当,造成的.代码写
- C++在线编程网站
1.推荐 http://www.dooccn.com/cpp/ 2.https://wandbox.org/ 3.https://www.tutorialspoint.com/compile_cpp_ ...
- VS版本 与 VC版本 的对应关系
Visual Studio 6 : vc6Visual Studio 2003 : vc7Visual Studio 2005 : vc8Visual Studio 2008 : vc9Visual ...
- LC 990. Satisfiability of Equality Equations
Given an array equations of strings that represent relationships between variables, each string equa ...