【问题标题】:AWS SES: How to get the response for an email request?AWS SES:如何获得电子邮件请求的响应?
【发布时间】:2022-11-26 06:10:32
【问题描述】:

我正在使用 AWS SDK for java 发送电子邮件。以下是我的代码 -

public void sendMessage(MimeMessage mimeMessage) throws MessagingException, IOException {
        // Sending the email.
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        mimeMessage.writeTo(outputStream);
        RawMessage rawMessage =
                new RawMessage(ByteBuffer.wrap(outputStream.toByteArray()));
        SendRawEmailRequest rawEmailRequest =
                new SendRawEmailRequest(rawMessage);
        SendRawEmailResult result = client.sendRawEmail(rawEmailRequest);
        log.info("Email sent!");
        log.debug("Email sent with message id: {}",result.getMessageId());
    }

现在我希望能够检查我的电子邮件是否已发送。我发现一些文档指出 SES 总是返回响应以及消息 ID,如果是这样,我如何从消息 ID 中提取响应?如果没有,那么还有哪些其他方式可以获得响应?

【问题讨论】:

    标签: java amazon-web-services amazon-ses


    【解决方案1】:

    试着抓。在 catch 块中进行错误处理。

    public void sendMessage(MimeMessage mimeMessage) throws MessagingException, IOException {
        // Sending the email.
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        mimeMessage.writeTo(outputStream);
        RawMessage rawMessage =
                new RawMessage(ByteBuffer.wrap(outputStream.toByteArray()));
        SendRawEmailRequest rawEmailRequest =
                new SendRawEmailRequest(rawMessage);
       
     try {
        SendRawEmailResult result = client.sendRawEmail(rawEmailRequest);
      } catch (Exception e) {
        // Handle error here
      }
    
    }
    

    【讨论】:

    【解决方案2】:

    在我看来,您缺少等待命令。

    我认为它应该是这样的:

    SendRawEmailResult result = await client.sendRawEmail(rawEmailRequest);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      • 1970-01-01
      • 2020-01-16
      • 2020-10-19
      • 2019-08-05
      • 2018-09-18
      相关资源
      最近更新 更多