only accept mail to netflix_clicker
This commit is contained in:
parent
245486b95c
commit
78215fca70
@ -7,10 +7,18 @@ import asyncio
|
|||||||
|
|
||||||
URL_PATTERN = re.compile(b'"(https://www.netflix.com/account/update-primary-location.*?)"', re.DOTALL)
|
URL_PATTERN = re.compile(b'"(https://www.netflix.com/account/update-primary-location.*?)"', re.DOTALL)
|
||||||
|
|
||||||
|
|
||||||
class NetflixHandler:
|
class NetflixHandler:
|
||||||
|
|
||||||
|
async def handle_RCPT(self, session, envelope, address, rcpt_options):
|
||||||
|
if 'netflix_clicker' not in address:
|
||||||
|
logger.info(f'Rejected mail from {envelope.mail_from}')
|
||||||
|
return '550 not relaying to that domain'
|
||||||
|
envelope.rcpt_tos.append(address)
|
||||||
|
logger.info(f'Accepted mail from {envelope.mail_from}')
|
||||||
|
return '250 OK'
|
||||||
|
|
||||||
async def handle_DATA(self, session, envelope, *args):
|
async def handle_DATA(self, session, envelope, *args):
|
||||||
logger.info('Message from %s' % envelope.mail_from)
|
|
||||||
data = quopri.decodestring(
|
data = quopri.decodestring(
|
||||||
envelope.content.decode('utf8', errors='replace')
|
envelope.content.decode('utf8', errors='replace')
|
||||||
)
|
)
|
||||||
@ -22,6 +30,9 @@ class NetflixHandler:
|
|||||||
browser.click(url.decode())
|
browser.click(url.decode())
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(e)
|
logger.error(e)
|
||||||
|
elif 'google' in envelope.mail_from:
|
||||||
|
logger.info(data)
|
||||||
|
|
||||||
return '250 Message accepted for delivery'
|
return '250 Message accepted for delivery'
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user