E-Mail versenden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
boeserkorn
User
Beiträge: 16
Registriert: Freitag 22. September 2017, 19:46

Hallo und Danke für die Aufnahme

ich bin Malte und habe bis jetzt nur Grundkenntnisse in Python, deswegen kann eine Frage vielleicht mal richtig dumm klingen.

ich wollte eine einfache Routine schreiben die mir eine E-Mail versendet.
leider klappt es nicht so wie ich es hätte, habe auch schon im Internet gesucht, konnte aber leider nicht mein Problem lösen.

ich habe Python 2.7.6 was ich über Pycharm programmiere

Code: Alles auswählen

__author__ = 'malte'
import smtplib

gmail_user = '*********@googlemail.com'
gmail_password = '********'
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()

server.login(gmail_user, gmail_password)
server.sendmail(gmail_user,gmail_user,"test")
er spuckt mir folgenden Fehler raus:

Code: Alles auswählen

/usr/bin/python2.7 /home/malte/PycharmProjects/Elektronik_Bauteile/email_test.py
Traceback (most recent call last):
  File "/home/malte/PycharmProjects/Elektronik_Bauteile/email_test.py", line 9, in <module>
    server.login(gmail_user, gmail_password)
  File "/usr/lib/python2.7/smtplib.py", line 615, in login
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, '5.7.8 Username and Password not accepted. Learn more at\n5.7.8  https://support.google.com/mail/?p=BadCredentials k8sm865608ede.91 - gsmtp')

Process finished with exit code 1
Passwort und Benutzer sind korrekt und deswegen weiss ich nicht woran es liegen kann, den SMTP Server habe ich evtl. in Verdacht, hat jemand allternativen bzw. vielleicht sogar eine andere Routine

würde das ganze auch gerne über meine E-Mail Adresse vom Nebengewerbe laufen lassen, da habe ich aber leider Probleme das es nicht funktioniert, die Routine läuft zwar durch aber es kommt keine E-Mail an.
die E-Mail Adresse ist mit SSL verschlüsselt.



Vielen Dank für die Hilfe
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@boeserkorn: Google hat ein höheres Sicherheitsniveau. Wenn Du dem Link in der Fehlermeldung folgst, erfährst Du, dass Du für jedes Programm, das zugreifen will einen eigenen App-Key brauchst.
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Habe meinen Post gelöscht, weil hier irrelevant. Sorry :-)
noisefloor
boeserkorn
User
Beiträge: 16
Registriert: Freitag 22. September 2017, 19:46

und warum bekomme ich bei der anderen E-Mail Adresse keine reaktion?

hab es ja mit einer anderen versucht und es kam keine Fehlermeldung aber leider auch keine E-Mail, Spamordner usw. berücktsichtigt
boeserkorn
User
Beiträge: 16
Registriert: Freitag 22. September 2017, 19:46

Code: Alles auswählen

__author__ = 'malte'
import smtplib
email_adress= "info@ele*****ss.de"
email_empfaenger = "***********@googlemail.com"
server = smtplib.SMTP_SSL('smtp.ele******ss.de',465)
#server.ehlo()
server.login(email_adress,"***********")
msg= "Hello2 :"

server.sendmail(email_adress,email_empfaenger ,msg)
server.quit()
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@boeserkorn: wenn keine Meldung vom Server kommt, kann man schlecht sagen, warum etwas nicht tut.
boeserkorn
User
Beiträge: 16
Registriert: Freitag 22. September 2017, 19:46

gibt es denn eine Möglichkeit dies zu protokollieren?
um zu sehen was nun genau der Fehler ist
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
gibt es denn eine Möglichkeit dies zu protokollieren?
Die Fehlermeldung des Servers siehst du auf stdout, wie in deinem Eingangspost auch zu sehen ist. Wenn da nix kommt und die nicht aus unbekannten Gründen stdout "umgebogen" hast, dann kannst du leider nichts protokollieren.

Gruß, noisefloor
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@noisefloor: ein Server gibt nichts auf stdout aus, alles was boeserkorn sieht ist, wenn smtplib eine Exception wegen einer Fehlerrückmeldung des Servers wirft, und die wird auf stderr ausgegeben, wenn sie nicht abgefangen wird.
boeserkorn
User
Beiträge: 16
Registriert: Freitag 22. September 2017, 19:46

