не отправлять электронную почту получателю

вопрос:

Можно ли не отправлять электронное письмо получателю, которое видят получатели CC / BCC?

Другими словами: можно ли отправить электронное письмо через CC или BCC, но нет получателю (т. Е. Получателю в поле заголовка «Кому»)?

пример:

Эндрю хочет, чтобы Боб получил одно из этих писем, без отправки его Алисе:

from: Andrew
to: Alice

or

from: Andrew
to: Alice
cc: Bob

Это возможно?


Я плохо понимаю предмет, но из моих чтений кажется, что отправитель (Эндрю) должен был использовать разных получателей для полей to и envelope-to, но я не знаю, как этого можно достичь.

Должен ли отправитель (Эндрю) неизбежно настроить собственный почтовый сервер для этого или есть более простое решение?


person pippilangstrumpf    schedule 25.04.2021    source источник
comment
Я голосую за закрытие этого вопроса, потому что он, похоже, связан с созданием поддельных электронных писем, используемых для фишинга и других неэтичных методов.   -  person vodolaz095    schedule 25.04.2021
comment
Вы неправильно поняли мой вопрос. Мой вопрос нельзя использовать для фишинга! Фишинг основан на подделке адреса отправителя. Мой вопрос вовсе не связан с подделкой адреса отправителя (или любого другого адреса в этом отношении).   -  person pippilangstrumpf    schedule 26.04.2021
comment
Назовите используемую вами операционную систему.   -  person AnFi    schedule 26.04.2021
comment
Windows и Linux. Thunderbird - мой MUA. Спасибо.   -  person pippilangstrumpf    schedule 26.04.2021
comment
To, From, CC и даже BCC - это просто заголовки в электронном письме. Вы можете вставить все, что захотите, по крайней мере, если вы используете библиотеку, которая дает вам контроль над заголовками в вашем письме. Для stackoverflow лучше всего включить код, который вы пробовали, с объяснением того, где вы застряли. Что происходит, когда вы запускаете код, чего вы ожидали вместо этого? Вы упомянули Thunderbird. Stackoverflow предназначен только для вопросов программирования, а не для общего использования программного обеспечения. Тем не менее, если у вас есть надстройка Thunderbird, это, безусловно, по теме. Опять же, нам нужно увидеть код. См. Также Как задать вопрос.   -  person Robert    schedule 26.04.2021
comment
@ Роберт: спасибо за ваше любезное руководство. У меня нет кода или подсказки. Я просто хотел задать этот вопрос для некоторой базовой ориентации и точно выяснить, включает ли решение кодирование или просто общее использование программного обеспечения. Из вашего комментария и superuser.com/a/385093/1320186 я делаю вывод, что для Эндрю нет другого решения, кроме как установить настроить свой почтовый сервер и настроить его так, чтобы он выполнял нестандартные функции. Если это так, я бы принял это как «правильный ответ», если вы готовы опубликовать этот ответ. Спасибо.   -  person pippilangstrumpf    schedule 27.04.2021
comment
Вам не нужно запускать собственный почтовый сервер, но обычный MUA, вероятно, не дает вам контроля над заголовками электронной почты, которые вы хотите. Вы можете попробовать подключиться к почтовому серверу с помощью telnet и ввести команды SMTP, а после команды data вы можете ввести любые заголовки, которые захотите. Конечно, вы можете активировать спам-фильтры, когда ваши заголовки и SMTP-конверт не совпадают, но передача заголовка To: без включения этого электронного письма в конверт, вероятно, прекрасна, особенно если получатели находятся в разных доменах.   -  person Robert    schedule 27.04.2021
comment
@ Роберт: Спасибо. Ваши комментарии дают мне более четкое представление о ситуации. Опять же, я думаю, что вы ответили на мой вопрос, поэтому, если вы хотите разместить свои комментарии в качестве ответа, я с радостью приму его как правильный ответ.   -  person pippilangstrumpf    schedule 27.04.2021
comment
@ Роберт: Вы сказали: Вам не нужно запускать собственный почтовый сервер. […]. Вы можете попробовать подключиться к почтовому серверу с помощью telnet и ввести команды SMTP. Извините, если я запутался, но разве мне не нужно запускать или контролировать почтовый сервер, если я использую telnet на нем? Я имею в виду, что я не могу подключиться по telnet к почтовым службам таких провайдеров электронной почты, как hotmail, yahoo или gmail, верно?   -  person pippilangstrumpf    schedule 27.04.2021


Ответы (1)


To, From, CC и даже BCC - это просто заголовки в электронном письме. Вы можете добавить все, что захотите, по крайней мере, если вы используете библиотеку, которая дает вам контроль над заголовками в вашем письме.

Давайте рассмотрим очень простой пример использования telnet для отправки электронной почты.

Сначала найдите, какие почтовые серверы обрабатывают почту для домена (здесь gmail.com), например, с помощью host:

robert@here:~$ host gmail.com
gmail.com has address 142.250.115.19
gmail.com has address 142.250.115.83
gmail.com has address 142.250.115.17
gmail.com has address 142.250.115.18
gmail.com has IPv6 address 2607:f8b0:4000:803::2005
gmail.com mail is handled by 5 gmail-smtp-in.l.google.com.
gmail.com mail is handled by 10 alt1.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 20 alt2.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 30 alt3.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 40 alt4.gmail-smtp-in.l.google.com.

