• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python:发送邮件或发带附件的邮件

python 搞java代码 3年前 (2022-05-21) 25次浏览 已收录 0个评论
文章目录[隐藏]

 使用Python进行发邮件功能。

本文使用的是163邮件进行测试。

注:163邮箱现在需要使用 客户端授权码 进行测试,不再支持邮箱密码进行测试。

1、使用Python发Text 邮件

 

<span>import</span><span> smtplib
</span><span>#</span><span> 发送字符串的邮件</span>
<span>from</span> email.mime.text <span>import</span><span> MIMEText

</span><span>#</span><span> 设置服务器所需信息</span>
fromEmailAddr = <span>"</span><span>发件人<a href="https://www.gaodaima.com/tag/%e9%82%ae%e7%ae%b1%e5%9c%b0%e5%9d%80" title="查看更多关于邮箱地址的文章" target="_blank">邮箱地址</a></span><span>"</span>  <span>#</span><span> 邮件发送方邮箱地址</span>
password = <span>"</span><span>email password</span><span>"</span>  <span>#</span><span> 密码(部分邮箱为授权码)</span>
toEmailAddrs = [<span>"</span><span>接收方地址</span><span>"</span>]  <span>#</span><span> 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发</span>

<span>#</span><span> 设置email信息</span><span>
#</span><span> ---------------------------发送字符串的邮件-----------------------------</span><span>
#</span><span> 邮件内容设置</span>
message = MIMEText(<span>"</span><span>hello,test Python send Email.</span><span>"</span>, <span>"</span><span>plain</span><span>"</span>, <span>"</span><span>utf-8</span><span>"</span><span>)
</span><span>#</span><span> 邮件主题</span>
message[<span>"</span><span>Subject</span><span>"</span>] = <span>"</span><span><a href="https://www.gaodaima.com/tag/python" title="查看更多关于python的文章" target="_blank">python</a> test email</span><span>"</span>
<span>#</span><span> 发送方信息</span>
message[<span>"</span><span>From</span><span>"</span>] =<span> fromEmailAddr
</span><span>#</span><span> 接受方信息</span>
message[<span>"</span><span>To</span><span>"</span>] =<span> toEmailAddrs[0]
</span><span>#</span><span> ---------------------------------------------------------------------</span>


<span>#</span><span> 登录并发送邮件</span>
<span>try</span><span>:
    server </span>= smtplib.SMTP(<span>"</span><span>smtp.163.com</span><span>"</span>)  <span>#</span><span> 163邮箱服务器地址,端口默认为25</span>
<span>    server.login(fromEmailAddr, password)
    server.sendmail(fromEmailAddr, toEmailAddrs, message.as_string())
    </span><span>print</span>(<span>"</span><span>success</span><span>"</span><span>)
    server.quit()
</span><span>except</span><span> smtplib.SMTPException as e:
    </span><span>print</span>(<span>"</span><span>error:</span><span>"</span>, e)
www#gaodaima.com来源gaodai.ma#com搞##代!^码@网搞代码

 

2、使用Python发送带附件的邮件

 

<span>import</span><span> smtplib
</span><span>#</span><span> 发送字符串的邮件</span>
<span>from</span> email.mime.text <span>import</span><span> MIMEText
</span><span>#</span><span> 需要 MIMEMultipart 类</span>
<span>from</span> email.mime.multipart <span>import</span><span> MIMEMultipart

</span><span>#</span><span> 设置服务器所需信息</span>
fromEmailAddr = <span>"</span><span>发件人邮箱地址</span><span>"</span>  <span>#</span><span> 邮件发送方邮箱地址</span>
password = <span>"</span><span>email password</span><span>"</span>  <span>#</span><span> 密码(部分邮箱为授权码)</span>
toEmailAddrs = [<span>"</span><span>收件人地址</span><span>"</span>]  <span>#</span><span> 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发</span>

<span>#</span><span> 设置email信息</span><span>
#</span><span> ---------------------------发送带附件邮件-----------------------------</span><span>
#</span><span> 邮件内容设置</span>
message =<span>  MIMEMultipart()
</span><span>#</span><span> 邮件主题</span>
message[<span>"</span><span>Subject</span><span>"</span>] = <span>"</span><span>python test email</span><span>"</span>
<span>#</span><span> 发送方信息</span>
message[<span>"</span><span>From</span><span>"</span>] =<span> fromEmailAddr
</span><span>#</span><span> 接受方信息</span>
message[<span>"</span><span>To</span><span>"</span>] =<span> toEmailAddrs[0]
</span><span>#</span><span> 邮件正文内容</span>
message.attach(MIMEText(<span>"</span><span>hello,test Python send Email</span><span>"</span>, <span>"</span><span>plain</span><span>"</span>, <span>"</span><span>utf-8</span><span>"</span><span>))

</span><span>#</span><span> 构造附件</span>
att1 = MIMEText(open(<span>"</span><span>text.txt</span><span>"</span>, <span>"</span><span>rb</span><span>"</span>).read(), <span>"</span><span>base64</span><span>"</span>, <span>"</span><span>utf-8</span><span>"</span><span>)
att1[</span><span>"</span><span>Content-type</span><span>"</span>] = <span>"</span><span>application/octet-stream</span><span>"</span><span>
att1[</span><span>"</span><span>Content-Disposition</span><span>"</span>] = <span>"</span><span>attachment; filename="test.zip"</span><span>"</span><span>
message.attach(att1)
</span><span>#</span><span> ---------------------------------------------------------------------</span>

<span>#</span><span> 登录并发送邮件</span>
<span>try</span><span>:
    server </span>= smtplib.SMTP(<span>"</span><span>smtp.163.com</span><span>"</span>)  <span>#</span><span> 163邮箱服务器地址,端口默认为25</span>
<span>    server.login(fromEmailAddr, password)
    server.sendmail(fromEmailAddr, toEmailAddrs, message.as_string())
    </span><span>print</span>(<span>"</span><span>success</span><span>"</span><span>)
    server.quit()
</span><span>except</span><span> smtplib.SMTPException as e:
    </span><span>print</span>(<span>"</span><span>error:</span><span>"</span>, e)

 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python:发送邮件或发带附件的邮件
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址