Add some debugging
parent
4e1e9345a7
commit
a1981f23ab
|
@ -1,6 +1,7 @@
|
||||||
FROM python:alpine
|
FROM python:alpine
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
RUN pip install --no-cache requests configargparse xdg https://github.com/aio-libs/aiosmtpd/archive/refs/heads/master.zip
|
RUN pip install --no-cache requests configargparse xdg aiosmtpd
|
||||||
COPY ./libertyforward.py .
|
COPY ./libertyforward.py .
|
||||||
|
EXPOSE 25
|
||||||
CMD ["python", "/usr/src/app/libertyforward.py"]
|
CMD ["python", "/usr/src/app/libertyforward.py"]
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
from time import sleep
|
||||||
import requests
|
import requests
|
||||||
from asyncio import new_event_loop
|
from aiosmtpd.controller import Controller
|
||||||
from aiosmtpd.controller import UnthreadedController as Controller
|
|
||||||
from configargparse import ArgParser
|
from configargparse import ArgParser
|
||||||
from xdg import xdg_config_home
|
from xdg import xdg_config_home
|
||||||
|
|
||||||
|
@ -27,10 +27,10 @@ class MailerHandlerMixin:
|
||||||
self._api_token = value
|
self._api_token = value
|
||||||
|
|
||||||
|
|
||||||
class KingMailerHandler(MailerHandlerMixin):
|
class KingMailerHandler(object):
|
||||||
|
|
||||||
async def handle_DATA(self, server, session, envelope):
|
async def handle_DATA(self, server, session, envelope):
|
||||||
print('Incoming mesage from: {}'.format(envelope.mail_from))
|
print('Incoming mesage from: {}'.format(envelope.mail_from), flush=True)
|
||||||
payload = {
|
payload = {
|
||||||
'mail_from': envelope.mail_from,
|
'mail_from': envelope.mail_from,
|
||||||
'rcpt_to': envelope.rcpt_tos,
|
'rcpt_to': envelope.rcpt_tos,
|
||||||
|
@ -40,18 +40,23 @@ class KingMailerHandler(MailerHandlerMixin):
|
||||||
response = requests.post('https://api.kingmailer.co/api/v1/send/raw', data=payload, headers=headers)
|
response = requests.post('https://api.kingmailer.co/api/v1/send/raw', data=payload, headers=headers)
|
||||||
print(response)
|
print(response)
|
||||||
if response.ok:
|
if response.ok:
|
||||||
print('Message accepted')
|
print('Message accepted', flush=True)
|
||||||
return '250 Message accepted for delivery'
|
return '250 Message accepted for delivery'
|
||||||
else:
|
else:
|
||||||
print('Could not process')
|
print('Could not process', flush=True)
|
||||||
return '500 Could not process your message'
|
return '500 Could not process your message'
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
print('Starting LibertyForward', flush=True)
|
||||||
args = parse_args()
|
args = parse_args()
|
||||||
loop = new_event_loop()
|
|
||||||
handler = KingMailerHandler()
|
handler = KingMailerHandler()
|
||||||
handler.api_token = args.api_token
|
handler.api_token = args.api_token
|
||||||
controller = Controller(handler, hostname='127.0.0.1', port=25, loop=loop)
|
controller = Controller(handler, hostname='127.0.0.1', port=25)
|
||||||
controller.begin()
|
print('Starting controller thread', flush=True)
|
||||||
loop.run_forever()
|
controller.start()
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
sleep(1)
|
||||||
|
except:
|
||||||
|
break
|
||||||
|
|
Loading…
Reference in New Issue