Я буду использовать первый указанный почтовый сервер, gmail-smtp-in.l.google.com. Согласно RFC 5321 вы можете подключиться к почтовому серверу и отправить электронное письмо следующим образом:

robert@here:~$ telnet gmail-smtp-in.l.google.com 25
Trying 142.250.138.27...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP v9si1145647ooe.55 - gsmtp

Каждая строка, начинающаяся с цифр, представляет собой ответ SMTP-сервера. Код в 200 - это нормально, 400 - временная ошибка, а 500 - постоянная ошибка.

Затем вы говорите привет, или, скорее, расширенное приветствие (ehlo), и сервер отвечает со всеми поддерживаемыми им расширениями:

ehlo me
250-mx.google.com at your service, [1.2.3.4]
250-SIZE 157286400
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8

Затем вы сообщаете серверу, что хотите отправить электронное письмо, с помощью команды mail from: и сообщаете ему адрес электронной почты отправителя SMTP-конверта. Если сервер принимает электронное письмо, он снова отвечает тем, что начинается с кода 200 с.

mail from: <[email protected]>
250 2.1.0 OK v9si1145647ooe.55 - gsmtp

Затем вы указываете получателя конверта SMTP, и сервер снова принимает его с кодом 200s:

rcpt to: <[email protected]>
250 2.1.5 OK v9si1145647ooe.55 - gsmtp

Далее идет команда data, которую сервер подтверждает кодом 354, предлагая вам ввести сообщение:

data
354  Go ahead v9si1145647ooe.55 - gsmtp

Электронное письмо состоит из заголовков, затем пустой строки, а затем тела письма. Пример ниже очень упрощен, но должен работать. Вы указываете From: заголовок, To:, может быть, CC: или BCC: (sic!) Заголовок и, конечно, Subject:, Date: и другие.

From: me
To: you
CC: me again
Subject: test

Hello, this is a test.

Здесь вы видите 4 заголовка (From, To, CC и Subject), за которыми следует пустая строка, разделяющая заголовки и тело письма, а затем тело, которое представляет собой всего лишь одну строку.

Завершите электронное письмо одной точкой в ​​отдельной строке:

.
250 2.0.0 OK  1619472375 v9si1145647ooe.55 - gsmtp

Теперь сервер принял сообщение и должен либо доставить, либо отклонить его. Теперь вы можете отправить другое электронное письмо (начните с mail from: выше) или закончите диалог:

quit
221 2.0.0 closing connection v9si1145647ooe.55 - gsmtp
Connection closed by foreign host.

Как видите, я ввел [email protected] в качестве адреса электронной почты получателя в конверте SMTP. Это то, что имеет значение, именно сюда отправляется электронное письмо. Ничто не мешает вам добавлять людей в строки CC: или BCC:, даже не указав для них rcpt-to:. Они не получат электронное письмо, но будут смотреть на получателей, которые действительно получают электронное письмо, что эти люди также должны его получить. Ничто не мешает вам добавить в заголовок To: адрес электронной почты, отличный от того, который вы использовали в команде rcpt-to:.

Обычно MUA добавляет заголовок To: или CC:, который соответствует адресу конверта SMTP, но это не обязательно. Однако отсутствие некоторых из этих заголовков или наличие заголовков, не соответствующих командам конверта SMTP, может принести вам несколько очков спама.

Во многих случаях вам не нужно имя пользователя или пароль. И это намеренно. Например, вы являетесь пользователем Gmail и хотите отправить что-то кому-нибудь на yahoo.com. Вам потребуется ваше имя пользователя и пароль Gmail для входа в свою учетную запись Gmail, но вам не нужна учетная запись на yahoo.com для отправки электронной почты кому-то с учетной записью yahoo.com. Если бы вам требовалось иметь логин на каждом почтовом сервере, на который вы когда-либо хотели бы отправлять сообщения, вам бы потребовалось безумное количество имен пользователей и паролей! Это преимущество электронной почты, она открыта, бесплатна, каждый может запустить сервер и отправлять и получать электронную почту.

Du kannst Dir die Welt machen, wie sie Dir gefällt. ;-)

Если все это звучит странно, имейте в виду, что электронная почта - это система, которой уже почти 50 лет, с защитой, вложениями и символами, отличными от ascii, закрепленными на протяжении многих лет, с постоянной заботой об обратной совместимости. Но если бы вы не могли подключиться по telnet к другим почтовым серверам, вы бы никогда не смогли никому отправить электронное письмо. Как человек, управляющий почтовым сервером, вы не можете создать учетные записи для всего мира, чтобы иметь возможность получать электронную почту от всех.

Когда вы делаете это программно, это зависит от того, какую библиотеку вы используете. Большинство библиотек устанавливают для заголовков значения по умолчанию и позволяют при необходимости переопределять заголовки.

person Robert    schedule 26.04.2021
comment
Нет, учетные данные вводить не нужно. Я обновил ответ. Попробуйте и отправьте себе электронное письмо через telnet! - person Robert; 27.04.2021
comment
вау, какой прекрасный ответ. Я действительно в восторге! Быстрый вопрос: я не вижу, чтобы вы упомянули об этом, но в какой-то момент мне обязательно нужно ввести свои учетные данные (адрес электронной почты / пароль), нет? - person pippilangstrumpf; 27.04.2021
comment
да я вижу! Спасибо, Роберт, за то, что помог мне немного лучше понять мир своим потрясающим ответом! - person pippilangstrumpf; 27.04.2021