2012-06-01 11 views
8

Estoy tratando de producir un script de python simple para un VPS de Linux que me permita recibir correo (y luego puedo hacer cosas en python, como imprimirlo en stdout). Nada más complejo que eso.Creación de servidor (de recepción) de correo electrónico de Python

No quiero usar una solución 'pesada' o un programa de servidor, estoy realmente solo después de una simple secuencia de comandos python que puedo ejecutar y que es capaz de recibir correo.

¿El módulo smtpd de Will Pythons es suficiente para esta tarea? He escuchado opiniones conflictivas hasta ahora. Si no, ¿qué más sugerirías? ¿Tal vez has pirateado algún código tú mismo?

En esta etapa, incluso proyectos como lamson parecen demasiado pesados ​​(aunque esto puede ser inevitable si no puedo encontrar una mejor solución).

+0

Aquí se muestra un ejemplo con smtpd: http://broadcast.oreilly.com/2008/10/pymotw-smtpd.html Si no tiene la intención de alojar su servidor de correo públicamente y satisface tus necesidades, no veo ningún problema con eso. – schlamar

Respuesta

11

Pythons smtpd es suficiente.

También puede ser que desee echar un vistazo a inbox.py y this example

+1

Gracias. Esta es exactamente la información que estoy buscando. Cuando leí inbox.py y vi esto: "Este es el servidor SMTP más simple que jamás verá. Una instancia debería manejar más de mil correos electrónicos por segundo". Exploté –

6

Sí Módulo SMTPD será de ayuda completa. Example code is here:

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', 1025), None) 
asyncore.loop() 
Cuestiones relacionadas