Re: svn commit: r1872398 - in /subversion/trunk/tools/hook-scripts/mailer: mailer.conf.example mailer.py
futat...@apache.org wrote on Mon, Jan 06, 2020 at 23:34:17 -: > +++ subversion/trunk/tools/hook-scripts/mailer/mailer.conf.example Mon Jan 6 > 23:34:17 2020 > @@ -23,6 +23,10 @@ > # This option specifies the hostname for delivery via SMTP. > #smtp_hostname = localhost > > +# This option specifies the TCP port number to connect for SMTP. > +# If it is not specified, 25 is used by default. > +#smtp_port = 25 > + > +++ subversion/trunk/tools/hook-scripts/mailer/mailer.py Mon Jan 6 23:34:17 > 2020 > @@ -299,11 +299,15 @@ class SMTPOutput(MailedOutput): > (to minimize the chances of said lockout). > """ > > +if self.cfg.is_set('general.smtp_port'): > + smtp_port = self.cfg.general.smtp_port > +else: > + smtp_port = smtplib.SMTP_PORT > try: >if self.cfg.is_set('general.smtp_ssl') and self.cfg.general.smtp_ssl > == 'yes': > -server = smtplib.SMTP_SSL(self.cfg.general.smtp_hostname) > +server = smtplib.SMTP_SSL(self.cfg.general.smtp_hostname, smtp_port) This seems to be a breaking change. The old code, «smtplib.SMTP_SSL(foo)», used port 465; the new code, «smtplib.SMTP_SSL(foo, smtplib.SMTP_PORT)», will try to connect to port 25 using SMTP-over-SSL until the administrator sets smtp_port=465 in the config file. Cheers, Daniel >else: > -server = smtplib.SMTP(self.cfg.general.smtp_hostname) > +server = smtplib.SMTP(self.cfg.general.smtp_hostname, smtp_port)
svn commit: r1872398 - in /subversion/trunk/tools/hook-scripts/mailer: mailer.conf.example mailer.py
Author: futatuki Date: Mon Jan 6 23:34:17 2020 New Revision: 1872398 URL: http://svn.apache.org/viewvc?rev=1872398&view=rev Log: Add new option smtp_port to specifiy the port to connect * tools/hook-scripts/mailer/mailer.py (SMTPOutput.finish): Specify the port number to connect for SMTP/SMTP_SSL explicitly, by new option general.smtp_port. * tools/hook-scripts/mailer/mailer.conf.example ([genral]): New option 'smtp_port' Modified: subversion/trunk/tools/hook-scripts/mailer/mailer.conf.example subversion/trunk/tools/hook-scripts/mailer/mailer.py Modified: subversion/trunk/tools/hook-scripts/mailer/mailer.conf.example URL: http://svn.apache.org/viewvc/subversion/trunk/tools/hook-scripts/mailer/mailer.conf.example?rev=1872398&r1=1872397&r2=1872398&view=diff == --- subversion/trunk/tools/hook-scripts/mailer/mailer.conf.example (original) +++ subversion/trunk/tools/hook-scripts/mailer/mailer.conf.example Mon Jan 6 23:34:17 2020 @@ -23,6 +23,10 @@ # This option specifies the hostname for delivery via SMTP. #smtp_hostname = localhost +# This option specifies the TCP port number to connect for SMTP. +# If it is not specified, 25 is used by default. +#smtp_port = 25 + # Username and password for SMTP servers requiring authorisation. #smtp_username = example #smtp_password = example Modified: subversion/trunk/tools/hook-scripts/mailer/mailer.py URL: http://svn.apache.org/viewvc/subversion/trunk/tools/hook-scripts/mailer/mailer.py?rev=1872398&r1=1872397&r2=1872398&view=diff == --- subversion/trunk/tools/hook-scripts/mailer/mailer.py (original) +++ subversion/trunk/tools/hook-scripts/mailer/mailer.py Mon Jan 6 23:34:17 2020 @@ -299,11 +299,15 @@ class SMTPOutput(MailedOutput): (to minimize the chances of said lockout). """ +if self.cfg.is_set('general.smtp_port'): + smtp_port = self.cfg.general.smtp_port +else: + smtp_port = smtplib.SMTP_PORT try: if self.cfg.is_set('general.smtp_ssl') and self.cfg.general.smtp_ssl == 'yes': -server = smtplib.SMTP_SSL(self.cfg.general.smtp_hostname) +server = smtplib.SMTP_SSL(self.cfg.general.smtp_hostname, smtp_port) else: -server = smtplib.SMTP(self.cfg.general.smtp_hostname) +server = smtplib.SMTP(self.cfg.general.smtp_hostname, smtp_port) except Exception as detail: sys.stderr.write("mailer.py: Failed to instantiate SMTP object: %s\n" % (detail,)) # Any error to instantiate is fatal