我可以将附件放在个性化电子邮件Amazon SES API中吗?

时间:2019-06-19 20:42:21

标签: aws-sdk email-attachments amazon-ses

我无法将附件放入具有SES API个性化的大容量电子邮件中。

我找不到这样做的人,所以我的问题是:有可能吗?

我所做的: 我已经创建了一个电子邮件模板-使用了CreateTemplate API。 -我已经根据需要进行了SendBulkTemplatedEmail操作,并且运行良好。使用API​​发送电子邮件。 (无附件);

我在文档中看到可以将附件放在SES原始电子邮件中,但是我找不到关于个性化电子邮件的任何信息...

为什么要个性化? 当我有5封邮件要发送时,每封邮件都是不同的,例如姓名...

  

“ SendBulkTemplatedEmail操作对于通过一次调用Amazon SES API将唯一的电子邮件发送到多个目标很有用。”

所以我将这5000封邮件分成了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());
        }
    } 
    ```

0 个答案:

没有答案