Web 客户端从 Amazon S3 存储桶中读取电子邮件

Web Client to read emails from Amazon S3 bucket

我已将 Amazon SES 设置为将所有传入电子邮件转发到 S3 存储桶。现在我想用电子邮件客户端阅读它们。我看过 javascript 库 http://emailjs.org/,它看起来很有前途,但我仍然需要创建某种 HTML 网络应用程序。从 Web 浏览器或独立桌面电子邮件客户端读取 S3 中的电子邮件有哪些选项?电子邮件以原始文本 MIME 格式保存在 S3 中。

AWS JS SDK 页面上有一些很棒的 JavaScript 浏览器示例:Examples in the Browser。 "Basic Usage Example" 向您展示了如何列出存储桶中的对象:

<div id="status"></div>
<ul id="objects"></ul>

<script type="text/javascript">
  var bucket = new AWS.S3({params: {Bucket: 'myBucket'}});
  bucket.listObjects(function (err, data) {
    if (err) {
      document.getElementById('status').innerHTML =
        'Could not load objects from S3';
    } else {
      document.getElementById('status').innerHTML =
        'Loaded ' + data.Contents.length + ' items from S3';
      for (var i = 0; i < data.Contents.length; i++) {
        document.getElementById('objects').innerHTML +=
          '<li>' + data.Contents[i].Key + '</li>';
      }
    }
  });
</script>

这里您需要考虑的主要事情是安全性,除非您的存储桶是 public 您将需要某种后端服务来为客户端提供签名密钥来执行操作,请查看在 getSignedUrl 为此。构建此服务的一种方法是构建一个简单的 Lambda 函数,该函数可以验证身份验证并提供签名密钥。