Crearea serverului Python Email (receptionare)

Încerc să produc un script de tip python simplu pentru un Linux VPS care să-mi permită să primesc poștă (și apoi pot să fac lucruri în Python, cum ar fi imprimarea la stdout). Nimic mai complex decât asta.

Nu vreau să folosesc o soluție "greu" sau un program de server, sunt într-adevăr doar după un script simplu de tip python pe care pot rula și este capabil să primească poștă.

Modulul smtpd al Pythons este suficient pentru această sarcină? Am auzit opinii contradictorii până acum. Dacă nu, ce altceva ați sugera? Poate că ați spart unele coduri singuri?

În acest stadiu, chiar și proiectele, cum ar fi lamson, par prea grele (deși acest lucru poate fi inevitabil dacă nu găsesc o soluție mai bună).

9
Iată un exemplu cu smtpd: broadcast.oreilly.com/2008/10/pymotw -smtpd.html Dacă nu intenționați să găzduiți în mod public serverul de e-mail și vă satisface nevoile, nu văd nicio problemă cu acesta.
adăugat autor schlamar, sursa

2 răspunsuri

Pythons smtpd este suficient.

You might also want to take a look at inbox.py and this example

12
adăugat
Mulțumiri. Iată exact informațiile pe care le am după. Când am citit inbox.py și am văzut acest lucru "Acesta este cel mai simplu server SMTP pe care îl veți vedea vreodată. Un exemplu ar trebui să gestioneze peste o mie de e-mailuri pe secundă". Am explodat.
adăugat autor 64bit_twitchyliquid, sursa

Da, modulul SMTPD va fi de ajutor complet. Codul exemplu este aici :

  importați smtpd
asincronă de import

clasa CustomSMTPServer (smtpd.SMTPServer):

    def process_message (auto, peer, mailfrom, rcpttos, date):
        print 'Primirea mesajului de la:', peer
        print 'Mesaj adresat de la:', mailfrom
        print 'Mesaj adresat:', rcpttos
        print 'Durata mesajului:', len (data)
        întoarcere

server = CustomSMTPServer (('127.0.0.1', 1025), Niciunul)
asyncore.loop ()
 
6
adăugat
Python România
Python România
100 participanți

Comunitatea pasionaților de Python din România.