首页 > 解决方案 > 使用 Flutter 发送附件 gmail api

问题描述

我通过 gmail Api 管理发送电子邮件,但你能帮我如何发送附件吗?

var encodedSubject = base64Url.encode(utf8.encode(subject));
subject = '=?utf-8?B?$encodedSubject?=';
var content =
        '''Content-Type: text/html; charset=utf-8\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nto: ${recipients[0]}\nsender: $userId\nsubject: $subject\n\n$body''';
    var encodedJson =
        json.encode({'raw': base64Url.encode(utf8.encode(content))});

String url = 'https://www.googleapis.com/gmail/v1/users/' +
        userId +
        '/messages/send';

final http.Response response =
        await http.post(url, headers: header, body: encodedJson);

标签: fluttergmail-apiemail-attachments

解决方案


我强烈建议您查看API 文档,更具体地说,查看创建带有附件的消息的部分:

创建带有附件的消息就像创建任何其他消息一样,但是将文件作为多部分 MIME 消息上传的过程取决于编程语言。

还有一个完整的部分仅描述了上传附件的必要请求(没有库) ,根据您的文件或预期输出,您可以通过多种方式执行此操作。

此外,查看dart 中 mime multipart 处理的mime存储库可能会很有用。


推荐阅读