嗨 实现了用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 库的更多相关文章

  1. Python自动发邮件——smtplib和email库和yagmail库

    ''' 一.先导入smtplib模块 导入MIMEText库用来做纯文本的邮件模板 二.发邮件几个相关的参数,每个邮箱的发件服务器不一样,以163为例子百度搜索服务器是 smtp.163.com 三. ...

  2. python3发邮件脚本

    官方文档中建议保存token,且token是每2小时更新一次. 所以token先保存在本地token.txt文件夹中,设定计划任务每1小时删除一下token.txt.虽然造成了浪费,对于发消息不多的人 ...

  3. 【转】python3 发邮件实例(包括:文本、html、图片、附件、SSL、群邮件)

    特别留意群邮件方式,这是工作中用得多的. 附件,HTML,图片,都需要的. 文件形式的邮件 [python] view plain copy 1.#!/usr/bin/env python3 2.#c ...

  4. 发邮件 和 excel导出中文文件名

    /** * 发邮件 * @param email * @param subject * @param body * @throws UnsupportedEncodingException */ pu ...

  5. python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件

    python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件 使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPA ...

  6. 【Python】 发邮件用 smtplib & email

    smtplib & email ■ 概述 发邮件主要用到smtplib以及email模块.stmplib用于邮箱和服务器间的连接,发送的步骤.email模块主要用于处理编码,邮件内容等等.主要 ...

  7. python自动发邮件库yagmail

    #### 一般发邮件方法 我以前在通过Python实现自动化邮件功能的时候是这样的: import smtplib from email.mime.text import MIMEText from ...

  8. Python自动发邮件-yagmail库

    之前写过用标准库使用Python Smtplib和email发送邮件,感觉很繁琐,久了不用之后便忘记了.前几天看知乎哪些Python库让你相见恨晚?,看到了yagmail第三方库,学习过程中遇到一些问 ...

  9. Python自动发送邮件-smtplib和email库

    ''' 一.先导入smtplib模块 导入MIMEText库用来做纯文本的邮件模板 二.发邮件几个相关的参数,每个邮箱的发件服务器不一样,以163为例子百度搜索服务器是 smtp.163.com 三. ...

随机推荐

  1. Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) C

    You are given set of n points in 5-dimensional space. The points are labeled from 1 to n. No two poi ...

  2. Hive_Hive的数据模型_桶表

    对数据进行HASH运算,放在不同文件中,降低热块,提高查询速度. 例如:根据sname进行hash运算存入5个桶中. create table bucket_table(sid int, sname ...

  3. Serilog 是 ASP.NET Core 的一个插件,可以简化日志记录

    [翻译] ASP.NET Core 利用 Docker.ElasticSearch.Kibana 来记录日志 原文: Logging with ElasticSearch, Kibana, ASP.N ...

  4. oracle rollback 观察时间

    ###########issue 0: db alert 有如下提示, thread 1 cannot allocatete new log, sequenec 1111 通过检查v$log ,发现1 ...

  5. Linux上常用命令整理(二)—— paste

    上一篇整理了cat指令的几个基本常见用法,这次整理一下paste指令的基本用法. cat paste cut grep paste paste可以简单的理解为把两个文件的内容按列合并,与cat命令直接 ...

  6. xxx cannot be resolved to a type

    1.jdk不匹配(或不存在)     项目指定的jdk为“jdk1.6.0_18”,而当前eclipse使用的是“jdk1.6.0_22”.需要在BuildPath | Libraries,中做简单调 ...

  7. Java程序运行参数

    Java主函数形式:public static void main(String[] args){......} 也就是说可以向Java程序传递一个String[]. 1.在IDEA中debug.ru ...

  8. Mac、Linux下两个Emacs共享一个配置文件

    Mac.Linux下两个Emacs共享一个配置文件 有些嵌入式的实验需要在Linux进行,就安装了RHEL6.4的虚拟机,下载并编译了Emacs. 在Linux的.emacs文件中加入以下语句,即可引 ...

  9. Kendo MVVM 数据绑定(一) attr

    Kendo MVVM 数据绑定(一) attr Kendo UI MVVM 数据绑定支持的绑定属性有 attr, checked, click, custom , disabled,enabled, ...

  10. 四道java语言练习基础题:

    一.==符的使 首先看一段比较有意思的代码 Integer a = 1000,b=1000; Integer c = 100,d=100; public void mRun(final String ...