Nosso aplicativo da Web envia mensagens de email para as pessoas quando alguém publica novo conteúdo. O remetente e o destinatário optaram por receber mensagens de email do nosso aplicativo. Ao preparar essa mensagem, definimos os seguintes cabeçalhos SMTP:
DE: author@example.com PARA: destinatário@exemplo.com ENVIO: webapp@mycompany.com
Optamos por usar o endereço de e-mail do autor no cabeçalho FROM, na tentativa de fornecer a melhor experiência para o destinatário; quando a mensagem é exibida no cliente de email, o autor fica claro. Para evitar a aparência de falsificação, adicionamos o cabeçalho SENDER (com o endereço de email da empresa) para deixar claro que enviamos a mensagem em nome do autor. Depois de ler as RFCs 822 e 2822, esse parece ser o uso pretendido do cabeçalho do remetente.
A maioria dos servidores de recebimento de emails parece lidar bem com isso; a mensagem de email é entregue normalmente (supondo que a caixa de correio do destinatário exista, não tenha uma cota excessiva etc.). No entanto, ao enviar uma mensagem de um endereço em um domínio para um endereço no mesmo domínio, alguns domínios de recebimento rejeitam as mensagens com uma resposta como:
571 IP incorreto - psmtp (em resposta ao comando RCPT TO)
Acho que isso significa que o servidor de recebimento viu apenas que o endereço do cabeçalho FROM estava em seu próprio domínio e que a mensagem se originou de um servidor que não considerava autorizado a enviar mensagens para esse domínio. Em outras palavras, o servidor de recebimento ignorou o cabeçalho SENDER.
Temos uma solução alternativa: o aplicativo da web mantém uma lista desses domínios que parecem ignorar o cabeçalho SENDER e, quando os cabeçalhos FROM e TO estão nesse domínio, define o cabeçalho FROM como nosso próprio endereço de email. Mas esta lista requer manutenção.
Existe uma maneira melhor de obter a experiência desejada? Gostaríamos de ser um "bom cidadão" da rede, e todas as partes envolvidas - remetentes e destinatários - desejam participar e receber essas mensagens. Uma alternativa é sempre usar o endereço de e-mail da empresa no cabeçalho FROM e acrescentar o nome / endereço do autor ao assunto, mas isso parece um pouco desajeitado.
From: author
vez deFrom: author@example.com
?