Server.sendmail with no "to_addrs" parameter.

Jim Segrave jes at
Wed Mar 22 22:10:44 CET 2006

In article <qq0322to837ap4b6eo4m9uh5krn9ekhsf3 at>,
Dennis Lee Bieber  <wlfraed at> wrote:
>On 22 Mar 2006 08:31:16 -0800, "EdWhyatt" <ed.whyatt at>
>declaimed the following in comp.lang.python:
>> So it's a restriction of Python?
>	RFC822 is the /standard/ (well, there are newer versions -- 2822?)
>for email... It is not Python specific.
>> What I am trying to simulate here is the sending of mail to addresses
>> solely in the CC and/or BCC fields - both of which are possible through
>> Outlook.
>	Technically, then -- Outlook is in violation of the standard (you
>expected Microsoft to be following standards?)

RFC822 and its followup 2822 do not require a To: address line in the
headers - rfc2822 has the minimum number listed as 0

There is a difference between the SMTP time recipient address list
(RCPT TO:) which detemines what the receiving MTA should do with the
message and the email header To:/CC:/Bcc: lines, which don't (or
should not in any working system) affect mail routing at all. You
can't get mail delivered via SMTP without a RCPT TO command at SMTP
time. Many programs extract this address, in the absence of some other
means of specifying it, by taking the addresses from the To:, CC: and
Bcc: headers, but that's a programming convenience, not an RFC
requirement. Since most people composing emails would find it annoying
to have to enter the RCPT TO addresses separately, the message
composition builds header lines, then sends the message to an MTA
using those addresses. But consider bouncing a mail - then the
desintation for SMTP is the address you are bouncing the mail to, and
the header lines are unchanged (one hopes, if not, replace your mail client)

Much as it pains me to admit it, Outlook, for all its many faults is
correct if it allows sending messages where the To: CC: and or Bcc:
headers are empty.

Jim Segrave           (jes at

More information about the Python-list mailing list