들어오는 이메일을 받고 스크립트로 전달하는 초경량 스크립트

들어오는 이메일을 받고 스크립트로 전달하는 초경량 스크립트

특정 도메인 이름으로 전송된 모든 이메일을 수신하여 스크립트로 전달하는 매우 간단한 데몬 스크립트가 필요합니다. 나는 이것을 할 수 있는 exim, qmail 또는 다른 소프트웨어가 있다는 것을 알고 있지만 호스트 성능에 영향을 미칠 큰 것을 설치하고 싶지 않습니다.

호스트를 가리키는 도메인에 대한 MX 레코드가 있습니다. 이제 포트 25에서 수신 대기하고 메일 표준 트래픽(HELO 등)에 올바르게 응답한 다음 메일을 스크립트에 넘겨주기 위한 데몬이 필요합니다.

어떻게 해야 하나요?


편집하다:domain.com이 직접 전달됩니다. POP 계정을 가지거나 이메일을 보내는 데 도메인이 필요하지 않습니다. 도메인은 보낸 이메일만 수신 *@domain.com하고 모든 이메일을 스크립트로 리디렉션하고 싶습니다.

가능하다면 C나 Perl을 사용하고 싶습니다

답변1

Python 표준 라이브러리에는 smtpdsmtp 서버 프로토콜을 구현하는 모듈이 포함되어 있습니다. 몇 줄의 파이썬으로 원하는 것을 할 수 있어야 합니다.

다음은 몇 가지 샘플 코드입니다.

import smtpd
import asyncore

class CustomSMTPServer(smtpd.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

server = CustomSMTPServer(('127.0.0.1', 25), None)

asyncore.loop()

관련 정보