Cet exemple demande à l'utilisateur les adresses requises dans l'enveloppe du message (adresses `A' et `De'), et le message à envoyer. Notez que les en-têtes à adjoindre au message doivent être inclus dans le message comme ils sont entrés; cet exemple n'effectue aucun traitement des en-têtes RFC 822. En particulier, les adresses `A' et `De' doivent être inclus dans les en-têtes de messages explicitement.
import smtplib
import string
def prompt(prompt):
return string.strip(raw_input(prompt))
expediteur = prompt("De: ")
destinataires = string.split(prompt("A: "))
print "Entrez le message, terminez par ^D:"
# Ajoute les en-têtes De: et A: au début!
msg = ("From: %s\r\nTo: %s\r\n\r\n"
% (fromaddr, string.join(toaddrs, ", ")))
while 1:
ligne = raw_input()
if not ligne:
break
msg = msg + ligne
print "La longueur du message est " + `len(msg)`
server = smtplib.SMTP('localhost')
server.set_debuglevel(1)
server.sendmail(expediteur, destinataires, msg)
server.quit()