Могу ли я добавить вложения в персонализированную электронную почту Amazon SES API? - PullRequest
1 голос
/ 19 июня 2019

Я не могу поместить вложений в встроенную электронную почту, персонализированную, с SES API.

и я не могу найти человека, который это сделал, поэтому мой вопрос: возможно ли это?

Что я сделал: Я уже создал шаблон электронной почты - используется API CreateTemplate. -Я уже выполнил операцию SendBulkTemplatedEmail со всеми ее потребностями, и она работала хорошо. отправка писем с использованием API. (без вложений);

Я видел в документах, что я могу помещать вложения в сырую электронную почту SES, но я не могу найти ничего, что говорило бы о персонализированных электронных письмах ...

почему я хочу персонализировать? Когда у меня есть 5 тысяч писем для доставки, и все разные, как имена ...

«Операция SendBulkTemplatedEmail полезна для отправки уникальных электронных писем нескольким получателям за один вызов API Amazon SES.»

поэтому я разделил эти 5 тысяч на группу 50, что является моим лимитом амазонки для ses, и отправил эту группу писем вместе (50 писем, отличающихся друг от друга). Вещи, как имя, и в моей конкретной проблеме, для различных вложений.

public void sendEmailAWS(List<Object> someList, String templateName) throws Exception {

        String remetente = "email...";
        String dataFormat = "{\"name\":\"%s\"}";

        AmazonSimpleEmailService ses = getSES();

        List<BulkEmailDestination> bulkEmailDestinations = new ArrayList<BulkEmailDestination>();
        for (Object obj : someList) {
            Destination destination = new Destination();
            List<String> toAddresses = new ArrayList<String>();
            toAddresses.add(obj.getEmail());
            destination.setToAddresses(toAddresses);
            BulkEmailDestination bulkEmailDestination = new BulkEmailDestination();
            bulkEmailDestination.setDestination(destination);
            bulkEmailDestination.setReplacementTemplateData(String.format(
                        dataFormat,
                        obj.getName()
                    );
            bulkEmailDestinations.add(bulkEmailDestination);
        }

        SendBulkTemplatedEmailRequest bulkTemplatedEmailRequest = new SendBulkTemplatedEmailRequest();
        bulkTemplatedEmailRequest.withDestinations(bulkEmailDestinations);
        bulkTemplatedEmailRequest.withTemplate(templateName);
        bulkTemplatedEmailRequest.withDefaultTemplateData(String.format(dataFormat, ""));
        bulkTemplatedEmailRequest.withSource(remetente);
        try {
            ses.sendBulkTemplatedEmail(bulkTemplatedEmailRequest);
        } catch(Exception e) {
            log = LoggerFactory.getLogger(e.getClass());
            log.error(e.getMessage(), e.getCause());
        }
    } 
    ```
...