diff options
author | Neil Schemenauer <nascheme@enme.ucalgary.ca> | 2002-03-24 15:30:40 (GMT) |
---|---|---|
committer | Neil Schemenauer <nascheme@enme.ucalgary.ca> | 2002-03-24 15:30:40 (GMT) |
commit | 6730f26cb06d06e6213fe528709a51a4382901c1 (patch) | |
tree | 74ffebdbafc54e7ce46243962973d91ec123960d | |
parent | 03f3ee6d891e86d3744793f5d66624e52c8261d5 (diff) | |
download | cpython-6730f26cb06d06e6213fe528709a51a4382901c1.zip cpython-6730f26cb06d06e6213fe528709a51a4382901c1.tar.gz cpython-6730f26cb06d06e6213fe528709a51a4382901c1.tar.bz2 |
Add local_hostname option to SMTP.__init__. If supplied, it is used
as the fully qualified local hostname.
-rwxr-xr-x | Lib/smtplib.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/Lib/smtplib.py b/Lib/smtplib.py index 079f128..a6224e0 100755 --- a/Lib/smtplib.py +++ b/Lib/smtplib.py @@ -220,13 +220,15 @@ class SMTP: ehlo_resp = None does_esmtp = 0 - def __init__(self, host = '', port = 0): + def __init__(self, host = '', port = 0, local_hostname = None): """Initialize a new instance. If specified, `host' is the name of the remote host to which to connect. If specified, `port' specifies the port to which to connect. By default, smtplib.SMTP_PORT is used. An SMTPConnectError is raised - if the specified `host' doesn't respond correctly. + if the specified `host' doesn't respond correctly. If specified, + `local_hostname` is used as the FQDN of the local host. By default, + the local hostname is found using gethostbyname(). """ self.esmtp_features = {} @@ -234,6 +236,10 @@ class SMTP: (code, msg) = self.connect(host, port) if code != 220: raise SMTPConnectError(code, msg) + if local_hostname: + self.local_hostname = local_hostname + else: + self.local_hostname = socket.getfqdn() def set_debuglevel(self, debuglevel): """Set the debug output level. @@ -356,10 +362,7 @@ class SMTP: Hostname to send for this command defaults to the FQDN of the local host. """ - if name: - self.putcmd("helo", name) - else: - self.putcmd("helo", socket.getfqdn()) + self.putcmd("helo", name or self.local_hostname) (code,msg)=self.getreply() self.helo_resp=msg return (code,msg) @@ -370,10 +373,7 @@ class SMTP: host. """ self.esmtp_features = {} - if name: - self.putcmd("ehlo", name) - else: - self.putcmd("ehlo", socket.getfqdn()) + self.putcmd("ehlo", name or self.local_hostname) (code,msg)=self.getreply() # According to RFC1869 some (badly written) # MTA's will disconnect on an ehlo. Toss an exception if |