簡體   English   中英

JavaScript-Gmail API-發送帶有附件的電子郵件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM