![](/img/trans.png)
[英]Send Email with attachment file (more than 10 MB) using GMAIL API in Javascript
[英]JavaScript - Gmail API - Send email with attachment
我已經搜索了好幾個星期了。 an attachment. 我只希望能夠發送附件的電子郵件。
我已經能夠發送電子郵件,文本和HTML。
我可以將文檔上傳到Google驅動器。
我以為知道這兩件事將使我達到最終目標,但我終生無法通過gmail api發送附件。
這個問題可能已經在堆棧溢出中了,但是我還沒有看到任何以javascript作為語言的帖子。 而那些沒有解決發送帶有附件的電子郵件。
我不在乎是通過cors還是通過gapi.client,我只需要它即可工作。
任何指針,不勝感激。
這是我到目前為止所取得的成就。 我正在使用gapi
客戶端庫。
因此,首先您必須正確構造電子郵件,這是我的工作示例,請注意,在任何部分之間都必須有一個空行。 您可以將所有部分添加到數組中,並使用your_array.join('\\r\\n')
構造電子郵件。
Content-Type: multipart/mixed; boundary="your_boundary"
MIME-Version: 1.0
From: person1@gmail.com
To: person2@gmail.com
Subject: Test
Reply-To: person1@gmail.com
Date: Wed Jan 04 2017 10:47:11 GMT-0500 (EST)
--your_boundary
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
<p>Boundary, multi attachs<br />
<em><strong>--<br />
With Regards</strong></em></p>
--your_boundary
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="sort_asc.png"
YOUR_BASE64_ENCODED_DATA
--your_boundary
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="sort_both.png"
YOUR_BASE64_ENCODED_DATA
--your_boundary
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="sort_desc.png"
YOUR_BASE64_ENCODED_DATA
--your_boundary--
然后,我使用gapi的客戶端發送電子郵件; sendMessage
是gapi的在線文檔提供的功能。 發送電子郵件之前,需要對Base64URL進行編碼。 我從這里獲得了編碼庫: https : //www.npmjs.com/package/js-base64
sendMessage = function(userId, email, callback) {
var request = gapi.client.gmail.users.messages.send({
'userId': userId,
'resource': {
'raw': email
}
});
request.execute(callback);
}
sendMessage('me', Base64.encodeURI(email), function(resp) {
if(resp.labelIds && resp.labelIds.indexOf('SENT') > -1) {
console.log('Your email has been sent.');
}else {
console.log('Something went wrong');
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.