Este tópico descreve como configurar notificações assíncronas. Esse recurso está disponível apenas para usuários que já o utilizaram anteriormente. Se você ainda não usou notificações assíncronas, utilize o novo recurso "Event Publishing" — Configurar distribuição de eventos.
Após o envio de uma solicitação de e-mail pelo servidor DirectMail, os resultados de entrega são encaminhados ao terminal receptor (HTTP, fila de mensagens ou tópico) do serviço de mensagens, conforme as regras de notificação de eventos definidas no Message Service. É possível obter esses resultados de forma assíncrona por meio dos terminais receptores do Message Service.
Para configurar notificações assíncronas, ative primeiro o Message Service. O uso desse serviço pode gerar custos adicionais.
A configuração exige a criação de regras de notificação de eventos no console do Message Service e, em seguida, a criação das notificações assíncronas no console do DirectMail. Portanto, é necessário habilitar o Message Service, o que pode acarretar cobranças.
Utilize a conta principal da Alibaba Cloud para configurar as notificações assíncronas. Atualmente, o Message Service não oferece suporte a RAM.
Criar regras de notificação de eventos
Recomendamos criar uma fila de recebimento de mensagens antes de definir a regra de notificação, para que ela funcione como terminal receptor.
Criar fila de recebimento de mensagens
Faça login no Console do Message Service.
No painel de navegação à esquerda, clique em Queues.
Clique em Create Queue na página. Uma caixa de diálogo será exibida.
Preencha o nome da fila, mantenha os valores padrão nos demais campos e clique em OK.

Criar regras de notificação de eventos
No painel de navegação à esquerda do console do Message Service, clique em Event Notifications.
Clique em Create Rule na página. Uma caixa de diálogo será exibida.
Verifique a região e o nome do produto, preencha o nome da regra, selecione o tipo de evento, adicione o terminal receptor e clique em OK. O sistema suporta dois tipos de terminais receptores (HTTP e Queue). Selecione a fila de recebimento de mensagens criada anteriormente como terminal receptor.

Nota: Geralmente, a nova regra leva até 10 minutos para entrar em vigor.
Consulte a referência de "Tipo de evento" abaixo.
Criar notificações assíncronas
As notificações assíncronas dividem-se em duas categorias: nível de conta e nível de endereço de e-mail. Para receber notificações sobre os resultados de entrega de todos os endereços de remetente, configure as notificações no nível da conta. Caso precise monitorar apenas endereços específicos, defina as notificações no nível de endereço de e-mail para esses remetentes. Também é possível combinar ambas as configurações. As notificações no nível de endereço têm prioridade sobre as do nível de conta. Assim, os endereços de remetente especificados recebem as notificações de nível de endereço, enquanto os demais recebem as de nível de conta. Isso permite direcionar notificações de contas específicas para diferentes terminais de recebimento de mensagens.
Criar notificações assíncronas no nível da conta
Faça login no Console do DirectMail.
No painel de navegação à esquerda, clique em Asynchronous Notifications.
Clique em New Account-level Asynchronous Notifications na página.
Selecione a região e clique em OK.


Criar notificações assíncronas no nível de endereço de e-mail
Clique em Email Address-level Asynchronous Notification na página Asynchronous Notifications.
Clique em New Address-level Asynchronous Notifications na página.
Selecione o endereço do remetente e a região e clique em OK.


O console do Message Service recebe a mensagem da fila e verifica se o link é válido.
Após enviar uma solicitação de e-mail pelo servidor DirectMail:
Faça login no Console do Message Service.
No painel de navegação à esquerda, clique em Queues.
Selecione a região para visualizar as mensagens ativas na fila criada anteriormente.
Clique em Send Messages para ver as notificações de eventos específicas enviadas à fila.


