Por que é uma má idéia usar um email do cliente como o endereço de origem

29

Eu tenho um aplicativo que envia e-mails aos usuários depois que eles preenchem um formulário. Ele usa um [email protected]endereço como de. O cliente deseja que ele use o email do formulário como o endereço de origem, que pode ser qualquer coisa. Foi-me dito que esta é uma má ideia devido a spoofing / lista negra e spam.

Sinto-me realmente vago sobre o motivo exato pelo qual essa é uma péssima idéia, principalmente porque tenho que tentar aconselhar o cliente sobre isso. Alguém pode me explicar por que essa é uma má idéia.

Curiosamente, o cliente usou uma conta do Gmail como endereço de origem como uma demonstração, que não apenas funciona bem, mas também permitiu que o aplicativo iniciasse o envio de emails (isso não ocorreria antes com um email que era [email protected]). Erm - o que está acontecendo? Me disseram uma coisa e o oposto funciona.

Desculpe - eu sei que isso é básico, mas eu poderia encontrar qualquer coisa em uma pesquisa no google. Em grande parte, acho que porque estou tendo problemas até para formular a pergunta.

EDITAR

Obrigado a todos - ótimas respostas. Curiosamente, o servidor que está enviando o e-mail e a caixa de e-mail para o qual ele está hospedado está atrás do mesmo firewall, de modo que o cliente diz que não está preocupado com o spam. Ah bem.

Balde de caranguejo
fonte
"É interessante notar que o servidor que está enviando o email e a caixa de correio para onde ele está está ambos atrás do mesmo firewall, então o cliente diz que não está preocupado com o spam". Tudo bem, desde que o aplicativo também esteja atrás do mesmo firewall e não possa ser alcançado pelo restante da Internet. Esperamos que esta caixa de correio dentro do firewall também não esteja disponível na Internet - parece um relé aberto!
afrazier
Eu concordo com as outras respostas. Como usuário (não como administrador do site), eu ficaria intrigado, preocupado e irritado se recebesse um email de mim mesmo quando não o enviei. No passado, enviei esses e-mails para spam sem lê-los e provavelmente continuará a fazê-lo.
Paddy Landau

Respostas:

46

É uma prática ruim por vários motivos:

  • Você NÃO tem permissão para enviar um email de um domínio que você não possui. Como tal, poderia ser concebido como uma tentativa de representação.
  • É uma prática bastante comum usada por remetentes de spam e, como tal, é frequentemente marcada por filtros de spam.
  • É bastante comum que domínios bem mantidos usem SPF ou DKIM para proteger sua reputação e ajudar outros sistemas a identificar representação e spam. Obviamente, você não poderá adicionar o cabeçalho de email DKIM ou adicionar o servidor SMTP ao registro DNS do domínio SPF e, portanto, o seu email será (corretamente) considerado falsificado e rejeitado.

A prática adequada é usar o domínio local como remetente, possivelmente usando um endereço inexistente como nome de usuário.

Stephane
fonte
2
Ótima resposta. Copiaram descaradamente parte do seu texto para o email do cliente. Obrigado
Crab Bucket
3
O uso de um Sender:endereço não contornaria esses problemas? É o que o Gmail faz quando está configurado para enviar email de outra conta.
Trig
3
Por que isso não é permitido? Você tem alguma referência a uma RFC ou lei internacional?
Nils
3
@ Nils Aqui está um. RFC 1855 (Netiqueta). "Falsificações e falsificações não são um comportamento aprovado." Embora, isso esteja em uma seção sobre listas de discussão e notícias.
Kaz
3
@Kaz, veja a RFC 2822 da BlueRaja - essa é a referência correta. É permitido, se você definir o SENDER como o domínio de origem real.
Nils
48

Na verdade, você pode definir o Fromendereço para o email do seu cliente, desde que defina corretamente o Sendercampo para o seu próprio endereço. Isto é o que Paypal não costumava fazer!

