簡體   English   中英

如何從 Google AppScript 通過 AWS SES 發送 email

[英]How to send email via AWS SES from Google AppScript

我有一個 AWS SES 用戶憑證,我想通過 Google AppScript 中的這個用戶發送一個帶有附加 pdf 的 email。 不幸的是,用於 nodejs 的 AWS SDK 在 AppScript 中不起作用,這讓我有兩個選擇。

  1. 使用 SMTP 接口
  2. 使用REST API發出直接 HTTP 請求

我找不到從 AppScript 發送 SMTP 請求的方法,它只留下選項 2。但是我找不到任何實現此選項的代碼示例。 SendMail操作描述了請求,但沒有可以放入附件的字段。 這是否意味着我必須使用 RAW 類型並創建 MIME 格式的 email 才能添加附件?

我也不明白所需的參數,如何從我擁有的 SES 用戶創建簽名等等,我什至需要 AWS 憑證嗎?

我很迷茫,非常感謝任何幫助。

不幸的是,沒有簡單的方法可以做到這一點。 兩種選擇:

1. 創建您自己的 AWS 庫

為此,正如您所提到的,您需要使用 REST API 並創建一些函數來調用它。 您可以使用 JavaScript 並且可以使用 clasp 將其部署在您的Apsp腳本項目中

在這個線程上,一些用戶已經能夠使用其他AWS 服務做到這一點

2.使用驅動API

如果您需要 Apps 腳本,因為您需要處理 Google Drive 文件並通過 email 發送。 最好使用帶有Node JSDrive API並從本地環境發送電子郵件。

這是我實現這一目標的方法:

  1. AWS \ 隱私
  2. AWS \ 角色
  3. AWS\Lambda Function
  4. AWS \ 添加觸發器 => API Getaway
  5. AWS \ API 逍遙游
  6. 應用腳本

此處描述了所有步驟:

Medium\send-emails-with-amazon-aws-ses-from-google-scripts

Lambda 的示例代碼:

var aws = require("aws-sdk");
var ses = new aws.SES({ region: "eu-west-2" });
exports.handler = async function (event) {
  var params = {
    Destination: {
      ToAddresses: [event.email_to],
    },
    Message: {
      Body: {
        Html: { Data: event.body }, 
      },
    Subject: { Data: event.subject },
    },
    Source: event.email_from,
  };
 
  return ses.sendEmail(params).promise()
};

Apps-Script 的示例代碼:

function test_send_ses() {
  var options = {
    method: 'post', 
    payload : JSON.stringify({
      // 👉change
      email_to: "YOUREMAIL@gmail.com",
      body: '<p>Hello from <i>Amazon</i>!</p>',
      subject: 'test mail from Amazon',
      // 👉change
      email_from: 'YOUREMAIL@gmail.com'
    }),
    contentType: 'application/json',
    muteHttpExceptions: true
  };
// 👉👉👉change to your url
  var path = 'YOUR_URL_GOES_HERE';
  var result = UrlFetchApp.fetch(path, options)
  Logger.log(result.getResponseCode()); // ➝ 200
  Logger.log(result.getContentText());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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