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 ...
随机推荐
- pmm的安装,这里推荐下载官方提供的脚本,直接执行这个脚本就可以完成安装
脚本内容如下: #!/bin/sh set -o errexit set -o xtrace root_is_needed='no' check_command() { command -v &quo ...
- Wireshark 用户指南(3.1.0)
目 录 Preface 序 1. Foreword 前言 2. Who should read this document? 谁适合读该文档? 3. Acknowledgements 致谢 4. Ab ...
- 爬虫界的福利--touchRobot,机器模拟触碰滑动库(已开源)
此插件能干什么? 一句话概括:通过程序主动触发移动端滑动.拖拽.触碰等操作 插件有什么用呢? 可以用于爬虫,也可以用于自动化测试以及程序演示 插件演示地址 (从网上扒了一个canvas绘图的demo, ...
- CodeForces - 1175B Catch Overflow!(栈模拟多重for循环)
You are given a function ff written in some basic language. The function accepts an integer value, w ...
- Mac地址转换成long长整型 2
数据之间的转换可以使用 System.Convert Mac地址转换成long长整型 /// <summary> /// 解析长整形的数据使其转换为macID /// </sum ...
- shell统计ip访问情况并分析访问日志
有日志 1.log,部分内容如下: 112.111.12.248 – [25/Sep/2013:16:08:31 +0800]formula-x.haotui.com“/seccode.php?upd ...
- Javescript——数据类型
原文链接:Understanding Data Types in JavaScript Data types are used to classify one particular type of d ...
- 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_12-SpringSecurityOauth2研究-JWT研究-生成私钥和公钥
3.6.3 JWT入门 Spring Security 提供对JWT的支持,本节我们使用Spring Security 提供的JwtHelper来创建JWT令牌,校验JWT令牌 等操作. 3.6.3. ...
- linuxan安装redis出现Newer version of jemalloc required错误
linux安装redis执行make命令时出现问题 解决方法 make MALLOC=libc 如果要指定安装文件夹 使用命令:make PREFIX = /usr/local/redis(文件夹路 ...
- Java环境中,word文档转PDF直接打开浏览而非下载
在平台上,需要把文档直接浏览而非下载,实现方法是先把文档转为PDF文件, 但在linux系统中确实汉字字库,所以转换失败,以下是解决方法 后面正式服务器也要添加字库,不然会转换出乱码文件,处理步骤如下 ...