more preparations for tls
This commit is contained in:
parent
56997908fd
commit
d6d37d178e
|
@ -12,6 +12,7 @@ import configparser
|
||||||
from email.mime.multipart import MIMEMultipart
|
from email.mime.multipart import MIMEMultipart
|
||||||
from email.mime.text import MIMEText
|
from email.mime.text import MIMEText
|
||||||
import logging
|
import logging
|
||||||
|
from pprint import pprint
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -32,8 +33,10 @@ class CustomHandler:
|
||||||
rcpts = []
|
rcpts = []
|
||||||
for rcpt in envelope.rcpt_tos:
|
for rcpt in envelope.rcpt_tos:
|
||||||
rcpts.append(rcpt)
|
rcpts.append(rcpt)
|
||||||
|
if(server.tls_context != None):
|
||||||
logger.debug('Receiving message from: %s:%d' % peer)
|
logger.debug('Receiving message from: %s:%d (TLS)' % peer)
|
||||||
|
else:
|
||||||
|
logger.debug('Receiving message from: %s:%d (Plaintext)' % peer)
|
||||||
logger.debug('Message addressed from: %s' % envelope.mail_from)
|
logger.debug('Message addressed from: %s' % envelope.mail_from)
|
||||||
logger.debug('Message addressed to: %s' % str(rcpts))
|
logger.debug('Message addressed to: %s' % str(rcpts))
|
||||||
|
|
||||||
|
@ -185,10 +188,13 @@ async def run(port):
|
||||||
context.load_cert_chain(TLS_CERTIFICATE, TLS_PRIVATE_KEY)
|
context.load_cert_chain(TLS_CERTIFICATE, TLS_PRIVATE_KEY)
|
||||||
controller_starttls = Controller(CustomHandler(), hostname='0.0.0.0', port=MAILPORT_STARTTLS, tls_context=context)
|
controller_starttls = Controller(CustomHandler(), hostname='0.0.0.0', port=MAILPORT_STARTTLS, tls_context=context)
|
||||||
controller_starttls.start()
|
controller_starttls.start()
|
||||||
|
logger.info("[i] Starting TLS Mailserver on port " + str(MAILPORT_STARTTLS))
|
||||||
|
|
||||||
controller_plaintext = Controller(CustomHandler(), hostname='0.0.0.0', port=port)
|
controller_plaintext = Controller(CustomHandler(), hostname='0.0.0.0', port=port)
|
||||||
controller_plaintext.start()
|
controller_plaintext.start()
|
||||||
|
|
||||||
|
logger.info("[i] Starting plaintext Mailserver on port " + str(port))
|
||||||
|
|
||||||
|
|
||||||
logger.info("[i] Ready to receive Emails")
|
logger.info("[i] Ready to receive Emails")
|
||||||
logger.info("")
|
logger.info("")
|
||||||
|
@ -197,7 +203,9 @@ async def run(port):
|
||||||
while True:
|
while True:
|
||||||
await asyncio.sleep(1)
|
await asyncio.sleep(1)
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
controller.stop()
|
controller_plaintext.stop()
|
||||||
|
if(MAILPORT_STARTTLS > 0 and TLS_CERTIFICATE != "" and TLS_PRIVATE_KEY != ""):
|
||||||
|
controller_starttls.stop()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
ch = logging.StreamHandler()
|
ch = logging.StreamHandler()
|
||||||
|
@ -231,7 +239,6 @@ if __name__ == '__main__':
|
||||||
if("tls_private_key" in Config.options("MAILSERVER")):
|
if("tls_private_key" in Config.options("MAILSERVER")):
|
||||||
TLS_PRIVATE_KEY = Config.get("MAILSERVER", "TLS_PRIVATE_KEY")
|
TLS_PRIVATE_KEY = Config.get("MAILSERVER", "TLS_PRIVATE_KEY")
|
||||||
|
|
||||||
logger.info("[i] Starting Mailserver on port " + str(port))
|
|
||||||
logger.info("[i] Discard unknown domains: " + str(DISCARD_UNKNOWN))
|
logger.info("[i] Discard unknown domains: " + str(DISCARD_UNKNOWN))
|
||||||
logger.info("[i] Max size of attachments: " + str(ATTACHMENTS_MAX_SIZE))
|
logger.info("[i] Max size of attachments: " + str(ATTACHMENTS_MAX_SIZE))
|
||||||
logger.info("[i] Listening for domains: " + str(DOMAINS))
|
logger.info("[i] Listening for domains: " + str(DOMAINS))
|
||||||
|
|
Loading…
Reference in a new issue