Changeset - 9766f0baf5c5
[Not reviewed]
beta
0 1 1
Marcin Kuzminski - 13 years ago 2012-06-20 21:12:56
marcin@python-works.com
Use local_hostname in mailer
2 files changed with 25 insertions and 3 deletions:
0 comments (0 inline, 0 general)
rhodecode/lib/rcmail/smtp_mailer.py
Show inline comments
 
@@ -27,6 +27,7 @@ import smtplib
 
from socket import sslerror
 
from email.utils import formatdate
 
from rhodecode.lib.rcmail.message import Message
 
from rhodecode.lib.rcmail.utils import DNS_NAME
 

	
 

	
 
class SmtpMailer(object):
 
@@ -68,9 +69,11 @@ class SmtpMailer(object):
 
        raw_msg = msg.to_message()
 

	
 
        if self.ssl:
 
            smtp_serv = smtplib.SMTP_SSL(self.mail_server, self.mail_port)
 
            smtp_serv = smtplib.SMTP_SSL(self.mail_server, self.mail_port,
 
                                         local_hostname=DNS_NAME.get_fqdn())
 
        else:
 
            smtp_serv = smtplib.SMTP(self.mail_server, self.mail_port)
 
            smtp_serv = smtplib.SMTP(self.mail_server, self.mail_port,
 
                                     local_hostname=DNS_NAME.get_fqdn())
 

	
 
        if self.tls:
 
            smtp_serv.ehlo()
 
@@ -95,4 +98,4 @@ class SmtpMailer(object):
 
            smtp_serv.quit()
 
        except sslerror:
 
            # sslerror is raised in tls connections on closing sometimes
 
            pass
 
            smtp_serv.close()
rhodecode/lib/rcmail/utils.py
Show inline comments
 
new file 100644
 
"""
 
Email message and email sending related helper functions.
 
"""
 

	
 
import socket
 

	
 

	
 
# Cache the hostname, but do it lazily: socket.getfqdn() can take a couple of
 
# seconds, which slows down the restart of the server.
 
class CachedDnsName(object):
 
    def __str__(self):
 
        return self.get_fqdn()
 

	
 
    def get_fqdn(self):
 
        if not hasattr(self, '_fqdn'):
 
            self._fqdn = socket.getfqdn()
 
        return self._fqdn
 

	
 
DNS_NAME = CachedDnsName()
 
\ No newline at end of file
0 comments (0 inline, 0 general)