Skip to content

Commit

Permalink
gh-120662: Improve smtplib example (GH-120668)
Browse files Browse the repository at this point in the history
(cherry picked from commit 4bc27ab)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
  • Loading branch information
2 people authored and miss-islington committed Jun 18, 2024
1 parent 692874c commit 6e93237
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions Doc/library/smtplib.rst
Original file line number Diff line number Diff line change
Expand Up @@ -556,34 +556,33 @@ This example prompts the user for addresses needed in the message envelope ('To'
and 'From' addresses), and the message to be delivered. Note that the headers
to be included with the message must be included in the message as entered; this
example doesn't do any processing of the :rfc:`822` headers. In particular, the
'To' and 'From' addresses must be included in the message headers explicitly. ::
'To' and 'From' addresses must be included in the message headers explicitly::

import smtplib

def prompt(prompt):
return input(prompt).strip()
def prompt(title):
return input(title).strip()

fromaddr = prompt("From: ")
toaddrs = prompt("To: ").split()
from_addr = prompt("From: ")
to_addrs = prompt("To: ").split()
print("Enter message, end with ^D (Unix) or ^Z (Windows):")

# Add the From: and To: headers at the start!
msg = ("From: %s\r\nTo: %s\r\n\r\n"
% (fromaddr, ", ".join(toaddrs)))
lines = [f"From: {from_addr}", f"To: {', '.join(to_addrs)}", ""]
while True:
try:
line = input()
except EOFError:
break
if not line:
break
msg = msg + line
else:
lines.append(line)

msg = "\r\n".join(lines)
print("Message length is", len(msg))

server = smtplib.SMTP('localhost')
server = smtplib.SMTP("localhost")
server.set_debuglevel(1)
server.sendmail(fromaddr, toaddrs, msg)
server.sendmail(from_addr, to_addrs, msg)
server.quit()

.. note::
Expand Down

0 comments on commit 6e93237

Please sign in to comment.