Wenn Sie ein System entwickeln, das E-Mails sendet, beträgt die Grenze für Blockierung ausgehender Ports 25 des von Ihnen verwendeten Anbieters 25, abhängig von der Netzwerkumgebung, an der Sie arbeiten. Das Senden von E-Mails über die Portnummer ist möglicherweise blockiert.
Sie können es über den vom Anbieter angegebenen SMTP-Server senden. Dies ist jedoch problematisch, da Sie die SMTP-Benutzerinformationen für die Entwicklung in die E-Mail-Sendeeinstellungen aufnehmen müssen.
Zum Zeitpunkt der Entwicklung wollte ich in der Lage sein, den Inhalt der gesendeten E-Mails zu überprüfen, auch wenn sie nicht tatsächlich gesendet wurden. Als ich nach einem SMTP-Server zum Debuggen suchte, fand ich smptd.DebuggingServer in Python. Es gab eine Standardbibliothek namens 2 / library / smtpd.html (debuggingserver-Objekte).
Sie können einen Dummy-SMTP-Server mit dem folgenden Einzeiler starten.
$ python -m smtpd -n -c DebuggingServer localhost:1025
Wenn man sich die Quelle des smtpd
-Moduls ansieht, implementiert es nur SMTPServer # process_message
, daher halte ich es für eine gute Idee, einen Debug-Server zu erstellen, der nach Bedarf angepasst wurde.
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 ------------'
Es gab bereits eine Bibliothek namens dsmtpd.
Recommended Posts