Gewusst wie: senden einer E-mail direkt an SMTP-server ohne Authentifizierung?

Ich würde gerne eine E-Mail senden direkt aus einem Skript für eine Google Mail-Konto, verbinden Sie sich direkt mit smtp.gmail.com.

Allerdings würde ich es vorziehen, nicht zu haben, das gmail-Passwort in das Skript. Von was ich gelesen habe, scheint es, dass Google Mail erfordert eine Authentifizierung, bevor es liefert jede E-mail, einschließlich Ihrer eigenen Benutzer.

Meine Frage ist, wie ist die E-Mails von anderen SMTP-server jemals geliefert, seit, der SMTP-server wird nicht Google Mail-Anmeldeinformationen. Hat Gmail nur die eine Authentifizierung erfordern, für "anonyme" - VERSENDER, und da mein script läuft auf einem personal-computer, Sie unterliegen der höheren Sicherheit? Hier ist das python-script, das ich verwende:

import smtplib
import email
msg = email.message.Message()
msg["From"] = "[email protected]"
msg["To"] = "[email protected]"
msg["Subject"] = "Test message"
server = smtplib.SMTP("smtp.gmail.com",587)
server.starttls()
server.ehlo_or_helo_if_needed()
try:
    failed = server.sendmail("[email protected]","[email protected]", msg.as_string())
    server.close()
except Exception as e:
    print(e)

Wenn ich dieses Skript ausführen, wird die Ausgabe:

(530, b'5.5.1 Authentication Required. Learn more at
5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 fw5sm21125889wib.0', '[email protected]')

Meine Frage ist, wie externen SMTP-Server dieses problem vermeiden? Und das ist, was Sie tun, replizierbar in einem lokalen Skript, oder erfordert es die korrekte reverse-DNS-records, SPF-records, etc.?

InformationsquelleAutor janak | 2012-03-19
Schreibe einen Kommentar