- Guia do Quarkus: https://quarkus.io/guides/mailer
Este é um aplicativo mínimo que envia e-mails com o Gmail. Ele segue as instruções do guia de primeiros passos, mas também contém alguns exemplos extras para você seguir:
-
Você precisa gerar uma senha de aplicativo para usar o Gmail a partir do aplicativo. Siga estas instruções para criar a senha.
-
Você precisa do Java 11+.
-
Você precisa do GraalVM e do
native-image
instalados e configurados. Siga as instruções para baixar, instalar e configurar o GraalVM.
Inicie a compilação do Maven nas fontes verificadas desta demonstração:
> ./mvnw package
Gere o executável nativo usando:
> ./mvnw package -Dnative
O aplicativo contém testes que usaram o mailer mock para evitar o envio de e-mails reais durante os testes. O modo dev também usa este mailer mock.
O aplicativo usa GMAIL. Defina as seguintes propriedades do ambiente:
QUARKUS_MAILER_USERNAME
- seu endereço de e-mail do GoogleQUARKUS_MAILER_FROM
- seu endereço de e-mail do Google (ou alias)QUARKUS_MAILER_PASSWORD
- a senha do aplicativo gerada acima
Execute o aplicativo com:
> java -jar ./target/quarkus-app/quarkus-run.jar
Graças às propriedades do ambiente definidas acima, o aplicativo deve se autenticar no Gmail e enviar o e-mail.
Para enviar o e-mail, use o endpoint /mail
.
Antes de fazer isso:
- Altere o endereço de e-mail usado em
src/main/java/org/acme/MailResource.java
, para que você possa receber o e-mail - Se você deseja enviar um e-mail (e não apenas simular), adicione
quarkus.mailer.mock=false
ao arquivosrc/main/resources/application.properties
Em seguida, em um terminal, use
curl -v :8080/mail
Você também pode criar um executável nativo a partir deste aplicativo sem fazer nenhum alterações no código-fonte. Um executável nativo remove a dependência da JVM: tudo o que é necessário para executar o aplicativo na plataforma de destino está incluído no o executável, permitindo que o aplicativo seja executado com sobrecarga mínima de recursos.
A compilação de um executável nativo demora um pouco mais, pois o GraalVM executa
etapas para remover caminhos de código desnecessários. Use o perfil native
para compilar um
executável nativo:
> ./mvnw package -Dnative
Depois de tomar uma xícara de café, você poderá executar este executável diretamente:
> ./target/mailer-quickstart-1.0.0-SNAPSHOT-runner
Em seguida, envie um e-mail usando o mesmo comando curl.
Antes de executar as outras demos, não se esqueça de editar o código para usar seu endereço de e-mail.
- Código: using attachments
- Commando:
curl -v http://localhost:8080/extra/attachment
- Código: using template
- Template: template
- Commando:
curl -v http://localhost:8080/extra/template
- Código: using type safe template
- Template: template
- Commando:
curl -v http://localhost:8080/type-safe