FROM: [email protected]
PARA: destinatá[email protected]
ENVIO: [email protected]

A maioria dos clientes de email processa isso como "De você@seuempresa.com em nome de [email protected]" . Não deve haver nenhum problema com SPF ou DKIM no domínio do cliente.


Você também deve provavelmente definir o Reply-tocabeçalho para o endereço do seu cliente, para que as respostas sejam o endereço do cliente e não o seu.

BlueRaja
fonte
+1 por mencionar Reply-to
Bobson
3
@Nils: RFC 2822 §3.6.2 "Campos de origem" "O campo" De: "especifica o (s) autor (es) da mensagem, ou seja, a (s) caixa (s) de correio da pessoa (s) ou sistema (s) responsável (s) para a gravação da mensagem. O campo "Remetente:" especifica a caixa de correio do agente responsável pela transmissão real da mensagem ".
precisa saber é o seguinte
1
(cont.) Portanto, observe que, se o usuário não escreveu a mensagem (o OP não está claro neste ponto) , isso não será tecnicamente compatível com RFC e Reply-Todeve ser usado apenas. Mas, mesmo nesse caso, o Paypal e outras grandes empresas fazem isso de qualquer maneira, por isso é altamente improvável que ative qualquer filtro de spam. Se isso é "uma violação da confiança do usuário" depende da mensagem / aplicativo real (por exemplo, eu não acho que o Paypal esteja abusando da minha confiança ao enviar uma mensagem "O BlueRaja enviou um pagamento a você!" Em meu nome)
BlueRaja
1
@ Nils: Opa, aparentemente essa deve ser a RFC 6854 , que é uma atualização da RFC 5322 , que por sua vez é a versão atualizada da RFC 2822. A passagem relevante não mudou, no entanto.
BlueRaja
2
O PayPal não faz mais isso, precisamente porque foi uma prática tão ruim. Seus e-mails atuais são fornecidos [email protected]com o endereço de e-mail do usuário no Reply-Tocabeçalho.
Michael Hampton
12

TL; DR:

É uma prática ruim usar o endereço de email do formulário. Em vez disso, use um endereço de e-mail usado especificamente apenas para esta lista de endereços.

Versão longa:

Primeiro, na verdade existem dois endereços de email usados. Um é o remetente do envelope, o outro é o mostrado na From:linha do email.

O remetente do envelope é o usado pelos servidores de email para emitir avisos de falha na entrega. Se você estiver executando uma lista de endereçamento, esse endereço geralmente será um script que pode limpar endereços não úteis da lista de endereçamento.

O From:endereço é aquele que será usado quando o destinatário do e-mail clicar em Responder. Nesse caso, deve apontar para alguém que possa realmente responder a qualquer pergunta com a qual o destinatário possa responder (ou pelo menos encaminhar para alguém que possa).

Se você usar o endereço de e-mail do destinatário como remetente do envelope, poderá esperar que alguns / muitos servidores de correio rejeitem o e-mail ou o rotulem como sendo provavelmente spam - porque as pessoas não costumam enviar e-mails para si mesmos de seu próprio endereço por meio de um servidor externo.

Se você usar o próprio endereço de email do destinatário como From:remetente, o usuário não poderá responder às mensagens, se necessário. Colocar um link em algum lugar no corpo da mensagem não é suficiente; as pessoas ainda usarão o botão Responder no cliente de email e ficarão chateadas quando não funcionar.

Jenny D diz Restabelecer Monica
fonte
Obrigado por isso, especialmente o ponto sobre o usuário responder a si próprio. Eu gostaria de poder dar duas respostas
Crab Bucket
3
Não é exatamente verdade sobre usuário clicar Responder ... Reply-to cabeçalho (se existir) será usado para isso
JoelFan
@ JoelFan Bom argumento sobre o cabeçalho de resposta.
Jenny D diz Restabelecer Monica
8

