文档章节

Flask-mail 邮件带中文名称的附件

蓝桥书生
 蓝桥书生
发布于 2016/03/14 15:13
字数 244
阅读 233
收藏 1
  1. 前提代码编码格式为UTF-8 设置方式是在文件第一行或第二行# -- coding:utf-8 --

  2. MIME格式

        MIME_TYPE = {
        '.xls':  'application/vnd.ms-excel',
        '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
        '.txt':  'text/plain',
        '.pdf':  'application/pdf',
        '.doc':  'application/msword',
        '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
        '.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
        '.ppt':  'application/vnd.ms-powerpoint',
        '.rar':  'application/rar',
        '.zip':  'application/zip',
        '.tar':  'application/x-tar',
        '.gz':   'application/x-gzip'
    }

根据自身的需求到w3school(http://www.w3school.com.cn/media/media_mimeref.asp) 查找 office 2007之后的版本Excel、word、ppt有的差异

  1. 邮件服务器的配置参考flask-mail标准配置即可

  2. 发送邮件

from flask.ext.mail import Mail, Message
msg = Message(邮件标题,
                sender='发件人地址',
                recipients=['多个收件人地址']
            )
# 添加多个附件
for document in documents_path:
    # 文件的文件名
    file_name = os.path.basename(document)
    with current_app.open_resource(document) as fp:
        # file_name.encode("utf-8") 对文件名进行编码
        # current_app.config['MIME_TYPE'][os.path.splitext(file_name)[1]] 通过后缀名,获取MIME格式
        msg.attach(file_name.encode("utf-8"), current_app.config['MIME_TYPE'][os.path.splitext(file_name)[1]], fp.read())

    msg.body = 邮件正文
    # 发送邮件
    mail.send(msg)

© 著作权归作者所有

蓝桥书生
粉丝 11
博文 27
码字总数 24491
作品 0
南京
程序员
私信 提问
让phpmailer支持中文名称的附件和邮件标题中文乱码(转)

<?php phpmailer设置使用utf-8编码发送邮件以后,已经能够正常的发送中文邮件了,当然你调用时传进去的中文参数必须也是utf-8编码才行,但是我发现,即使这样,发送中文文件名的附件的时候,...

落枫眠
2012/06/04
0
0
Linux下使用mail命令发送邮件

因为需要经常备份网站的数据,所以了解并学习了下linux下如何通过shell来发送邮件,这里以CentOS为例,使用mail命令来进行外部邮件的发送。mail命令的语法如下: 使用mail命令发送邮件,有如...

老大做IT
2012/09/25
0
0
在 Laravel 5.1 中使用SMTP驱动实现邮件发送(含附件和图片)详细教程

1、 配置 文件 Laravel集成了SwiftMailer库进行邮件发送,邮件配置文件位于 : return ['driver' => env('MAIL_DRIVER', 'smtp'),'host' => env('MAIL_HOST', 'smtp.mailgun.org'),'port' =......

mdoo
2016/08/23
24
0
Powershell管理系列(三十四)PowerShell操作之Send-MailMessage

-----提供ADExchangeLyncSharepointCRMSCO365等微软产品实施及外包,QQ:185426445.电话18666943750 对于管理员来说需要经常测试线上系统的服务运行状态,powershell的send-mailmessage命令是...

zhou_ping
2016/10/11
0
0
《PHP发送邮件PHPMailer》系列分享专栏

《PHP发送邮件PHPMailer》已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/201726.html 文章 PHPMailer邮件类利用smtp.163.com发送邮件方法 PHPMailer安装方法及简...

开元中国2015
2018/11/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Redis缓存穿透、缓存雪崩和缓存击穿

Redis缓存穿透、缓存雪崩 缓存雪崩,是指在某一个时间段,缓存集中过期失效。 产生雪崩的原因之一,比如在写本文的时候,马上就要到双十二零点,很快就会迎来一波抢购,这波商品时间比较集中...

architect刘源源
15分钟前
1
1
ArrayList源码分析

一、核心变量 // 序列化ID private static final long serialVersionUID = 8683452581122892189L; // 默认初始化容量 private static final int DEFAULT_CAPACITY = 10; ......

星爵22
24分钟前
1
0
++a a++的再次理解

public class Test { //// public static void main(String[] args) throws InterruptedException { // TODO Auto-generated method stub int a=1; int b=2; int c; int d; c=......

南桥北木
24分钟前
0
0
整合Spring和SpringMVC

1.Spring容器和SpringMVC容器的关系 Spring容器是一个父容器,SpringMVC容器是一个子容器,它继承自Spring容器。因此,在SpringMVC容器中,可以访问到Spring容器中定义的Bean,而在Spring容器...

薛小二
25分钟前
0
0
递归实现后序遍历二叉树

问题描述 从键盘接受输入先序序列,以二叉链表作为存储结构,建立二叉树(以先序来建立)并对其进行后序遍历,然后将遍历结果打印输出。要求采用递归方法实现。 解题思路 递归实现 程序实现 ...

niithub
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部