Python–邮件操作–给好朋友偷偷发图片!!!

  • Post author:
  • Post category:python


今天小北教你一个骚操作,让你瞒天过海的看小图片,然后与你得好兄弟一起分享你得好图片,一起干不得了的事情,三分钟学会!!!

你是不是每天都还在为看到了好看的图片,但是女朋友在身边又不好意思用QQ,微信进行直接分享,分享了删了聊天记录还要费口舌的解释呢,哈哈哈,那么今天小北教你一个不起眼的操作,让你分分钟拿捏!!!


目录


zmail操作


纯文字发送:


html格式发送:


附件格式发送:


封装



zmail操作

1. 导包 import zmail

2. 邮件内容,包含:主题(subject)、正文(content_text)、附件(attachments)

3. 发件人信息,包含:发件人账号,密码(授权码)

4. 发送邮件,包含:收件人地址,邮件内容

5. 群发邮件,收件人地址写在一个列表中,多个收件人以逗号分隔开

纯文字发送:

import zmail

#邮件内容,主题subject内容content_text,不能随意定义
msg = {
    'subject':'邮件主题:小姐姐的信息',
    'content_text':'身高172,大长腿,颜值高。。。'
}
#发件人,授权码
sender = ('123456798@qq.com','dfddfdfdfggrgrgc')
#收件人
reciver = '123456789@163.com'
#群发形式,这里列表不支持改成元组
#reciver = ['123465789@163.com','12345678@qq.com']
# 登录,索引值账号、密码
sender = zmail.server(sender[0],sender[1])#(*sender)也叫解包,自动填充
# 发送邮件,发动到哪个邮件,以及发送内容
sender.send_mail(reciver,msg)

需要值得注意的是,这里的操作很简单,msg是一个字典变量,我们自己设定的,但是 里面的键是不能够改变的,是这个库内部规定的,其他的变量名可以随意的取,这里的sender是你的账号加上授权码。

也可以进行群发哦,但是需要是列表形式的。

这里说一下授权码怎么弄,在你邮件中,找到设置按钮,点击后进入设置界面,再找到你的账户按钮,点击进入,一直下拉:

把这些服务全部打开:

点击生成授权码,按照操作来,发送短信,点击我已发送,就可以得到一串授权码, 记得自己收好哦。

html格式发送:

这里才是关键,上面的文字操作只能描述,给出html岂不是更骚!!!

# 方法一
comtent = '''
html内容
'''
# 方法二
with open('email_msg.html','r',encoding='utf-8') as e:
    comtent =  e.read()
#这里如果正文跟html都写,会被html格式内容跟所覆盖掉
msg = {
    'subject':'邮件主题:小姐姐的照片',
    'content_html':comtent,
}
#发件人
sender = ('123456798@qq.com','dfddfdfdfggrgrgc')
#收件人
reciver = '123456789@163.com'
#群发形式,这里列表不支持改成元组
#reciver = ['123465789@163.com','12345678@qq.com']
# 登录,索引值账号、密码
sender = zmail.server(sender[0],sender[1])#(*sender)也叫解包,自动填充
# 发送邮件,发动到哪个邮件,以及发送内容
sender.send_mail(reciver,msg)

这里小北给出了两种方法,第一种呢比较lw,还是用第二种吧,html形式的就不是很适合发送不得了的图片了,但是还有一种你绝对的想知道,那就是附件形式去发送,简单快捷,发完还可以清理磁盘,哈哈哈哈!!!

附件格式发送:

好兄弟话不多说,直接上代码:

#发送附件,附件(attachments),多个附件的话用列表形式
msg = {
    'subject':'邮件主题:你好',
    'content_text':'附件',
    'attachments':'1.png'
}
#'attachments':['1.png','test.make.txt']
#发件人
sender = ('123456798@qq.com','dfddfdfdfggrgrgc')
#收件人
reciver = '123456789@163.com'
#群发形式,这里列表不支持改成元组
#reciver = ['123465789@163.com','12345678@qq.com']
# 登录,索引值账号、密码
sender = zmail.server(sende[0],sende[1])#(*sender)也叫解包,自动填充
# 发送邮件,发动到哪个邮件,以及发送内容
sender.send_mail(reciver,msg)

这里小北是随意上了一张图片哈,别多想,附件的键是固定的别瞎改就好,也别多想我到底发送了啥,自己学号了拿去用就好了,别多说,直接干狠事。

接下来正经人学的东西了,不正经的就此打住吧!!!

封装

我们不想每次都来重新写这些代码,那么我们就封装一下,需要的时候直接导入类调用使用就好了。

class Email_file():
    # 主题,正文,附件,初始化对应的属性,床送多个附件就必须要*attachments
    def __init__(self,subject,content_text,attachments):
        self.subject = subject
        self.content_text = content_text
        self.attachments = attachments
        #传送多个附件,转成列表形式
        #self.attachments = list(attachments)
        self.msg= {
            'subject':self.subject,
            'content_text':self.content_text,
            'attachments':self.attachments,
        }
    def send_email(self,*sender_more,**romve_more):
        #单个发件人,多个发件人
        #self.sender = '1104282189@qq.com'
        self.sender = sender_more
        #收件人
        # self.remove = '1104282189@qq.com'
        #多个收件人
        self.list_remove = []
        #把字典值存入列表中
        for i in romve_more.values():
            self.list_remove.append(i)

        #登录操作
        self.get_email = zmail.server(*self.sender)
        #发送
        self.get_email.send_mail(self.sender,self.msg)
m = Email_file('邮件主题:你好','邮件正文内容:你好!','email_msg.html')
#传值,多个发件人,多个收件人
m.send_email('123456789@qq.com','qokdghjdgjdkejye',user1='123456789@163.com',user2='123456789@qq.com')

看到了嘛,拿走了嘛,给个双击吧。



版权声明:本文为weixin_52040868原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。