smtplib connection failed

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
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Hallo,

versuche mit eigenem smtp-server mails zu versenden.

Habe dazu eines der mail beispiele probiert.

Code: Alles auswählen

        # Send the email via our own SMTP server.
        s = smtplib.SMTP()
        s.connect()
        s.sendmail(me, family, msg.as_string())
        s.close()

Das klappt aber leider nicht, da connect() eine exception wirft,

smtplib.SMTPServerDisconnected: Connection unexpectedly closed

Traceback (innermost last):
s.connect()
File "C:\Python24\Lib\smtplib.py", line 304, in connect
(code, msg) = self.getreply()
File "C:\Python24\Lib\smtplib.py", line 348, in getreply
raise SMTPServerDisconnected("Connection unexpectedly closed")

System ist WindowsXP, Firewall aus habe ich auch probiert. :-(

Weiss jemand was ich dagegen tun kann ?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Mad-Marty hat geschrieben:versuche mit eigenem smtp-server mails zu versenden.
Hi Mad-Marty!

- Was gibt ``telnet localhost 25`` aus?
- Ist der lokale SMTP-Server wirklich installiert?
- Ist der lokale SMTP-Server als Dienst aktiviert (eingeschaltet)?
- Funktioniert folgendes VisualBasicScript? (als email.vbs abspeichern)

Code: Alles auswählen

Dim objEmail
Set objEmail = CreateObject("CDONTS.NewMail")
objEmail.MailFormat = 0
objEmail.From = "<eigene Emailadresse>"
objEmail.To = "<eigene Emailadresse>"
objEmail.Subject = "Das ist der Betreff"
objEmail.Body = "Das ist der Body"
objEmail.Send
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

:shock:

Ok, ich habe keinen Server installiert .....

Dachte das SMTP packet stellt mir einen mini-server nur für das versenden von emails zur verfügung :-(


Gibt es sowas in Python ?

(Ausgehend von den vielen Würmern denke ich das das nicht allzugross sein muss ...)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Mad-Marty hat geschrieben:Dachte das SMTP packet stellt mir einen mini-server nur für das versenden von emails zur verfügung
Hi Mad-Marty!

Nein, Python stellt dir nur die Client-Seite zur Verfügung. Unter Windows 2000 kann man den SMTP-Server (Miniversion) nachinstallieren.

Systemsteuerung --> Software --> Windows Komponenten...

Bild

Ob es so etwas bei XP auch gibt? Keine Ahnung. Wenn nicht, dann ist das auch kein Weltuntergang. Es gibt ja immer noch solche Tools wie

- Jana Server - http://www.janaserver.de/

- agsmail - http://www.argosoft.com/mailserver/download.aspx

- Mercur - http://www.atrium-softwareusa.com/EN/me ... ducts.html

:-)

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Danke Gerold.

Schade, das da ein SMTP erst installiert werden muss,
gerade nur um mail zu versenden.

Werde heute mal danach suchen, aber denke wenn das bei 2k dabei ist, ist es auch bei XP dabei.

Rein interessehalber, wie ist das bei linux ?
Da man ja eigentlich immer eine mail versenden kann, installiert sich da der smtp normalerweise mit, oder kommt das ohne aus ?
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Du hast doch normalerweise von Deinem Provider einen SMTP-Server mitgeteilt bekommen den Du zum verschicken von Mails benutzen sollst. Diesen solltest Du auch verwenden, da ein lokaler Mailserver der relaying macht (also Mails ins Netz verschickt) meißtens von anderen Mailservern die eine RBL benutzen geblockt wird, da er sich in einem Dialin-Bereich befindet (also Deine IP eine Dialup-IP ist, und die meißten großen Mailanbieter Mail von diesen Blockieren als Spamvermeidungsmaßnahme).

Ob Deine IP blockiert ist kannst Du ganz einfach über:

http://www.dnsstuff.com/

rausfinden, bei mir sieht das ganze folgendermaßen aus:

http://www.dnsstuff.com/tools/ip4r.ch?ip=84.130.195.64

Ich bin in mindestens 4 RBLs gelistet, werde also Probleme haben bei manchen Hosts Mail zuzustellen wenn ich einen lokalen SMTP betreibe der selbst Mails zustellt und nicht nur einfach diese an einen Provider-Mailserver weiterleitet.

Sonst: ja, bei Linux ist von den allermeißten Distributionen ein SMTP-Server vorinstalliert, nur macht dieser in der Standardkonfiguration nichts anderes als Mails weiterzuleiten an einen zentralen Server (bei Deinem Provider), was Du bei der Konfiguration angibst (fungiert dann als sogenanntes smart-relay).

<edit>Ganz davon abgesehen: glaub mir dass Du keinen eigenen Mailserver betreiben willst. Die Konfiguration für einen funktionierenden Mailserver ist alles andere als einfach, und auch zu verhindern dass man als Spam-Relay benutzt wird ist nicht umbedingt trivial.</edit>

--- Heiko.
Antworten