Eu realmente comecei a pensar sobre isso porque eu esqueci de colocar alguém em um email que eu deveria mandar, e eu queria que ele pegasse uma cópia sem enviar para todos os outros. Acabei apenas encaminhando para ele, mas ainda estou curioso.
Onde as listas CC e BCC são tratadas no SMTP? Você precisaria controlar o servidor SMTP ou o lado do cliente?
Obrigado!
Respostas:
Em suma - sim, é possível se você pode se conectar diretamente ao servidor SMTP destinatários. Pelas razões Rup descreve em sua resposta talvez não seja especialmente prático, e se você estiver em uma rede por trás de um firewall, talvez não consiga obter uma conexão com um servidor remoto na porta TCP 25.
Supondo que isso não se aplique a você, então aqui está o detalhe:
Quando você (como cliente de e-mail) se conecta ao servidor de e-mail do destinatário, tudo o que o servidor deseja (para fins de entrega) são os destinatários especificados em
RCPT TO:
. Vejo RFC2821 - Simple Mail Transfer Protocol . Ele não diferencia entre o tipo de destinatário (para :, cc: ou bcc :), ele só sabe que você está dizendo "certifique-se de que o destinatário do seu servidor receba isso".No entanto, no que diz respeito ao cliente de email real do destinatário, são os cabeçalhos na mensagem que dizem quem eram todos os destinatários da mensagem. Vejo RFC2822 - formato de mensagem da Internet .
Em outras palavras, os cabeçalhos TO :, CC: e BCC: estão disponíveis para o benefício do cliente de email, enquanto a distribuição real é manipulada durante a 'conversação' do SMTP com os servidores de email.
Então, você pode, de fato, ter uma conversa com um servidor SMTP que se pareça com isto:
O efeito líquido é que
[email protected]
recebe uma cópia do email que o tem na lista de cc, bem como o destinatário original[email protected]
e o destinatário original de cc[email protected]
.No entanto, como na verdade nunca nos conectamos aos servidores de e-mail dos dois últimos, eles não recebem o e-mail na segunda vez. E, como não podemos alterar os e-mails que já foram enviados para eles antes, eles nunca perceberão que adicionamos outro destinatário de cc.
fonte
O que acontece é
ou seja, se você puder injetar o e-mail em 3, enviar diretamente para o servidor SMTP home do usuário CC perdido, poderá entregar o CC sem precisar enviar o e-mail para todos os outros. Em particular, um destinatário do BCC receberá cabeçalhos de mensagens e corpo que não os mencionam (exceto talvez um cabeçalho 'X-Envelope-To').
Em termos práticos, porém, é muito mais fácil enviar para todos. Para fazer isso de maneira eficiente, é necessário modificar seu cliente de e-mail e o servidor SMTP local para oferecer suporte a uma lista de destinatários falsa ou a uma lista de exclusão que realmente não é enviada, processada durante a expansão do destinatário.
fonte
Este problema é realmente resolvido por um trabalho em andamento da IETF: Cópia de carbono cosmético . Infelizmente, eu não sei de nenhum cliente de email que realmente implemente CCCs, pois o rascunho é amplamente considerado uma piada sem sentido para o Dia da Mentira.
Com toda a seriedade, o que você está pedindo é possível, principalmente porque o conteúdo de um email não afeta realmente para quem o email é enviado na camada SMTP. Os clientes de email são gravados para enviar emails para todos nos campos Para, CC e CCO, mas não são obrigados a fazer isso por nenhum padrão.
Atualizada: Para ser preciso, ao enviar mensagens para um servidor SMTP, o remetente usa o comando RCPT para especificar a quais endereços de email uma mensagem deve ser entregue. Em seguida, ele envia o conteúdo do email com um comando DATA. O servidor SMTP não deve olhar para o conteúdo. Deve ser possível adicionar um destinatário à linha de cabeçalho CC de uma mensagem e solicitar ao servidor SMPT que entregue apenas esse endereço.
fonte
Se eu entendi isso corretamente, o que você está tentando fazer é enviar uma mensagem uma segunda vez, incluindo os destinatários originais nos cabeçalhos Para: e CC:, mas somente essa mensagem recebida por alguns destinatários adicionais. Como outras respostas notaram, isso pode ser feito pelo seu cliente de e-mail se comunicando com o servidor SMTP e especificando apenas um destinatário, mas incluindo os cabeçalhos To: e Cc: do e-mail original.
o Apple Mail O cliente tem uma funcionalidade que pode fazer isso de maneira eficiente. o Redirecionar função pode ser encontrada no menu Mensagem ou no menu contextual de uma mensagem. Esta função foi projetada para ser usada como uma forma de enviar um e-mail para alguém sem adicionar o Fwd: à linha de assunto e aumentar o nível de cotação, mas também pode ser usado em mensagens que você enviou anteriormente. Ele mantém os campos Para / Cc / De da mensagem original iguais e adiciona os novos destinatários nos cabeçalhos Resent-To e Resent-CC. Os únicos destinatários da mensagem reenviada serão aqueles que você especificar ao compor. Não é totalmente óbvio como isso funciona quando você faz uso do recurso, portanto, certifique-se de testá-lo de antemão.
fonte
Pode ser permitido / proibido em uma base cliente por cliente, mas você pode tentar colocar algo falso (como ";; destinatários não revelados ;;") no Para e colocando todos no BCC. Então, a repetição do processo fará com que pareça o mesmo e-mail, desde que ninguém esteja observando de perto o suficiente para os registros de data e hora e as mensagens encadeadas.
fonte