Я пытаюсь выяснить, как использовать smtplib
и smtpd
для отправки анонимной электронной почты с моего компьютера.Я думал, что сделаю что-то подобное:
local client -> local server -> destination server -> receiver
Мой код:
import smtplib
from smtpd import SMTPServer
import email.utils
from email.mime.text import MIMEText
from asyncore import loop
class CustomSMTPServer(SMTPServer):
def process_message(self, peer, mailfrom, rcpttos, data):
print('Receiving message from:', peer)
print('Message addressed from:', mailfrom)
print('Message addressed to :', rcpttos)
print('Message length :', len(data))
return
class SendEmail:
def __init__(self):
self.server = None
self.run_server()
self.send_message()
loop()
def run_server(self):
self.server = CustomSMTPServer(('localhost', 1025), None)
print('Running server...')
def send_message(self):
print('Sending message...')
msg = MIMEText('This is the body')
msg['To'] = email.utils.formataddr(('Recipient', 'destination@mail.com'))
msg['From'] = email.utils.formataddr(('Author', 'author@mail.com'))
msg['Subject'] = 'Simple test message'
client = smtplib.SMTP('localhost')
try:
client.sendmail('author@mail.com', ['destination@mail.com'], msg.as_string())
print('Sent...')
finally:
print('Failed...')
client.quit()
SendEmail()
У меня ConnectionRefusedError: [Errno 111] Connection refused