das heißt jetzt für mich?

ich bin noch Anfänger und kenne eher nur Grundkenntnisse.

kann ich noch was versuchen?
boeserkorn
User
Beiträge: 16
Registriert: Freitag 22. September 2017, 19:46

Hallo

habe mal

Code: Alles auswählen

server.set_debuglevel(5)
mit in die Routine gepackt.

was mir folgendes ausgegeben hat:

Code: Alles auswählen

send: 'ehlo [127.0.1.1]\r\n'
reply: '250-player***.ha.ovh.net\r\n'
reply: '250-SIZE 104850000\r\n'
reply: '250-AUTH PLAIN LOGIN\r\n'
reply: '250-AUTH=PLAIN LOGIN\r\n'
reply: '250-ENHANCEDSTATUSCODES\r\n'
reply: '250 8BITMIME\r\n'
reply: retcode (250); Msg: player***.ha.ovh.net
SIZE 104850000
AUTH PLAIN LOGIN
AUTH=PLAIN LOGIN
ENHANCEDSTATUSCODES
8BITMIME
send: 'AUTH PLAIN AGlu****************************************2KE1TKQ==\r\n'
reply: '235 2.7.0 Authentication successful\r\n'
reply: retcode (235); Msg: 2.7.0 Authentication successful
send: 'mail FROM:<info@ele***********ss.de> size=8\r\n'
reply: '250 2.1.0 Ok\r\n'
reply: retcode (250); Msg: 2.1.0 Ok
send: 'rcpt TO:<**************@googlemail.com>\r\n'
reply: '250 2.1.5 Ok\r\n'
reply: retcode (250); Msg: 2.1.5 Ok
send: 'data\r\n'
reply: '354 End data with <CR><LF>.<CR><LF>\r\n'
reply: retcode (354); Msg: End data with <CR><LF>.<CR><LF>
data: (354, 'End data with <CR><LF>.<CR><LF>')
send: 'Hello2 :\r\n.\r\n'
reply: '250 2.0.0 Ok: queued as 1664B2E007A\r\n'
reply: retcode (250); Msg: 2.0.0 Ok: queued as 1664B2E007A
data: (250, '2.0.0 Ok: queued as 1664B2E007A')
send: 'quit\r\n'
reply: '221 2.0.0 Bye\r\n'
reply: retcode (221); Msg: 2.0.0 Bye
ich hab so das Gefühl, als ob die eigentlich verschickt wurde, leider kam wieder keine E-Mail an
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@boeserkorn: es sieht seltsam aus, wenn Du eine Mail mit Absender `**ss.de` über einen Server mit der Addresse `ovh.net` versendest. Erlaubt das der Server überhaupt?
boeserkorn
User
Beiträge: 16
Registriert: Freitag 22. September 2017, 19:46

ja, es ist bei dem Provider so hinterlegt.

am Rechner funktioniert das auch schon seit Jahren
boeserkorn
User
Beiträge: 16
Registriert: Freitag 22. September 2017, 19:46

@Dasich

kannst du mir helfen?

hab heute Nacht die Daten importieren lassen und er hat innerhalb von 1.5h 20551 Datensätze in die Datenbank geschrieben.
Danach und davor und danach hat er ca. 8h für die gleiche Datenmenge gebraucht, Aufbau und Routine ist die gleiche gewesen

weisst du warum die Zeiten so unterschiedlich sind?

Code: Alles auswählen

05.10.2017 09:25:28
klaas_eisman
201703-09 dithmarsen.xls
215000019374
20551
05.10.2017 16:46:09
klaas_eisman
201703-09 immenste.xls
225010041504
20551
06.10.2017 00:59:53
klaas_eisman
201703-09 heinrichs.xls
215000047128
20551
06.10.2017 02:20:05
klaas_eisman
201703-09 113.xls
225010036614
20551
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@boeserkorn: Du solltest Deinen Beitrag im richtigen Thread posten.
Antworten