用Python实现带附件发送邮件的功能

在Linux系统中,可以用mail命令来发送邮件,但带附件发送时,总是报附件过大的错误。在不知道如何配置Linux邮件的情况下,我选择了用Python来实现发送带附件的邮件。

import smtplib

from email.mime.multipart import MIMEMultipart

from email.mime.text import MIMEText

from email.mime.application import MIMEApplication

mail_host="smtp.exmail.qq.com"  #设置服务器

mail_user="#填写用户名"    #用户名

mail_pass="#用户名对应的密码"   #口令

mail_postfix="#发件箱的后缀"  #发件箱的后缀

#定义发送邮件的收件人,邮件标题,邮件内容,附件

def send_mail(to_list,sub,content,files):

msg = MIMEMultipart(_subtype=‘plain‘,_charset=‘utf-8‘)

msg[‘Subject‘] = sub

msg[‘From‘] = mail_user

msg[‘To‘] = ";".join(to_list)

part=MIMEText(content,_subtype=‘plain‘,_charset=‘utf-8‘)

msg.attach(part)

for file_name in files:

part = MIMEApplication(open(file_name,‘rb‘).read())

part.add_header(‘Content-Disposition‘, ‘attachment‘, filename=file_name)

msg.attach(part)

server = smtplib.SMTP()

server.connect(mail_host)

server.login(mail_user,mail_pass)

server.sendmail(mail_user, to_list, msg.as_string())

server.close()

return True

mailto_list=[‘收件人1‘,‘收件人2‘]

files=[‘file_name‘,......]

send_mail(mailto_list,"邮件标题","邮件正文",files)

时间: 2024-08-01 09:41:02

用Python实现带附件发送邮件的功能的相关文章

Python发送带附件的SMTP邮件

利用python的email模块可以很方便的发送邮件,你甚至可以在邮件中附上附件!前提是你的邮箱开启了SMTP服务(一般都开启了,如果没有开启,可以到你的邮箱中进行设置),你可以把收件人和发件人都写成一个邮箱来进行测试,这样就是自己给自己发邮件. #coding: utf-8 import smtplib from email.mime.multipart import MIMEMultipart#python2.4及之前版本该模块不是这样调用的,而是email.MIMEMultipart.MI

[PHP]使用PHPMailer发送带附件并支持HTML内容的邮件

来源:http://www.helloweba.com/view-blog-205.html PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及可以添加附件发送,并不像PHP本身mail()函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件发送功能. 查看演示  下载源码 本文将结合实例代码,讲解如何设置和实现发送HTML以及带附件的邮件功能.首先,您可以到PHPMailer(code.google.com)或PHPMailer(直接下载文件

Python发送邮件(带附件)

import smtplib                           #发送邮件模块 from email.mime.text import MIMEText    #定义邮件内容 from email.mime.multipart import MIMEMultipart  #用于传送附件 #发送邮箱服务器 smtpserver='smtp.163.com' #发送邮箱用户名密码 user='[email protected]' password='*******' #发送和接收邮

Java发送邮件(带附件)

实现java发送邮件的过程大体有以下几步: 准备一个properties文件,该文件中存放SMTP服务器地址等参数. 利用properties创建一个Session对象 利用Session创建Message对象,然后设置邮件主题和正文 利用Transport对象发送邮件 需要的jar有2个:activation.jar和mail.jar 直接看个demo代码 #----------------这两个是构建session必须的字段----------#smtp服务器mail.smtp.host=s

python实现邮件发送完整代码(带附件发送方式)

实例一:利用SMTP与EMAIL实现邮件发送,带附件(完整代码) __author__ = 'Administrator'#coding=gb2312 from email.Header import Headerfrom email.MIMEText import MIMETextfrom email.MIMEMultipart import MIMEMultipartimport smtplib, datetime def SendMailAttach(): msg = MIMEMultip

centos 使用mutt发送邮件带附件

1.安装mutt工具 yum install -y mutt 2.使用mutt发邮件并带附件echo "统计日志" | /usr/bin/mutt -s "统计日志" -a /data/openRoom/openRoom.log -- "[email protected]" -c "[email protected]"注解:echo "统计日志" :邮件正文-s "统计日志" : 邮件主

Python SMTP 发送带附件电子邮件

起始于对现有工作的内容进行部分重复工作的释放,花费了两周的时间调试了完全可能自己吼得住看得懂能实现目标的代码,如标题所说,本代码主要用户带附件的电子邮件的发送:对于代码大家只需要修改下文件路径,邮箱地址即可运行,我这边主要是结合navicat数据导出之后+此发送邮件的代码,做成定时任务,让程序每天按时执行,大家就不需要再每天去导数据了,让程序来完成即可,不是有句话怎么说来着:懒人自动化 人越懒才会去想着怎么去做成自动化 安于现状的往往不会有很多的想法说了这么多废话,直接给大家看下面的代码:# e

Oracle发送邮件带附件

这两天一直在弄oracle发送邮件的事情,在网上找了一堆代码,但是需要按照银行政策调整.以下说说具体实现过程:先贴过程: 1 CREATE OR REPLACE PROCEDURE SMT_SEND_MAIL(P_TXT VARCHAR2, 2 P_SUB VARCHAR2, 3 P_SENDOR VARCHAR2, 4 P_RECEIVER VARCHAR2, 5 P_SERVER VARCHAR2, 6 P_PORT NUMBER DEFAULT 25, 7 P_NEED_SMTP INT

Kettle实现邮件发送并带附件功能

概述:数据抽取项目中,要求统计的数据报表定时发送报表.在网上搜了很多,没有发现比较好的文章.特做下笔记. 实现: 1.总体作业JOB截图 流程:设置导出的Excel文件名变量,导出Excel,并将导出的Excel以附件形式发送到指定邮箱. 其实实现邮件带附件 主要是组件是: 2.邮件设置(采用的是腾讯邮箱) 2-1:地址设置 2-2:服务器设置 2-3:邮件消息设置 2-4:附件设置(对于带附加发送的,这里设置比较重要) 到这里为止,kettle发送带附件的邮件作业已经开发完毕