使用道具

  下载了python tools的VisualStdio 2017(其实是只要有python的编译器就行)

方法介绍

  这里我们使用的模块是SMTPLIB,所以很显然我这里运用的是smtp协议去进行邮件的传输。邮件的传输我这里会讲两种情况:一种是不带附件的情况下该怎么传输,另一种则是带上附件的时候该怎么传输邮件。

准备工作

  我们首先需要一个邮件的发出端,因为我们要用的是smtp协议,所以需要一台smtp的服务器,这里我选择的是qq邮箱的smtp服务器,但是这个服务在一开始是默认处于关闭状态的,所以我们先需要在qq邮箱的设置里面打开它:(注意是打开邮件发送者的,不是邮件的接受者)

打开qq邮箱,点击设置:

点击账户:
向下滑动,找到如下位置后,打开如图三个选项:

然后点击生成授权码,将授权码保存至一个地方,等会需要用到:

发送的邮件不需要附件的情况下

  在发送的邮件不需要附件的情况下,我们的代码如下:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipartfromaddr = ""//发送者的qq邮箱
toaddr = ""//接收者的qq邮箱msg = MIMEMultipart()//实例化一个MIMEMultipart
msg['From'] = fromaddr//设置来源的地址
msg['To'] = toaddr //设置目的地的地址
msg['Subject'] = "python"//设置的邮件的主题
body = "好有趣"//设置邮件的正文内容msg.attach(MIMEText(body, 'plain'))//第二个‘plain’为设置正文的格式
server = smtplib.SMTP("smtp.qq.com",587)//设置SMTP的服务器和其相对应的SMTP接口server.starttls()//开始
server.login(fromaddr , "")//第二个参数为刚刚保存的邮件发送端的授权码
text = msg.as_string()//转换message的格式
server.sendmail(fromaddr, toaddr, text)//发送邮件
server.quit()//结束

发送的邮件需要附件的情况下

  在发送的邮件需要附件的情况下,我们的代码如下:(注意:这里的文件是采用的相对位置)

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encodersfromaddr = ""//邮件发送者的地址
toaddr = ""//邮件接受者的地址
msg = MIMEMultipart()//实例化一个MIMEMultipart
msg['From'] = fromaddr//设置来源地址
msg['To'] = toaddr//设置目的地地址
msg['Subject'] = "python"//设置邮件的主题
body = "邮件传输"//设置邮件的正文msg.attach(MIMEText(body, 'plain'))
filename = "技术报告.docx"//需要传递的附件的名称(相对地址)
attachment = open(filename, 'rb')//打开该文件
part = MIMEBase('application', 'octet-stream')//进行格式转换
part.set_payload((attachment).read())//设置数据
encoders.encode_base64(part)//解码
part.add_header('Content-Disposition', 'attachment', filename=filename)
msg.attach(part)//添加附件server = smtplib.SMTP("smtp.qq.com",587)//设置SMTP
server.starttls()//开始
server.login(fromaddr , "")//第二个参数还是那个邮件发送端的授权码
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)//发送邮件
server.quit()//结束

总结

  其实也可以不用qq邮箱,只要有smtp的服务器,选择什么来进行发送都没有问题,只要找到它对应好的smtp接口即可