Você tem ótimas respostas falando sobre os problemas técnicos aqui. Em termos de venda para o seu cliente, pode ser útil reformular ligeiramente a pergunta. O cliente provavelmente está solicitando uma variação de "funcionará", para a qual a resposta é "sim, você pode enviar um email assim".

Uma pergunta melhor para eles considerarem é "chegará", nossos clientes verão se for enviado dessa maneira ". A resposta com a maioria dos filtros de spam modernos é "não, provavelmente não".

Rob Moir
fonte
4

Existem dois problemas em que posso pensar: o maior problema é que você estará enviando e-mails que possivelmente não podem ser entregues e, obviamente, o endereço de retorno também será assim, o que significará muitos e-mails aguardando até o tempo limite. . O problema menor pode ser que alguns desses emails acabem em spam, pois os servidores procuram emails de determinados domínios provenientes de determinadas máquinas (de acordo com as regras do DKIM).

Gostaria de criar o [email protected]endereço e decidir o que fazer com o email mais tarde.

NickW
fonte
2

Falsificar o endereço do usuário como De: é uma má idéia. É uma boa maneira de garantir que o email nunca chegue ao usuário, pois os filtros anti-spam podem considerá-lo uma falsificação (o que de fato é!)

É bastante razoável e comum que o servidor SMTP do "thisdomain" rejeite uma solicitação "MAIL From: user @ thisdomain" que vem de uma conexão TCP que está fora do "thisdomain". (Permitir essa solicitação de hosts locais permite que o usuário dentro da rede "este domínio" envie um email para o outro.)

Na verdade, também [email protected]é uma péssima idéia:

Aqui está um trecho de configuração do meu servidor SMTP (software Exim), que o configura para enviar mensagens de noreplyremetentes:

deny
  message = Sorry, we do not accept SMTP traffic from "noreply" senders. \
            We believe that it is less than polite to send messages from \
            nonexistent e-mail addresses \
            which cannot be replied to! E-mail is a "two-way street". \
            If you want us to accept \
            your mail, then please accept replies.
  senders = ^noreply@.*

Os e-mails devem ser enviados apenas por remetentes reais que possam aceitar respostas.

Por que eu deveria ouvir qualquer coisa que você diz se seus ouvidos estão entupidos contra qualquer coisa que eu digo?

Algumas pessoas responderão a esses e-mails de qualquer maneira e deverão ser encaminhadas para a conta de suporte ao cliente apropriada.

Kaz
fonte
Obrigado pela resposta. Muito interessante sobre a não resposta. Se, de fato, o e-mail inexistente realmente existisse e apenas em uma caixa de correio periodicamente esvaziada, seria melhor? O e-mail normalmente faz sentido para mim como usuário, pois quando os vejo, sei que ninguém está ouvindo. Mas quando um email não quer uma resposta, é marketing direto, na melhor das hipóteses, e spam, na pior. Eu acho que já falei-me para fora da nenhuma resposta lá
Crab Bucket
Tópico antigo, mas ... Não consigo parar de pensar: bloquear e-mails de remetentes chamados "noreply" parece inútil na melhor das hipóteses. Quem quiser enviar email abusivo, usará outro email de remetente inexistente. Se o email em questão realmente é "somente leitura", o que poderia estar errado em tornar isso o mais óbvio possível? "Aqui está a previsão do tempo que você pediu: estará ensolarado amanhã. Não responda a este e-mail, enviamos seis milhões deles todos os dias e não há como processar os vários tipos de respostas que eles inevitavelmente geram".
Culme
-1

O cliente pode não estar preocupado com o spam, mas o principal problema aqui é que é eticamente errado usar o domínio do cliente, conforme citado por todas as outras respostas aqui.

Tim Sabin
fonte
Esta não é realmente uma questão ética de qualquer tipo. Você é o único a mencionar ética em vez de questões realistas.
precisa