python 发送邮件不显示附件_python最简单的发邮件方式(不带附件)

本文介绍了如何使用Python简单地发送邮件,重点在于实现邮件正文的发送,而非附件。通过实例代码展示了一个基础的SMTP邮件发送过程,适用于运维人员日常工作中发送简单文本邮件的需求。
摘要由CSDN通过智能技术生成

今天在尝试使用python发送邮件,在网上看了很多教程,发觉对于初学者的我有点复杂和代码比较麻烦,而且也没有太多的注释告诉我这是干嘛用的,用法是什么

这个教程十分简单,但是我足够应付我日常工作的需要了,作为运维,我要的功能只是能够发送邮件并且正确显示其内容就够,不需要太多花俏的东西。

测试的准备工作是,我在虚拟机下把w的命令输出重定向到一个文件,作为邮件body体的发送内容。

w > msg.log

[root@test-A tmp]# cat msg.log

02:48:50 up 10:11,  1 user,  load average: 0.00, 0.00, 0.00

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT

root     pts/0    192.168.178.1    02:48    0.00s  0.06s  0.00s w

[root@test-A tmp]#

以下是python的内容:

#!/usr/bin/python

import smtplib                         #导入模块

mailfrom='qxxxxx@126.com'              #定义发件人,收件人,密码

mailto='qwwww@gmail.com'

passwd='abcdefg'

subject='this is a test'                #定义主题

body=open('msg.log').read()             #读取文件的内容作为body信息

msg="""From:%s                           #定义发邮件的格式

TO:%s

Subject:%s

%s

""" % (mailfrom,mailto,subject,body)     #把变量传入到格式中

smtp=smtplib.SMTP()

smtp.connect('smtp.126.com')                #连接到126的邮箱服务器

smtp.login(mailfrom,passwd)                 #登陆邮箱

smtp.sendmail(mailfrom,mailto,msg)           #发送邮件

搞掂,这样就可以收到邮件了,但是在查看结果前,先要说明几个重点。

msg这个变量的格式完成后,必须是这样的:>>> print msg

From:qxxxxx@126.com               #必须不与上面留空行

TO:qwwww@gmail.com

Subject:this is a test

#必须与上部分留空行

02:48:50 up 10:11,  1 user,  load average: 0.00, 0.00, 0.00

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT

root     pts/0    192.168.178.1    02:48    0.00s  0.06s  0.00s w

如果不注意这些细节,会造成邮件接收是可能会是没有标题或标题错乱!

还有,msg不一定要用我这种字符串的处理方法,可以使用其他方法如列表和split,\n这样组合生成,但是生成后的格式应该要是一样的,就是说,条条大路通罗马~~只是我用了比较懒的方法

***这种生产环境中应该要有更多的try-except去判断流程的成功性,这里没有给出!!

好了,查看结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值