代码之家  ›  专栏  ›  技术社区  ›  TooSerious

Web客户端读取来自Amazon S3存储桶的电子邮件

  •  7
  • TooSerious  · 技术社区  · 8 年前

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

    1 回复  |  直到 8 年前
        1
  •  1
  •   Karl Laurentius Roos    8 年前

    AWS JS SDK页面上有一些很棒的JavaScript浏览器示例: Examples in the Browser 。“基本用法示例”展示了如何列出bucket中的对象:

    <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>
    

    这里您需要考虑的主要问题是安全性,除非您的bucket是公共的,否则您需要某种后端服务来为客户端提供签名密钥以执行操作,请看 getSignedUrl 为了这个。构建此服务的一种方法是构建一个简单的Lambda函数,该函数可以验证身份验证并提供签名密钥。