当前位置: 首页 > 知识库问答 >
问题:

当调用gmail api发送带有附件的电子邮件(多部分)时,请求的主体是什么样子的?

公冶智刚
2023-03-14

Google留档举例如下:

POST/upload/gmail/v1/users/userId/messages/send?uploadType=多部分HTTP/1.1主机:www.googleapis。com授权:承载您的授权令牌内容类型:多部分/相关;边界=foo\u bar\u baz内容长度:整个请求体中的字节数

--foo_bar_baz内容类型:application/json;字符集=UTF-8

{"id": string,"threadId": string,"labelIds":[string],"smppet": string,"listyId":无符号long,"payload":{"partId": string,"mimeType": string,"filename": string,"Headers": [ { "name": string,"value":字符串 } ], "正文":users.messages.attachments资源,"部件":[(MessagePart) ] }, "size估计":整数,"原始": bytes}

--foo_bar_baz内容类型:消息/rfc822

电子邮件消息数据——foo_bar_baz——如果请求成功,服务器将返回HTTP 200 OK状态代码以及任何元数据:

HTTP/1.1 200内容类型:应用程序/json

{"id": string,"threadId": string,"labelIds":[string],"smppet": string,"listyId":无符号long,"payload":{"partId": string,"mimeType": string,"filename": string,"Headers": [ { "name": string,"value":字符串 } ], "正文":users.messages.attachments资源,"部件":[(MessagePart) ] }, "size估计":整数,"原始": bytes}

有人可以通过查看上面的示例来创建一个示例请求正文吗?我需要发送一封带有附件的电子邮件。

共有1个答案

郭恩
2023-03-14

基于SO相关的帖子,主体请求可以是这样的:

var mail = [
  'Content-Type: multipart/mixed; boundary="foo_bar_baz"\r\n',
  'MIME-Version: 1.0\r\n',
  'From: sender@gmail.com\r\n',
  'To: receiver@gmail.com\r\n',
  'Subject: Subject Text\r\n\r\n',

  '--foo_bar_baz\r\n',
  'Content-Type: text/plain; charset="UTF-8"\r\n',
  'MIME-Version: 1.0\r\n',
  'Content-Transfer-Encoding: 7bit\r\n\r\n',

  'The actual message text goes here\r\n\r\n',

  '--foo_bar_baz\r\n',
  'Content-Type: image/png\r\n',
  'MIME-Version: 1.0\r\n',
  'Content-Transfer-Encoding: base64\r\n',
  'Content-Disposition: attachment; filename="example.png"\r\n\r\n',

   pngData, '\r\n\r\n',

   '--foo_bar_baz--'
].join('');

    var response = UrlFetchApp.fetch(
        "https://www.googleapis.com/upload/gmail/v1/users/me/messages/send?uploadType=media", {
            method: "POST",
            headers: {
                "Authorization": "Bearer " + ScriptApp.getOAuthToken(),
                "Content-Type": "message/rfc822",
            },
            muteHttpExceptions: true,
            payload: mail
});

这里还有一个来自Amit Agarwal在Google Appscript中编写的数字灵感的示例代码。此示例演示如何使用Gmail API轻松发送带有文件附件的电子邮件。

 类似资料:
  • 问题内容: 我似乎找不到我编写的应该发送带有附件的电子邮件的php函数的问题。我已经为此苦苦挣扎了一段时间了。 编辑 问题是邮件的消息与文件混合在一起并作为附件发送。 问题答案: Artefacto让我更加关注输出,并且找到了解决方法:

  • 问题内容: 我正在尝试在带有附件的codeigniter上发送电子邮件。 我总是成功收到电子邮件。但是,我从未收到带有附件的文件。以下是代码,非常感谢所有评论。 问题答案: $ this- >电子邮件-> attach() 使您可以发送附件。将文件路径/名称放在第一个参数中。注意:使用文件路径,而不是URL。对于多个附件,请多次使用该功能。例如:

  • 问题内容: 如何使用Outlook 2010发送带有附件的电子邮件(本地文件或Intranet中的文件)? 似乎不起作用。 问题答案: 不,这根本不可能。协议中对此没有规定,如果可能的话,这将是一个巨大的安全漏洞。 发送文件但让客户端发送我能想到的电子邮件的最佳方法是: 让用户选择一个文件 将文件上传到服务器 上传后让服务器返回随机文件名 在消息正文中建立一个包含上载文件的URL 的链接

  • 我正在将Mailgun集成到我的iOS应用程序中,并尝试发送带有附件的电子邮件。电子邮件已发送,但附件似乎已被忽略。有什么想法吗?代码如下。我使用的是AFNetworking 2,我没有使用本机的Mailgun Objective-C SDK,因为它似乎没有得到维护。 我可以使用curl发送附件,例如:

  • 尝试发送带有pdf附件的电子邮件,尝试使用swickmailer,但没有成功,此代码使用zip但不使用PDF:( 邮件被发送罚款,我得到的邮件:但附件是不存在的,在meial有所有的bas64编码在电子邮件像: onatatent-Type: Application/octet-stream; name="media.pdf"Content-transver-Encode: base 64 Con

  • 问题内容: 前一段时间,我写了Python程序来处理电子邮件,经常遇到的一件事就是知道电子邮件是否是“多部分的”。 经过一番研究,我知道它与包含HTML或附件等的电子邮件有关…但是我并不太了解。 我对它的使用仅限于2个实例: 1.当我不得不从原始电子邮件中保存附件时 我刚刚在互联网上找到了它(可能是在这里-抱歉,您没有记下编写它的人,但是我似乎再也找不到他了:/),并将其粘贴到我的代码中 2.当我