python3 发邮件 smtplib & email 库
嗨 实现了用163发送到qq的功能,遗留了两个问题:
1. 接收者list会报错;
update:因为list[]会传递过去一个真的[]list,改成如下就可以了:
before:
maillist=['a@qq.com','b@qq.com']
msg['To']=maillist
print (maillist) -->['a@qq.com', 'b@qq.com'] after:
maillist = ['a@qq.com','b@qq.com']
msg['To'] = ','.join(maillist)
print(maillist) --> a@qq.com,b@qq.com
2. msg.as_string() 是什么意思?
update:就是把msg转成string了
揍是不想google了啊喂,感觉最近google越来越查不到想要的答案了。
update:还是得继续google下去,继续求问下去啊,另外,官方英文文档看了也看不懂,囧了个囧
贴上部分代码,方便懒人copy:
def sendmail(subject, content):
email_host = 'smtp.163.com' # 发送者是163邮箱
email_user = '发送者邮箱账号,我用汉字替换掉' # 发送者账号
email_pwd = '发送者邮箱密码,我用汉字替换掉' # 发送者密码
maillist ='接收者邮箱账号,我用汉字替换掉' # 接收者账号,本来想写成[]list的,但是报错,还没解决!
me = email_user
# 三个参数:第一个为文本内容,第二个 html 设置文本格式,第三个 utf-8 设置编码
msg = MIMEText(content, 'html', 'utf-8') # 邮件内容
msg['Subject'] = subject # 邮件主题
msg['From'] = me # 发送者账号
msg['To'] = maillist # 接收者账号列表(列表没实现) smtp = smtplib.SMTP(email_host) # 如上变量定义的,是163邮箱
smtp.login(email_user, email_pwd) # 发送者的邮箱账号,密码
smtp.sendmail(me, maillist, msg.as_string()) # 参数分别是发送者,接收者,第三个不知道
smtp.quit() # 发送完毕后退出smtp
print ('email send success.') sendmail('主题', '内容') # 调用发送邮箱的函数
还有第二种方法也实现了,不过我喜欢上面那种,是loveisbug写的,感觉很程序
第二种是从网上找的,作者忘了,真忘了,昨天搜的
import smtplib
import email.mime.multipart
import email.mime.text msg = email.mime.multipart.MIMEMultipart()
msg['from'] = '发送者的邮箱账号'
msg['to'] = '接收者的邮箱账号'
msg['subject'] = 'test,这是邮件主题'
content = '''''
你好,
这是一封自动发送的邮件的内容。
'''
txt = email.mime.text.MIMEText(content)
msg.attach(txt) smtp = smtplib
smtp = smtplib.SMTP()
smtp.connect('smtp.163.com') # 使用的发送者邮箱的那啥来着,post
smtp.login('发送者的邮箱账号', '发送者的邮箱密码')
smtp.sendmail('发送者的邮箱账号', '接收者的邮箱账号', str(msg))
smtp.quit()
python3 发邮件 smtplib & email 库的更多相关文章
- Python自动发邮件——smtplib和email库和yagmail库
''' 一.先导入smtplib模块 导入MIMEText库用来做纯文本的邮件模板 二.发邮件几个相关的参数,每个邮箱的发件服务器不一样,以163为例子百度搜索服务器是 smtp.163.com 三. ...
- python3发邮件脚本
官方文档中建议保存token,且token是每2小时更新一次. 所以token先保存在本地token.txt文件夹中,设定计划任务每1小时删除一下token.txt.虽然造成了浪费,对于发消息不多的人 ...
- 【转】python3 发邮件实例(包括:文本、html、图片、附件、SSL、群邮件)
特别留意群邮件方式,这是工作中用得多的. 附件,HTML,图片,都需要的. 文件形式的邮件 [python] view plain copy 1.#!/usr/bin/env python3 2.#c ...
- 发邮件 和 excel导出中文文件名
/** * 发邮件 * @param email * @param subject * @param body * @throws UnsupportedEncodingException */ pu ...
- python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件
python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件 使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPA ...
- 【Python】 发邮件用 smtplib & email
smtplib & email ■ 概述 发邮件主要用到smtplib以及email模块.stmplib用于邮箱和服务器间的连接,发送的步骤.email模块主要用于处理编码,邮件内容等等.主要 ...
- python自动发邮件库yagmail
#### 一般发邮件方法 我以前在通过Python实现自动化邮件功能的时候是这样的: import smtplib from email.mime.text import MIMEText from ...
- Python自动发邮件-yagmail库
之前写过用标准库使用Python Smtplib和email发送邮件,感觉很繁琐,久了不用之后便忘记了.前几天看知乎哪些Python库让你相见恨晚?,看到了yagmail第三方库,学习过程中遇到一些问 ...
- Python自动发送邮件-smtplib和email库
''' 一.先导入smtplib模块 导入MIMEText库用来做纯文本的邮件模板 二.发邮件几个相关的参数,每个邮箱的发件服务器不一样,以163为例子百度搜索服务器是 smtp.163.com 三. ...
随机推荐
- Nginx托管.Net Core应用程序
Nginx托管.Net Core应用程序 一.安装.Net Core 参考官方文档:https://www.microsoft.com/net/core#linuxcentos 1.添加dotnet产 ...
- java中存储金额
很早之前, 记得一次面试, 面试官问存储金钱用什么数据类型? 当时只知道8种数据类型(boolean, byte, short, int, long, float, double, char)的我, ...
- AD17笔记
1 铺铜修改后自动重铺设置:在最右下角
- 电脑Bois中usb模式启动热键
组装机主板 品牌笔记本 品牌台式机 主板品牌 启动按键 笔记本品牌 启动按键 台式机品牌 启动按键 华硕主板 F8 联想笔记本 F12 联想台式机 F12 技嘉主板 F12 宏基笔记本 F12 惠普台 ...
- .NET CORE IIS 500.21
最近遇到的.NET CORE 500.21的错误 官方解决方案地址:https://docs.microsoft.com/en-us/dynamics-nav/troubleshooting-http ...
- zabbix2升级zabbix3
1.停服zabbix2,停服数据库/etc/init.d/zabbix_server stop/etc/init.d/mysqld stop 2.物理备份数据库cd /var/lib/mysql/ta ...
- 对fgets末尾'\0'的处理
之所以要对fgets自动添加的字符进行处理的原因之一是:当你想比较输入的字符时,你会发现输入的字符和源码用来进行对比的字符一模一样,但是使用strcmp比较时就是不一样,原因就是fgets对输入字符添 ...
- HTML页面右键事件
<script type="text/javascript"> <!-- document.onmousedown = function (e) { var e ...
- openfire4.0.2源码 使用 IntelliJ IDEA 搭建开发环境
从官网下载压缩包,解压,直接打开build目录下的project 打开后, 相关的设置 fix直接修复或者下载 设置 设置每个插件目录下的java目录为source 编译openfire和plugin ...
- Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] C A Weakness and Poorness (三分)
显然f(x)是个凹函数,三分即可,计算方案的时候dp一下.eps取大了会挂精度,指定循环次数才是正解. #include<bits/stdc++.h> using namespace st ...