Tipos de eventos e métodos de ativação
Atualmente, os tipos de eventos incluem as seguintes categorias:
Deliver:SendSuccessfully
Deliver:SendFailed
Deliver:Open
Deliver:Click
Como ativar estatísticas para Deliver:SendSuccessfully e Deliver:SendFailed?
O sistema coleta informações de entrega por padrão.
Como ativar estatísticas para Deliver:Open e Deliver:Click?
Consulte Como ativar o recurso de rastreamento de dados?.
Estrutura das mensagens de entrega bem-sucedida e com falha
Exemplo de entrega bem-sucedida
X-Notify-Message-ID=3121639760461820&env_id=12769055421&msg_id=37483d95-7a08-41fb-9738-3d3ffa24d415@example.com&account=example@example.com&from=example@example.com&rcpt=example1@example.com&recv_time=2017-03-29 14:22:40&end_time=2017-03-29 14:22:43&status=0&event=deliver®ion=cn-hangzhou&err_code=250&err_msg=250 Send Mail OK&failed_type=SendOk
Exemplo de entrega com falha
X-Notify-Message-ID=3121639760461824&env_id=12625010655&msg_id=ac349efc-0d79-489b-affa-f178dce3e49e@example.com&account=example@example.com&from=example@example.com&rcpt=example1@example.com&recv_time=2017-03-28 19:09:49&end_time=2017-03-28 19:09:51&status=4&event=deliver®ion=cn-hangzhou&err_code=524&err_msg=524 Host not found by dns resolve [@ou070302]&failed_type=SysOutDnsResolveFail
Como interpretar?
Use "&" para separar pares chave-valor e "=" para separar a chave do valor. A definição das chaves encontra-se na Lista de valores.
Como distinguir mensagens de sucesso e falha?
O código err_code 250 indica envio bem-sucedido. Qualquer outro código de retorno sinaliza falha no envio.
Lista de valores
|
Nome |
Descrição |
|
X-Notify-Message-ID |
Cabeçalho personalizado X-Notify-Message-ID definido |
|
env_id |
ID interno do sistema (usado para feedback de consultas). |
|
msg_id |
Campo Message-ID do texto do e-mail. |
|
account |
Endereço do remetente. |
|
from |
Endereço do remetente. |
|
rcpt |
Endereço do destinatário. |
|
recv_time |
Horário em que o e-mail foi recebido na fila. |
|
end_time |
Horário de conclusão da entrega do e-mail. |
|
status |
Resultado da entrega (0-sucesso, 2-endereço inválido, 3-spam no lado do destinatário, 4-falha). |
|
event |
Tipo de evento; deliver indica o evento de entrega. |
|
region |
Região onde os eventos ocorreram. |
|
err_code |
Código de retorno do ESP do lado receptor após a entrega. |
|
err_msg |
Informação de retorno do ESP do lado receptor após a entrega. |
Definição dos valores comuns de failed_type:
|
Valor |
Definição e sugestão |
|
SendOk |
Entrega bem-sucedida |
|
SysOutDnsResolveFail |
Falha na resolução DNS do domínio do destinatário, geralmente causada por um domínio inválido. Remova esse domínio da sua lista de destinatários. |
|
SmtpMfFreq |
A conta de envio está sob controle de fluxo. Reduza a frequência de envios. |
|
SmtpContSpam |
O conteúdo foi classificado como spam pelos destinatários. Otimize o conteúdo do e-mail ou pare de enviar mensagens com este modelo para os destinatários. |
|
SmtpAuthFail |
Falha na verificação SPF, DKIM ou DMARC. Configure o registro SPF correto, verifique se há registros DMARC configurados e teste se o DKIM está correto. |
|
SmtpNxBox |
Endereço inválido, adicionado à biblioteca de endereços inválidos no nível da conta. |
|
SysOutInvRcpt |
Encontrado na biblioteca global de endereços inválidos. Se tiver certeza de que o endereço é válido, reporte o caso ou opte por não ativar a biblioteca global de endereços inválidos. |
|
SmtpRcptFreq |
Controle de fadiga do sistema de recebimento de e-mails. Suspenda temporariamente o envio de e-mails para este destinatário. |
|
SmtpSslTlsErr |
Erro temporário. Falha na conexão SSL/TLS devido a problemas de rede ou indisponibilidade do par. Tente novamente. |
|
SmtpTempErr |
Erro temporário. Tente novamente. |
|
SmtpZPermErr |
Erro permanente. Não tente novamente. Identifique a causa da falha com base na mensagem retornada pelo destinatário. |
|
SysOutSocksConnError |
Excesso de erros de conexão. A causa provável é a rejeição do link pelo par ou um registro MX incorreto para o domínio receptor. |
|
SmtpFullBox |
A caixa de correio do destinatário está cheia. Pare de enviar e-mails para este destinatário. |
|
SmtpIPFreq |
O sistema receptor está controlando o fluxo de IP de entrada. Reduza a velocidade de envio e tente novamente mais tarde. |
|
SysOutSocksError |
Excesso de erros de conexão. A causa provável é a rejeição do link pelo par ou um registro MX incorreto para o domínio receptor. |
|
SysOutConnError |
Excesso de erros de conexão. A causa provável é a rejeição do link pelo par ou um registro MX incorreto para o domínio receptor. |
|
SysOutConnTooMuch |
Excesso de erros de conexão. A causa provável é a rejeição do link pelo par ou um registro MX incorreto para o domínio receptor. |
|
UnkSmtpError |
Erro desconhecido. Verifique as configurações de envio e o endereço de destino conforme a mensagem de erro. Confirme que não há erros antes de tentar enviar novamente. |
|
SmtpMfdFreq |
O domínio de envio está sob controle de fluxo. Reduza a frequência dos seus e-mails. |
|
SmtpMiscSpam |
O conteúdo foi classificado como spam pelos destinatários. Otimize o conteúdo do seu e-mail. |
|
SmtpMfBad |
O remetente foi colocado na lista de bloqueios pelo sistema receptor. Pare de enviar e-mails para essa parte ou entre em contato com o sistema do destinatário para remover a lista de bloqueios. |
|
SmtpSpfFail |
Falha na verificação SPF. Configure o registro SPF correto. |
|
SmtpMfLimit |
O volume de e-mails enviados pelo remetente durante o dia excedeu o limite do domínio receptor. Tente novamente no dia seguinte. |
|
SmtpDmaFail |
Domínio configurado com DMARC, mas houve falha na verificação SPF ou DKIM. Configure o registro SPF correto e teste se o DKIM está adequado. |
|
SmtpProtErr |
Interação de protocolo com o par incorreta. Reporte o problema à Alibaba Cloud para solução. |
|
SysOutRecipientReportedSpam |
O destinatário denunciou seu endereço ou domínio de envio. Pare de enviar e-mails para esse destinatário/domínio. |
|
SysOutHoneypot |
O destinatário é um endereço honeypot. Pare de enviar e-mails para este endereço, caso contrário, você será penalizado pela organização anti-spam. |
|
SysOutRecipientUnsubscribed |
O destinatário cancelou a inscrição do seu endereço ou domínio de envio. Pare de enviar e-mails para esse destinatário/domínio. |
|
SysIncomingInvRcpt |
Encontrado na biblioteca global de endereços inválidos. Se tiver certeza de que o endereço é válido, reporte o caso ou opte por não ativar a biblioteca global de endereços inválidos. |
|
SysOutRcptOnAccountLevelBounceList |
Encontrado na biblioteca de endereços inválidos no nível da conta. Se confirmar que o endereço é válido, exclua-o na página da biblioteca de endereços inválidos ou opte por não ativar essa biblioteca no nível da conta. |
|
SmtpDbl |
Encontrado na lista de bloqueios de domínios da Spamhaus. Pause o envio de e-mails e acesse check.spamhaus.org para solicitar a remoção. Após a remoção, monitore a qualidade dos seus e-mails e evite enviar mensagens para usuários que cancelaram a inscrição. |
Estrutura da mensagem do evento de abertura
Exemplo
event=Open®ion=cn-hangzhou&env_id=270016664318&msg_id=1688486074.7.1673022065730@example.com&from=example@example.com&rcpt=example@example.com&operate_time=2023-01-07 01:43:51
Lista de valores
|
Nome |
Descrição |
|
event |
Tipo de evento |
|
region |
Região onde os eventos ocorreram |
|
env_id |
ID interno do sistema (usado para feedback de consultas) |
|
msgid |
Campo Message-ID do texto do e-mail |
|
from |
Endereço do remetente |
|
rcpt |
Endereço do destinatário |
|
operate_time |
Horário da operação do evento |
Estrutura da mensagem do evento de clique
Exemplo
event=Click®ion=cn-hangzhou&env_id=17870283365788973187&msg_id=02785cb2-71b1-4fb5-bdbb-a49dfbe3326f@example.com&from=example@example.com&
rcpt=example@example.com&operate_time=2023-01-12 09:54:09&url=httpsxxx
Lista de valores
|
Nome |
Descrição |
|
event |
Tipo de evento |
|
region |
Região onde os eventos ocorreram |
|
env_id |
ID interno do sistema (usado para feedback de consultas) |
|
msgid |
Campo Message-ID do texto do e-mail |
|
from |
Endereço do remetente |
|
rcpt |
Endereço do destinatário |
|
operate_time |
Horário da operação do evento |
|
url |
URL do clique |