SESExemplos da Amazon usando SDK para Java 2.x - AWS SDKExemplos de código

Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

SESExemplos da Amazon usando SDK para Java 2.x

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS SDK for Java 2.x com a AmazonSES.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, é possível ver as ações no contexto em seus cenários relacionados.

Os cenários são exemplos de código que mostram como realizar tarefas específicas chamando várias funções dentro de um serviço ou combinadas com outros Serviços da AWS.

Cada exemplo inclui um link para o código-fonte completo, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.

Ações

O código de exemplo a seguir mostra como usar ListIdentities.

SDKpara Java 2.x
nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ses.SesClient; import software.amazon.awssdk.services.ses.model.ListIdentitiesResponse; import software.amazon.awssdk.services.ses.model.SesException; import java.io.IOException; import java.util.List; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class ListIdentities { public static void main(String[] args) throws IOException { Region region = Region.US_WEST_2; SesClient client = SesClient.builder() .region(region) .build(); listSESIdentities(client); } public static void listSESIdentities(SesClient client) { try { ListIdentitiesResponse identitiesResponse = client.listIdentities(); List<String> identities = identitiesResponse.identities(); for (String identity : identities) { System.out.println("The identity is " + identity); } } catch (SesException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
  • Para API obter detalhes, consulte ListIdentitiesem AWS SDK for Java 2.x APIReferência.

O código de exemplo a seguir mostra como usar ListTemplates.

SDKpara Java 2.x
nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sesv2.SesV2Client; import software.amazon.awssdk.services.sesv2.model.ListEmailTemplatesRequest; import software.amazon.awssdk.services.sesv2.model.ListEmailTemplatesResponse; import software.amazon.awssdk.services.sesv2.model.SesV2Exception; public class ListTemplates { public static void main(String[] args) { Region region = Region.US_EAST_1; SesV2Client sesv2Client = SesV2Client.builder() .region(region) .build(); listAllTemplates(sesv2Client); } public static void listAllTemplates(SesV2Client sesv2Client) { try { ListEmailTemplatesRequest templatesRequest = ListEmailTemplatesRequest.builder() .pageSize(1) .build(); ListEmailTemplatesResponse response = sesv2Client.listEmailTemplates(templatesRequest); response.templatesMetadata() .forEach(template -> System.out.println("Template name: " + template.templateName())); } catch (SesV2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
  • Para API obter detalhes, consulte ListTemplatesem AWS SDK for Java 2.x APIReferência.

O código de exemplo a seguir mostra como usar SendEmail.

SDKpara Java 2.x
nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ses.SesClient; import software.amazon.awssdk.services.ses.model.Content; import software.amazon.awssdk.services.ses.model.Destination; import software.amazon.awssdk.services.ses.model.Message; import software.amazon.awssdk.services.ses.model.Body; import software.amazon.awssdk.services.ses.model.SendEmailRequest; import software.amazon.awssdk.services.ses.model.SesException; import javax.mail.MessagingException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class SendMessageEmailRequest { public static void main(String[] args) { final String usage = """ Usage: <sender> <recipient> <subject>\s Where: sender - An email address that represents the sender.\s recipient - An email address that represents the recipient.\s subject - The subject line.\s """; if (args.length != 3) { System.out.println(usage); System.exit(1); } String sender = args[0]; String recipient = args[1]; String subject = args[2]; Region region = Region.US_EAST_1; SesClient client = SesClient.builder() .region(region) .build(); // The HTML body of the email. String bodyHTML = "<html>" + "<head></head>" + "<body>" + "<h1>Hello!</h1>" + "<p> See the list of customers.</p>" + "</body>" + "</html>"; try { send(client, sender, recipient, subject, bodyHTML); client.close(); System.out.println("Done"); } catch (MessagingException e) { e.getStackTrace(); } } public static void send(SesClient client, String sender, String recipient, String subject, String bodyHTML) throws MessagingException { Destination destination = Destination.builder() .toAddresses(recipient) .build(); Content content = Content.builder() .data(bodyHTML) .build(); Content sub = Content.builder() .data(subject) .build(); Body body = Body.builder() .html(content) .build(); Message msg = Message.builder() .subject(sub) .body(body) .build(); SendEmailRequest emailRequest = SendEmailRequest.builder() .destination(destination) .message(msg) .source(sender) .build(); try { System.out.println("Attempting to send an email through Amazon SES " + "using the AWS SDK for Java..."); client.sendEmail(emailRequest); } catch (SesException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } } import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ses.SesClient; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeBodyPart; import javax.mail.util.ByteArrayDataSource; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.file.Files; import java.util.Properties; import software.amazon.awssdk.core.SdkBytes; import software.amazon.awssdk.services.ses.model.SendRawEmailRequest; import software.amazon.awssdk.services.ses.model.RawMessage; import software.amazon.awssdk.services.ses.model.SesException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class SendMessageAttachment { public static void main(String[] args) throws IOException { final String usage = """ Usage: <sender> <recipient> <subject> <fileLocation>\s Where: sender - An email address that represents the sender.\s recipient - An email address that represents the recipient.\s subject - The subject line.\s fileLocation - The location of a Microsoft Excel file to use as an attachment (C:/AWS/customers.xls).\s """; if (args.length != 4) { System.out.println(usage); System.exit(1); } String sender = args[0]; String recipient = args[1]; String subject = args[2]; String fileLocation = args[3]; // The email body for recipients with non-HTML email clients. String bodyText = "Hello,\r\n" + "Please see the attached file for a list " + "of customers to contact."; // The HTML body of the email. String bodyHTML = "<html>" + "<head></head>" + "<body>" + "<h1>Hello!</h1>" + "<p>Please see the attached file for a " + "list of customers to contact.</p>" + "</body>" + "</html>"; Region region = Region.US_WEST_2; SesClient client = SesClient.builder() .region(region) .build(); try { sendemailAttachment(client, sender, recipient, subject, bodyText, bodyHTML, fileLocation); client.close(); System.out.println("Done"); } catch (IOException | MessagingException e) { e.getStackTrace(); } } public static void sendemailAttachment(SesClient client, String sender, String recipient, String subject, String bodyText, String bodyHTML, String fileLocation) throws AddressException, MessagingException, IOException { java.io.File theFile = new java.io.File(fileLocation); byte[] fileContent = Files.readAllBytes(theFile.toPath()); Session session = Session.getDefaultInstance(new Properties()); // Create a new MimeMessage object. MimeMessage message = new MimeMessage(session); // Add subject, from and to lines. message.setSubject(subject, "UTF-8"); message.setFrom(new InternetAddress(sender)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipient)); // Create a multipart/alternative child container. MimeMultipart msgBody = new MimeMultipart("alternative"); // Create a wrapper for the HTML and text parts. MimeBodyPart wrap = new MimeBodyPart(); // Define the text part. MimeBodyPart textPart = new MimeBodyPart(); textPart.setContent(bodyText, "text/plain; charset=UTF-8"); // Define the HTML part. MimeBodyPart htmlPart = new MimeBodyPart(); htmlPart.setContent(bodyHTML, "text/html; charset=UTF-8"); // Add the text and HTML parts to the child container. msgBody.addBodyPart(textPart); msgBody.addBodyPart(htmlPart); // Add the child container to the wrapper object. wrap.setContent(msgBody); // Create a multipart/mixed parent container. MimeMultipart msg = new MimeMultipart("mixed"); // Add the parent container to the message. message.setContent(msg); msg.addBodyPart(wrap); // Define the attachment. MimeBodyPart att = new MimeBodyPart(); DataSource fds = new ByteArrayDataSource(fileContent, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); att.setDataHandler(new DataHandler(fds)); String reportName = "WorkReport.xls"; att.setFileName(reportName); // Add the attachment to the message. msg.addBodyPart(att); try { System.out.println("Attempting to send an email through Amazon SES " + "using the AWS SDK for Java..."); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); message.writeTo(outputStream); ByteBuffer buf = ByteBuffer.wrap(outputStream.toByteArray()); byte[] arr = new byte[buf.remaining()]; buf.get(arr); SdkBytes data = SdkBytes.fromByteArray(arr); RawMessage rawMessage = RawMessage.builder() .data(data) .build(); SendRawEmailRequest rawEmailRequest = SendRawEmailRequest.builder() .rawMessage(rawMessage) .build(); client.sendRawEmail(rawEmailRequest); } catch (SesException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } System.out.println("Email sent using SesClient with attachment"); } }
  • Para API obter detalhes, consulte SendEmailem AWS SDK for Java 2.x APIReferência.

O código de exemplo a seguir mostra como usar SendTemplatedEmail.

SDKpara Java 2.x
nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sesv2.model.Destination; import software.amazon.awssdk.services.sesv2.model.EmailContent; import software.amazon.awssdk.services.sesv2.model.SendEmailRequest; import software.amazon.awssdk.services.sesv2.model.SesV2Exception; import software.amazon.awssdk.services.sesv2.SesV2Client; import software.amazon.awssdk.services.sesv2.model.Template; /** * Before running this AWS SDK for Java (v2) example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html * * Also, make sure that you create a template. See the following documentation * topic: * * https://docs.aws.amazon.com/ses/latest/dg/send-personalized-email-api.html */ public class SendEmailTemplate { public static void main(String[] args) { final String usage = """ Usage: <template> <sender> <recipient>\s Where: template - The name of the email template. sender - An email address that represents the sender.\s recipient - An email address that represents the recipient.\s """; if (args.length != 3) { System.out.println(usage); System.exit(1); } String templateName = args[0]; String sender = args[1]; String recipient = args[2]; Region region = Region.US_EAST_1; SesV2Client sesv2Client = SesV2Client.builder() .region(region) .build(); send(sesv2Client, sender, recipient, templateName); } public static void send(SesV2Client client, String sender, String recipient, String templateName) { Destination destination = Destination.builder() .toAddresses(recipient) .build(); /* * Specify both name and favorite animal (favoriteanimal) in your code when * defining the Template object. * If you don't specify all the variables in the template, Amazon SES doesn't * send the email. */ Template myTemplate = Template.builder() .templateName(templateName) .templateData("{\n" + " \"name\": \"Jason\"\n," + " \"favoriteanimal\": \"Cat\"\n" + "}") .build(); EmailContent emailContent = EmailContent.builder() .template(myTemplate) .build(); SendEmailRequest emailRequest = SendEmailRequest.builder() .destination(destination) .content(emailContent) .fromEmailAddress(sender) .build(); try { System.out.println("Attempting to send an email based on a template using the AWS SDK for Java (v2)..."); client.sendEmail(emailRequest); System.out.println("email based on a template was sent"); } catch (SesV2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
  • Para API obter detalhes, consulte SendTemplatedEmailem AWS SDK for Java 2.x APIReferência.

Cenários

O exemplo de código a seguir mostra como criar uma aplicação web que rastreia itens de trabalho em uma tabela do Amazon DynamoDB e usa o Amazon Simple Email Service (SESAmazon) para enviar relatórios.

SDKpara Java 2.x

Mostra como usar o Amazon API DynamoDB para criar um aplicativo web dinâmico que rastreia os dados de trabalho do DynamoDB.

Para obter o código-fonte completo e instruções sobre como configurar e executar, veja o exemplo completo em GitHub.

Serviços usados neste exemplo
  • DynamoDB

  • Amazon SES

O exemplo de código a seguir mostra como criar uma aplicação web que rastreia e relata itens de trabalho usando um banco de dados do Amazon Redshift.

SDKpara Java 2.x

Mostra como criar uma aplicação Web que rastreia e gera relatórios sobre itens de trabalho armazenados em um banco de dados do Amazon Redshift.

Para obter o código-fonte completo e instruções sobre como configurar um Spring REST API que consulta dados do Amazon Redshift e para uso por um aplicativo React, veja o exemplo completo em. GitHub

Serviços utilizados neste exemplo
  • Amazon Redshift

  • Amazon SES

O exemplo de código a seguir mostra como criar um aplicativo web que rastreia itens de trabalho em um banco de dados Amazon Aurora Serverless e usa o Amazon Simple Email Service (AmazonSES) para enviar relatórios.

SDKpara Java 2.x

Mostra como criar um aplicativo web que rastreia e relata itens de trabalho armazenados em um RDS banco de dados da Amazon.

Para obter o código-fonte completo e instruções sobre como configurar um Spring REST API que consulta dados do Amazon Aurora Serverless e para uso por um aplicativo React, veja o exemplo completo em. GitHub

Para obter o código-fonte completo e instruções sobre como configurar e executar um exemplo que usa o JDBCAPI, consulte o exemplo completo em GitHub.

Serviços utilizados neste exemplo
  • Aurora

  • Amazon RDS

  • Amazon RDS Data Service

  • Amazon SES

O exemplo de código a seguir mostra como criar um aplicativo que usa o Amazon Rekognition para detectar equipamentos de proteção individual () em imagens. PPE

SDKpara Java 2.x

Mostra como criar uma AWS Lambda função que detecta imagens com equipamento de proteção individual.

Para obter o código-fonte completo e instruções sobre como configurar e executar, veja o exemplo completo em GitHub.

Serviços usados neste exemplo
  • DynamoDB

  • Amazon Rekognition

  • Amazon S3

  • Amazon SES

O exemplo de código a seguir mostra como criar um aplicativo que usa o Amazon Rekognition para detectar objetos por categoria em imagens.

SDKpara Java 2.x

Mostra como usar o Amazon Rekognition Java para criar um aplicativo que usa o Amazon API Rekognition para identificar objetos por categoria em imagens localizadas em um bucket do Amazon Simple Storage Service (Amazon S3). O aplicativo envia ao administrador uma notificação por e-mail com os resultados usando o Amazon Simple Email Service (AmazonSES).

Para obter o código-fonte completo e instruções sobre como configurar e executar, veja o exemplo completo em GitHub.

Serviços utilizados neste exemplo
  • Amazon Rekognition

  • Amazon S3

  • Amazon SES

O exemplo de código a seguir mostra como criar uma máquina de AWS Step Functions estado que invoca AWS Lambda funções em sequência.

SDKpara Java 2.x

Mostra como criar um fluxo de trabalho AWS sem servidor usando AWS Step Functions e. AWS SDK for Java 2.x Cada etapa do fluxo de trabalho é implementada usando uma AWS Lambda função.

Para obter o código-fonte completo e instruções sobre como configurar e executar, veja o exemplo completo em GitHub.

Serviços usados neste exemplo
  • DynamoDB

  • Lambda

  • Amazon SES

  • Step Functions