Właściwie zacząłem o tym myśleć, ponieważ zapomniałem wysłać komuś wiadomość na adres e-mail, który miałem wysłać, i chciałem, aby otrzymał kopię bez podwójnego wysyłania do wszystkich innych. W końcu po prostu mu to przekazałem, ale nadal jestem ciekawy.
Gdzie obsługiwane są listy CC i BCC w SMTP? Czy musisz kontrolować serwer SMTP, czy może to zrobić po stronie klienta?
Dzięki!
Odpowiedzi:
W skrócie - tak, możliwe jest bezpośrednie połączenie z serwerem SMTP odbiorców. Z powodów, które Rup opisuje w swojej odpowiedzi , może to nie być szczególnie praktyczne, a jeśli jesteś w sieci za zaporą ogniową, możesz nie być w stanie uzyskać połączenia ze zdalnym serwerem na porcie TCP 25.
Zakładając, że to nie dotyczy ciebie, oto szczegóły:
Kiedy (jako klient pocztowy) łączysz się z serwerem pocztowym odbiorcy, wszystkim, na czym ten serwer się troszczy (dla celów dostarczania) są odbiorcy wyszczególnieni w
RCPT TO:
. Zobacz RFC2821 - Simple Mail Transfer Protocol . Nie rozróżnia typu odbiorcy (do :, cc: lub bcc :), po prostu wie, że mówisz „upewnij się, że odbiorca na twoim serwerze to otrzymuje”.Jednak jeśli chodzi o rzeczywistego klienta poczty odbiorcy, to nagłówki wiadomości mówią, kim byli wszyscy odbiorcy wiadomości. Patrz RFC2822 - Internetowy format wiadomości .
Innymi słowy, nagłówki TO :, CC: i BCC: są dostępne na korzyść klienta poczty, podczas gdy faktyczna dystrybucja jest obsługiwana podczas „rozmowy” SMTP z serwerami poczty.
Możesz więc rozmawiać z serwerem SMTP, który wygląda mniej więcej tak:
Efektem netto jest
[email protected]
otrzymanie kopii wiadomości e-mail, która ma go na liście DW, jak również pierwotnego adresata[email protected]
i oryginalnego odbiorcy DW[email protected]
.Ponieważ jednak nigdy tak naprawdę nie łączyliśmy się z serwerami poczty tych dwóch ostatnich, nie otrzymywali oni e-maila za drugim razem. A ponieważ nie możemy zmienić wcześniej wysłanych do nich wiadomości, nigdy nie zauważą, że dodaliśmy kolejnego odbiorcę DW.
źródło
Co się dzieje?
tzn. jeśli możesz wstrzyknąć wiadomość e-mail do 3, dostarczyć bezpośrednio do domowego serwera SMTP brakującego użytkownika CC, możesz dostarczyć im CC bez konieczności wysyłania wiadomości do wszystkich innych. W szczególności odbiorca BCC otrzyma nagłówki i treść wiadomości, które w ogóle o nich nie wspominają (może z wyjątkiem nagłówka „X-Envelope-To”).
W praktyce jest jednak o wiele łatwiej wysłać do wszystkich. Aby to zrobić skutecznie, musisz zmodyfikować klienta poczty e-mail i lokalny serwer SMTP, aby obsługiwał fałszywą listę adresatów lub listę wykluczeń „nie wysyłaj tak naprawdę do”, którą przetwarza podczas ekspansji adresatów.
źródło
Problem ten został rozwiązany przez istniejącą pracę w toku IETF: kosmetyczną kopię węglową . Niestety nie znam żadnego klienta poczty e-mail, który faktycznie implementuje CCC, ponieważ projekt ten jest powszechnie uważany za bezsensowny żart na prima aprilis.
Z całą powagą, to, o co pytasz, jest możliwe, głównie dlatego, że treść wiadomości e-mail nie ma wpływu na to, do kogo jest wysyłana na warstwie SMTP. Klienci poczty e-mail są zapisywani, aby wysyłać pocztę do wszystkich osób w polach Do, DW i UDW, ale nie jest to wymagane według żadnego standardu.
Zaktualizowano: Mówiąc ściślej, wysyłając pocztę na serwer SMTP, nadawca używa polecenia RCPT, aby określić, na które adresy e-mail ma zostać dostarczona wiadomość. Następnie wysyła zawartość wiadomości za pomocą polecenia DATA. Serwer SMTP nie powinien patrzeć na treść. Powinno być możliwe dodanie jednego odbiorcy do wiersza nagłówka CC wiadomości i poproszenie serwera SMPT o dostarczenie go tylko pod ten jeden adres.
źródło
Jeśli dobrze to rozumiem, próbujesz wysłać wiadomość po raz drugi, łącznie z oryginalnymi adresatami w nagłówkach Do: i DW:, ale tę wiadomość otrzymają tylko niektórzy dodatkowi odbiorcy. Jak zauważono w innych odpowiedziach, można to osiągnąć dzięki klientowi poczty e-mail komunikującemu się z serwerem SMTP i określając tylko jednego odbiorcę, ale włączając nagłówki Do: i DW: oryginalnego e-maila.
Apple Mail klient posiada funkcjonalność, która może skutecznie to zrobić. Funkcję przekierowania można znaleźć w menu Wiadomość lub w menu kontekstowym wiadomości. Ta funkcja została zaprojektowana jako sposób na przezroczyste przekazywanie wiadomości e-mail do kogoś innego bez dodawania Fwd: do tematu i zwiększania poziomu wyceny, ale można jej również używać w wiadomościach, które wcześniej wysłałeś. Utrzymuje to samo pola Do / DW / Od oryginalnej wiadomości i dodaje nowych odbiorców w nagłówkach Resent-To i Resent-CC. Jedynymi adresatami wysłanej wiadomości będą ci, których określisz podczas jej tworzenia. Nie jest do końca oczywiste, jak to działa, gdy korzystasz z tej funkcji, więc wypróbuj ją wcześniej.
źródło
Może być dozwolone / zabronione na zasadzie klient-klient, ale możesz spróbować umieścić coś fałszywego (np. „;; nieujawnionego adresata ;;”) w polu To i umieścić wszystkich w BCC. Powtórzenie tego procesu sprawi, że będzie wyglądać jak ten sam e-mail, pod warunkiem, że nikt nie będzie wystarczająco uważnie obserwował znaczników czasu i wiadomości w wątkach.
źródło