如何不使用QQ邮箱,纯靠代码发送QQ邮件?相关推荐

  1. 通过QQ邮箱的SMTP服务器发送QQ邮件至163邮箱提示“发送邮件失败”的解决方案(三种可能性,不妨一试)...

    IDE:Visual Studio 2010[C#] + .NET 4.0框架 引用.NET 4.0框架的System.Net.Mail命名空间开发发送邮件的程序.发送方:QQ邮箱 接收方:163邮箱 ...

  2. java发送qq邮箱验证_java代码发送邮箱验证码与qq邮箱smtp服务

    importjavax.mail.Session;importjavax.mail.Transport;importjavax.mail.internet.InternetAddress;import ...

  3. 使用qq邮箱服务器来实现laravel的邮件发送

    本文来自pilishen.com----原文链接; 欢迎作客我们的php&Laravel学习群:109256050 在我们的Laravel底层核心技术实战揭秘 视频中,我们带领大家使用了专业的 ...

  4. qq邮箱imtp收件服务器,qq邮箱代收outlook

    qq邮箱代收outlook[编辑] 概述 Microsoft Office Outlook是微软办公软件套装的组件之一,它对Windows自带的Outlook express的功能进行了扩充. QQ邮 ...

  5. 163、QQ邮箱收不到Github的邮件解决方法

    163.QQ邮箱收不到Github的邮件解决方法 20230505171221||300

  6. qq邮箱 android 3.0 评测,QQ邮箱Android0.9.5版本最新邮箱评测体验

    通过手机登陆3g.mail.qq.com 也可以直接获取下载地址. QQ邮箱Android版手机下载页面截图 QQ邮箱手机浏览器方式浏览电子邮件截图 QQ邮箱Andriod客户端登陆以及客户端首页截图 ...

  7. 苹果xr邮件无法连接服务器,iPhone XR手机怎么添加QQ邮箱?苹果XR添加QQ邮箱的方法...

    原标题:iPhone XR手机怎么添加QQ邮箱?苹果XR添加QQ邮箱的方法 iPhone自带邮件应用,我们可以在里面添加几个不同的邮箱地址,这样就不用去分别下载多个邮箱的 App 了. 不过,当我们在 ...

  8. QQ邮箱功能详解:QQ秀形象签名(转)

    QQ邮箱功能详解:QQ秀形象签名(转) 通过QQ邮箱,您可以发送一封幽默风趣,多姿多彩的邮件给您的好友,而且这一切都并不难实现,贴上您的QQ秀形象签名,插入几个搞怪的QQ表情,选择一张贴近心意的信纸- ...

  9. linux服务器如何配置qq邮箱,linux用mail往qq邮箱发邮件

    因为qq邮箱的一些安全设置,本机用mail命令投递的邮件 smtp服务器用的是localhost的sendmail或者postfix 所以邮件的from是来自localhost.localdomain ...

最新文章

  1. cad新手必练300图_杭州富阳新凳cad制图速成短期培训中心多年教学
  2. 【算法数据结构Java实现】欧几里得算法
  3. 前端学习(3211):react中类中方法的this指向三
  4. 分布式系统架构实战demo:SSM+Dubbo
  5. PostgreSQL 主从差异查看
  6. tp5框架原理详解_笔记:TP5框架完整学习笔记
  7. 英格索兰扳手网口通信协议EOR原理
  8. 苹果手机怎么投影到墙上_手机怎么投屏到投影仪上?这篇图文教程教你轻松搞定...
  9. 阿里云网盘开启公测!不限速、2T永久免费空间!!
  10. 使用Graphics将字符串居中绘制到图片上
  11. matlab导弹追踪,导弹追踪代码
  12. C# 和MsComm
  13. 可爱的树链剖分(染色)
  14. 【Web技术】前端水印实现方案
  15. VUE 首屏加载时间优化
  16. ? addActionListener()调用actionPerformed()
  17. (隐藏滚动条)滚动条隐藏但是内容可以滚动游览器兼容
  18. 股价跌到“1美元“退市线之下,昔日巨头四季教育成沧海一粟?
  19. 图像金字塔LK光流法原理分析
  20. fume fx 汉化_FumeFX中文版下载 流体动力学插件FumeFX 5.x for 3DS MAX 2019 免费版(附安装教程) 下载-脚本之家...

热门文章

  1. Echarts 封装常用图表组件
  2. ubuntu下安装ZBar遇到的坑
  3. 蒙特卡洛粒子滤波定位算法_定位算法 -- MCL蒙特卡洛(粒子)滤波
  4. Windows11 文件选择打开方式时卡死 解决
  5. Realme GT2 ROOT 解锁BL教程
  6. 洛谷[P1396]营救 并查集
  7. React 受控组件和非受控组件(总结)
  8. window下基于谷歌api和CUM Sphinx的简单语音识别
  9. ELF格式解读-(1) elf头部与节头
  10. python提前结束本层循环_python中退出多层循环的方法