【发布时间】:2018-10-09 02:04:14
【问题描述】:
我正在尝试通过适用于 Android 的 Amazon SES 发送带有附件的电子邮件。该文档建议我发送原始电子邮件,但此文档适用于适用于 Java 的 AWS 开发工具包,但不适用于 Android AWS 开发工具包。当我尝试使用 Android AWS SDK 发送原始电子邮件时收到此错误消息:
com.amazonaws.AmazonServiceException: Could not find operation SendRawEmail for version 2010-12-01
我使用 MimeMessage 制作消息,在此代码中设置为可变消息:
public void sendEmail() {
try {
AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);
AmazonSimpleEmailServiceClient sesClient = new AmazonSimpleEmailServiceClient(credentials);
sesClient.setEndpoint("https://sns.us-west-2.amazonaws.com");
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
message.writeTo(outputStream);
RawMessage rawMessage =
new RawMessage(ByteBuffer.wrap(outputStream.toByteArray()));
SendRawEmailRequest rawEmailRequest =
new SendRawEmailRequest(rawMessage);
sesClient.sendRawEmail(rawEmailRequest);
System.out.println("Email sent!");
} catch (Exception ex) {
System.out.println("Email Failed");
System.err.println("Error message: " + ex.getMessage());
ex.printStackTrace();
}
【问题讨论】:
-
您正在尝试设置 SNS 端点(简单通知服务)以使用 SES(简单电子邮件服务):sesClient.setEndpoint("sns.us-west-2.amazonaws.com"); 有这样做的理由吗?跨度>
-
好收获。这就是问题所在,我应该使用 sesClient.setEndpoint("email.us-west-2.amazonaws.com");。谢谢!
-
太棒了!现在可以用了吗?
-
@Karthikeyan 是的,它是:)
标签: java android amazon-web-services email-attachments amazon-ses