当前位置 : 主页 > 编程语言 > python >

企业邮箱使用python发邮件

来源:互联网 收集:自由互联 发布时间:2022-09-29
在服务器上分析一些数据,希望在数据分析完成时,我可以收到一个数据的分析结果邮件。所以在网上找到这段代码,在腾讯的企业邮箱上已经测试过,可以正常使用. 下边是发邮件的


在服务器上分析一些数据,希望在数据分析完成时,我可以收到一个数据的分析结果邮件。所以在网上找到这段代码,在腾讯的企业邮箱上已经测试过,可以正常使用.


下边是发邮件的相关代码:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Date : 2017-02-22 09:44:42



import datetime

import email

import smtplib

import os

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart



import DateTool



class MyEmail:

def __init__(self):

self.confilepth = 'mail.conf'

#你的邮件地址

#你的邮箱密码

#收件人列表

#抄送人列表

#邮件标题

#邮件附件

#我这里使用的是配制文件初始化上的上边参数

def initAccount(self):

f = open('mail.conf')

tmps = f.readlines()

f.close()

self.user = tmps[0]

self.passwd = tmps[1]

if len(tmps) > 2:

self.to_list = tmps[2].split(',')

if len(tmps) > 3:

self.cc_list = tmps[3].split(',')

def send(self,ttag,ttext):

'''''

发送邮件

'''

self.tag = ttag

try:

server = smtplib.SMTP_SSL("smtp.exmail.qq.com",port=465)

server.login(self.user,self.passwd)

server.sendmail(self.user, self.to_list, self.get_attach(ttext))

server.close()

print "send email successful"

except Exception,e:

ortstr = conventStrTOUtf8(str(e))

print ortstr

print "send email failed"

def get_attach(self,ttext):

'''''

构造邮件内容

'''

attach = MIMEMultipart()

#添加邮件内容

txt = MIMEText(ttext)

attach.attach(txt)

if self.tag is not None:

#主题,最上面的一行

attach["Subject"] = self.tag

if self.user is not None:

#显示在发件人

attach["From"] = "Mage<%s>"%self.user

if self.to_list:

#收件人列表

attach["To"] = ";".join(self.to_list)

if self.cc_list:

#抄送列表

attach["Cc"] = ";".join(self.cc_list)

if self.doc:

pass

#估计任何文件都可以用base64,比如rar等

#文件名汉字用gbk编码代替

# name = os.path.basename(self.doc).encode("gbk")

# f = open(self.doc,"rb")

# doc = MIMEText('填写邮件内容','plain','utf-8')

# doc["Content-Type"] = 'application/octet-stream'

# doc["Content-Disposition"] = 'attachment; filename="'+name+'"'

# attach.attach(doc)

# f.close()

return attach.as_string()



if __name__=="__main__":

my = MyEmail()

tag = "邮件标题"

my.send(tag,'发送的邮件文本内容')
网友评论