Веб-клиент для чтения писем из корзины Amazon S3

Я настроил Amazon SES для пересылки всех входящих писем в корзину S3. Теперь я бы хотел прочитать их с помощью почтового клиента. Я видел библиотеку javascript http://emailjs.org/, которая выглядит многообещающей, но мне все равно придется создать какое-то HTML-приложение. Какие у меня есть варианты чтения электронной почты в S3 из веб-браузера или автономного почтового клиента для настольных ПК? Электронные письма сохраняются в формате необработанного текста MIME в S3.


person TooSerious    schedule 17.07.2016    source источник


Ответы (1)


На странице AWS JS SDK есть несколько отличных примеров браузера JavaScript: Примеры в браузере. В «Базовом примере использования» показано, как составить список объектов в корзине:

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

Главное, о чем вам нужно подумать, это безопасность, если ваша корзина не является общедоступной, вам понадобится какая-то серверная служба, чтобы предоставить клиенту подписанный ключ для выполнения операций, посмотрите getSignedUrl для этого. Один из подходов к созданию этой службы - создать простую лямбда-функцию, которая может проверять аутентификацию и предоставлять подписанные ключи.

person Karl Laurentius Roos    schedule 18.07.2016
comment
Спасибо! Вы предоставили отличные ресурсы для начала. Я надеялся, что сборная библиотека заработает, но создание ее самому будет хорошим упражнением. - person TooSerious; 19.07.2016
comment
@TooSerious Вы когда-нибудь пытались создать эту библиотеку? Я бы с удовольствием им воспользовался. - person CamHart; 28.03.2017