Python3 smtpd — SMTP 服务器
smtpd
是 Python 的一个标准库,用于创建简单的 SMTP 服务器。以下是一个简单的 SMTP 服务器示例,它接收邮件,并将邮件的内容打印到控制台:
import smtpd
from email import parser
class CustomSMTPServer(smtpd.SMTPServer):
def process_message(self, peer, mailfrom, rcpttos, data):
# 解析邮件内容
message = parser.Parser().parsestr(data)
# 打印邮件的发件人和收件人
print(f"Mail from: {mailfrom}")
print(f"RCPT to: {rcpttos}")
# 打印邮件的主题和内容
print(f"Subject: {message['subject']}")
print(message.get_payload(decode=True).decode())
if __name__ == "__main__":
# 设置服务器监听的地址和端口
server = CustomSMTPServer(('localhost', 1025), None)
server.serve_forever()
要运行这个 SMTP 服务器,请确保您的电子邮件客户端配置为使用 localhost 的 1025 端口发送邮件。在运行上述代码的同一台机器上,使用任何邮件客户端发送邮件,邮件内容将被打印到控制台。
评论已关闭