Enviar emails de AEM as a Cloud Service configurando AEM DefaultMailService
para usar portas avançadas de saída de rede.
Como a maioria dos serviços de email não é executada por HTTP/HTTPS, as conexões com os serviços de email AEM as a Cloud Service devem ser enviadas por proxy.
smtp.host
é definida como a variável de ambiente OSGi $[env:AEM_PROXY_HOST;default=proxy.tunnel]
então é roteado através da saída.
$[env:AEM_PROXY_HOST]
é uma variável reservada que AEM mapas as a Cloud Service para o proxy.tunnel
host.AEM_PROXY_HOST
pelo Cloud Manager.smtp.port
é definido como portForward.portOrig
porta que mapeia para o host e a porta do serviço de email de destino. Este exemplo usa o mapeamento: AEM_PROXY_HOST:30002
→ smtp.sendgrid.com:465
.
smpt.port
é definido como portForward.portOrig
e NÃO a porta real do servidor SMTP. O mapeamento entre a smtp.port
e portForward.portOrig
A porta é estabelecida pelo Cloud Manager portForwards
(conforme demonstrado abaixo).Como os segredos não devem ser armazenados no código, o nome de usuário e a senha do serviço de email são melhor fornecidos usando variáveis de configuração secretas do OSGi, definido usando a AIO CLI ou a API do Cloud Manager.
Normalmente, saída de porta flexível é usada para satisfazer a integração com um serviço de email, a menos que seja necessário allowlist
o Adobe IP, caso em que endereço ip de saída dedicado pode ser usada.
O código de exemplo a seguir é suportado pelas seguintes opções avançadas de rede.
Verifique se a variável adequada a configuração avançada de rede foi configurada antes de seguir este tutorial.
Sem rede avançada | Saída flexível da porta | Endereço IP de saída dedicado | Rede privada virtual |
---|---|---|---|
✘ | ✔ | ✔ | ✔ |
Este exemplo de configuração OSGi configura AEM Serviço OSGi de Email para usar um serviço de email externo, por meio do seguinte Cloud Manager portForwards
regra do enableEnvironmentAdvancedNetworkingConfiguration operação.
...
"portForwards": [{
"name": "smtp.mymail.com",
"portDest": 465,
"portOrig": 30002
}]
...
ui.config/src/jcr_root/apps/wknd-examples/osgiconfig/config/com.day.cq.mailer.DefaultMailService.cfg.json
Configurar AEM DefaultMailService conforme exigido pelo seu provedor de email (por exemplo, smtp.ssl
, etc.).
{
"smtp.host": "$[env:AEM_PROXY_HOST;default=proxy.tunnel]",
"smtp.port": "30002",
"smtp.user": "$[env:EMAIL_USERNAME;default=myApiKey]",
"smtp.password": "$[secret:EMAIL_PASSWORD]",
"from.address": "noreply@wknd.site",
"smtp.ssl": true,
"smtp.starttls": false,
"smtp.requiretls": false,
"debug.email": false,
"oauth.flow": false
}
O EMAIL_USERNAME
e EMAIL_PASSWORD
A variável OSGi e o segredo podem ser definidos por ambiente, usando:
ou usando a aio CLI
comando
$ aio cloudmanager:set-environment-variables --programId=<PROGRAM_ID> <ENVIRONMENT_ID> --secret EMAIL_USERNAME "myApiKey" --secret EMAIL_PASSWORD "password123"