From 31bb8cef2c528591bc6b2abefff34cbcbfd121f3 Mon Sep 17 00:00:00 2001 From: Jeremy Hylton Date: Thu, 13 Aug 1998 19:57:46 +0000 Subject: [PATCH] Change interface to sendmail: if the destination address is a string instead of a list, turn it into a list containing that string. This avoids an apparently common newbie mistake -- passing in a single string for the destination and have it treated as a sequence of characters. --- Lib/smtplib.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Lib/smtplib.py b/Lib/smtplib.py index a812ef916d0..07f53fa195a 100755 --- a/Lib/smtplib.py +++ b/Lib/smtplib.py @@ -42,6 +42,7 @@ End of HELP info import socket import string, re import rfc822 +import types SMTP_PORT = 25 CRLF="\r\n" @@ -317,11 +318,13 @@ class SMTP: #some useful methods - def sendmail(self,from_addr,to_addrs,msg,mail_options=[],rcpt_options=[]): + def sendmail(self, from_addr, to_addrs, msg, mail_options=[], + rcpt_options=[]): """ This command performs an entire mail transaction. The arguments are: - from_addr : The address sending this mail. - to_addrs : a list of addresses to send this mail to + (a string will be treated as a list with 1 address) - msg : the message to send. - mail_options : list of ESMTP options (such as 8bitmime) for the mail command @@ -376,6 +379,8 @@ class SMTP: self.rset() raise SMTPSenderRefused senderrs={} + if type(to_addrs) == types.StringType: + to_addrs = [to_addrs] for each in to_addrs: (code,resp)=self.rcpt(each, rcpt_options) if (code <> 250) and (code <> 251):