Handle @ in localpart.

This commit is contained in:
Stuart Gathman
2009-07-02 19:41:12 +00:00
parent f6a3b57fb9
commit 939fc61df7
2 changed files with 8 additions and 1 deletions
+4
View File
@@ -458,6 +458,10 @@ class Milter(Base):
# This factory method is called for each connection to create the # This factory method is called for each connection to create the
# python object that tracks the connection. It should return # python object that tracks the connection. It should return
# an object derived from Milter.Base. # an object derived from Milter.Base.
#
# Note that since python is dynamic, this variable can be changed while
# the milter is running: for instance, to a new subclass based on a
# change in configuration.
factory = Milter factory = Milter
## @private ## @private
+4 -1
View File
@@ -5,6 +5,9 @@
# Send DSNs, do call back verification, # Send DSNs, do call back verification,
# and generate DSN messages from a template # and generate DSN messages from a template
# $Log$ # $Log$
# Revision 1.18 2009/06/10 18:01:59 customdesigned
# Doxygen updates
#
# Revision 1.17 2009/05/20 20:08:44 customdesigned # Revision 1.17 2009/05/20 20:08:44 customdesigned
# Support non-DSN CBV (non-empty MAIL FROM) # Support non-DSN CBV (non-empty MAIL FROM)
# #
@@ -79,7 +82,7 @@ def send_dsn(mailfrom,receiver,msg=None,timeout=600,session=None,ourfrom=''):
Mailfrom is original sender we are sending DSN or CBV to. Mailfrom is original sender we are sending DSN or CBV to.
Receiver is the MTA sending the DSN. Receiver is the MTA sending the DSN.
Return None for success or (code,msg) for failure.""" Return None for success or (code,msg) for failure."""
user,domain = mailfrom.split('@') user,domain = mailfrom.rsplit('@',1)
if not session: session = dns.Session() if not session: session = dns.Session()
try: try:
mxlist = session.dns(domain,'MX') mxlist = session.dns(domain,'MX')