Si vous développez un système qui envoie des e-mails, selon l'environnement réseau sur lequel vous travaillez, la limite de Blocage du port sortant 25 du fournisseur que vous utilisez est de 25. L'envoi de courrier via le numéro de port peut être bloqué.
Vous pouvez l'envoyer via le serveur SMTP spécifié par le fournisseur, mais c'est gênant car vous devez inclure les informations utilisateur SMTP dans les paramètres d'envoi de courrier pour le développement.
Au moment du développement, je voulais pouvoir vérifier le contenu du mail envoyé même s'il n'était pas réellement envoyé, alors quand je cherchais un serveur SMTP pour le débogage, j'ai trouvé smptd.DebuggingServer en Python. Il y avait une bibliothèque standard appelée 2 / library / smtpd.html # debuggingserver-objects).
Vous pouvez démarrer un serveur SMTP factice avec le one-liner suivant.
$ python -m smtpd -n -c DebuggingServer localhost:1025
En regardant la source du module smtpd
, il implémente uniquement SMTPServer # process_message
, donc je pense que c'est une bonne idée de créer un serveur de débogage qui a été ajusté si nécessaire.
http://hg.python.org/cpython/file/2.7/Lib/smtpd.py#l330:
class DebuggingServer(SMTPServer):
# Do something with the gathered message
def process_message(self, peer, mailfrom, rcpttos, data):
...
print '---------- MESSAGE FOLLOWS ----------'
for line in lines:
...
print '------------ END MESSAGE ------------'
Il existait déjà une bibliothèque appelée dsmtpd.
Recommended Posts