Вам нужно понять разницу между видимым адресом электронной почты и доставкой .
msg["To"]
- это, по сути, то, что напечатано на письме. На самом деле это не имеет никакого эффекта. За исключением того, что ваш почтовый клиент, как и обычный почтовый сотрудник, предположит, что это тот, кому вы хотите отправить электронное письмо.
Фактическая доставка, однако, может работать совсем по-другому. Таким образом, вы можете отбросить электронную почту (или копию) в почтовый ящик кого-то совершенно другого.
Для этого есть разные причины. Например, переадресация . Поле заголовка To:
не изменяется при пересылке, однако письмо отправляется в другой почтовый ящик.
Теперь команда smtp.sendmail
выполняет доставку фактического . email.Message
- это содержимое только буквы, а не доставка.
В низкоуровневом SMTP
вам необходимо дать получателям по одному, поэтому список адресов ( не включая имена!) - это разумный API.
Для заголовка он может также содержать, например, имя, например To: First Last <email@addr.tld>, Other User <other@mail.tld>
. Поэтому ваш пример кода не рекомендуется, так как он не сможет доставить эту почту, поскольку, просто разделив его на ,
, у вас все еще не будут действительные адреса!