Por que é uma má ideia usar um email de cliente como o endereço de saída?

28

Eu tenho um aplicativo que envia e-mails para os usuários depois de preencherem um formulário. Ele usa um [email protected] como um endereço de. O cliente quer que ele use o email do formulário como o endereço que poderia ser qualquer coisa. Foi-me dito que esta é uma má ideia devido a spoofing / blacklisting e spam.

Eu me sinto muito vaga sobre a razão exata de por que isso é uma má idéia, especialmente porque eu tenho que tentar aconselhar o cliente sobre isso. Alguém pode me explicar por que isso é uma má idéia?

Curiosamente, o cliente usou uma conta do gmail como o endereço de como uma demonstração que não só funciona bem, mas que permitiu que o aplicativo comece a enviar e-mails (não o faria antes com um e-mail [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 estou tendo problemas para formular a pergunta.

EDITAR

Obrigado a todos - ótimas respostas. Curiosamente, o servidor que envia o e-mail e a caixa de correio para a qual está indo estão ambos atrás do mesmo firewall, de modo que o cliente diz que não está preocupado com spam. Oh bem.

    
por Crab Bucket 11.06.2013 / 14:08

7 respostas

45

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

  • Você NÃO tem permissão para enviar um e-mail de um domínio que não é seu. Como tal, pode ser concebido como uma tentativa de representação.
  • É uma prática bastante comum usada por spammers 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 a representação e o spam. Você obviamente não poderá adicionar o cabeçalho de correio DKIM ou adicionar seu servidor SMTP ao registro DNS SPF do domínio e, assim, seu correio será (corretamente) considerado forjado e rejeitado.

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

    
por 11.06.2013 / 14:35
48

Na verdade, você pode definir o endereço From para o e-mail do seu cliente, contanto que você defina corretamente o campo Sender para o seu próprio endereço. É isso que o Paypal faz costumava fazer!

FROM:   [email protected]
TO:     [email protected]
SENDER: [email protected]

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

Você provavelmente também deve definir o Reply-to header como o endereço do seu cliente. Assim, as respostas são enviadas para o endereço do cliente, e não para o seu.

    
por 11.06.2013 / 20:05
12

TL; DR:

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

Versão longa:

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

O remetente do envelope é aquele usado pelos servidores de e-mail para emitir notificações de falha na entrega. Se você estiver executando uma lista de discussão, esse endereço geralmente será para um script que pode limpar os endereços que não estão funcionando da lista de discussão.

O endereço From: é aquele que será usado quando o destinatário do email clicar em Responder. Neste 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 a alguém que possa).

Se você usa o endereço de e-mail do destinatário como remetente do envelope, pode esperar que alguns / muitos servidores de e-mail rejeitem o e-mail ou o marque como provável spam - porque as pessoas nem sempre enviam e-mails para eles mesmos endereço através de um servidor externo.

Se você usar o endereço de e-mail do destinatário como o From: -sender, o usuário não poderá responder às mensagens se precisar. Colocar um link em algum lugar no corpo da mensagem de correio não é suficiente; as pessoas ainda usarão o botão Responder em seu cliente de e-mail e ficarão chateadas quando ele não funcionar.

    
por 11.06.2013 / 14:25
8

Você tem ótimas respostas falando sobre os problemas técnicos aqui. Em termos de vender isso ao seu cliente, pode ser útil reformular um pouco a questão. O cliente provavelmente está perguntando a você uma variação de "funcionará", para a qual a resposta é "sim, você pode enviar e-mails assim".

A melhor pergunta a ser considerada é "vai" chegar ", nossos clientes verão se for enviada dessa maneira?". A resposta com os filtros de spam mais modernos é "não, provavelmente não".

    
por 11.06.2013 / 17:31
4

Existem dois problemas em que posso pensar, o maior problema é que você estará enviando e-mails que possivelmente poderiam não ser entregues e, obviamente, o endereço de retorno também será, o que significará muitos e-mails em espera para expirar. O menor problema pode ser que alguns desses e-mails acabem em spam, já que os servidores estão procurando por e-mail de determinados domínios provenientes de determinadas máquinas (de acordo com as regras do DKIM).

Eu criaria o endereço [email protected] e decidiria o que fazer com o e-mail mais tarde.

    
por 11.06.2013 / 14:25
2

A falsificação do endereço do próprio usuário como De: é uma ideia ruim. É uma boa maneira de garantir que o e-mail nunca chegue ao usuário, já que os filtros anti-spam podem considerá-lo uma falsificação (o que é )!

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

Na verdade, o [email protected] também é uma ideia ruim:

Aqui está um snippet de configuração do meu servidor SMTP (software Exim), que o configura para devolver mensagens de noreply remetentes:

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 só devem ser enviados por remetentes reais que possam aceitar respostas.

Por que eu deveria ouvir qualquer coisa que você disser se seus ouvidos estiverem conectados a alguma coisa que eu disser?

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

    
por 11.06.2013 / 20:15
-1

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

    
por 11.06.2013 / 19:10