2009-05-21 6 views
0

buildin ein SMTP-Client in Python. Das kann Mail senden, und zeigen Sie auch, dass Mail über einen Mail-Dienst wie Gmail empfangen wurde !!Wie würde man einen SMTP-Client in Python erstellen?

+1

Ich denke, Sie werden bessere Antworten erhalten, wenn Sie mehr Details/Kontext in Ihrem Fragetext bereitstellen. –

Antwort

2

Erstellen Sie E-Mail-Nachrichten (möglicherweise mit mehrteiligen Anlagen) mit email.

Das Paket email ist eine Bibliothek zum Verwalten von E-Mail-Nachrichten, einschließlich MIME und anderen RFC 2822-basierten Nachrichtendokumenten.

Sende Mail unter Verwendung smtplib

smtplib Das Modul ein SMTP-Client Sitzungsobjekt definiert, das verwendet werden kann mit einer oder SMTP-Listener ESMTP Daemon Mail an jede Internet-Maschine zu senden.

Wenn Sie eine Remote-Mailbox in gerade interessiert sind (zum Beispiel, um zu sehen, ob die Nachricht Sie sind angekommen gesendet), benötigen Sie einen Mail-Dienst zugänglich über ein bekanntes Protokoll. Ein beliebtes Beispiel ist das Modul imaplib, das die IMAP4 protocol implementiert. IMAP ist supported by gmail.

Dieser (imaplib) -Modul definiert drei Klassen, IMAP4, IMAP4_SSL und IMAP4_stream, die eine Verbindung zu einem IMAP4-Server einkapseln und eine große Teilmenge des Protokolls IMAP4rev1 Client implementieren, wie in RFC 2060 definiert ist rückwärts kompatibel mit IMAP4-Server (RFC 1730), beachten Sie jedoch, dass der Befehl STATUS in IMAP4 nicht unterstützt wird.

1

Wenn Sie möchten, dass die Python-Standardbibliothek die Arbeit für Sie erledigt (empfohlen!), Verwenden Sie smtplib. Um zu sehen, ob das Senden der Mail funktioniert, öffnen Sie einfach Ihren Posteingang;)

Wenn Sie das Protokoll selbst implementieren möchten (ist das Hausaufgabe?), Dann lesen Sie auf SMTP protocol und verwenden Sie z. das Modul.

0

Hängt davon ab, was Sie mit "erhalten" meinen. Es ist möglich, die "Zustellung" einer Nachricht an einen Server zu überprüfen, aber es gibt keine 100% zuverlässige Garantie, dass sie tatsächlich in einer Mailbox gelandet ist. smtplib löst unter bestimmten Bedingungen eine Ausnahme aus (wie der Benutzer, der das Remote-Ende meldet, wurde nicht gefunden), aber genauso oft akzeptiert das Remote-Ende die Mail und filtert sie entweder oder filtert zu einem späteren Zeitpunkt eine Bounce-Benachrichtigung.

Verwandte Themen