Problem beim Versenden von Emails

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
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Hi!

Ich mache mich gerade mit den "Emailfähigkeiten" von Python vertraut. Das Abholen der Mails (bzw Verbindung mit dem POP-Server) klappt auch ohne Probleme, allerdings scheitert es am Versand.

Code: Alles auswählen

>>> server = poplib.POP3('mail.ruhr-uni-bochum.de')
>>> server.getwelcome()
'+OK POP3 Ready c2-3-4 0001d77d'
>>> server.quit()
'+OK QUIT'
>>> server = smtplib.SMTP('mail.ruhr-uni-bochum.de')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/smtplib.py", line 244, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/lib/python2.5/smtplib.py", line 310, in connect
    raise socket.error, msg
socket.error: (110, 'Connection timed out')
Laut dieser Information soll man den selben Sever für POP und für SMTP nutzen, aber offensichtlich funktioniert da ja irgendwas nicht. Gibt es vielleicht eine andere Möglichkeit zum Mailversand? Wenn's gar nicht anders geht, müsste ich "mechanizen", was ich aber unschön fände.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Hallo,

kennst Du das Mail-Modul von Gerold? Wenn nicht, such mal im Forum nach Simplemail o.ä.

1und1 haben auf ihrem Webspace den direkten Aufbau von Sockets zum Mailserver gesperrt. Da muss man den Umweg über "sendmail" nehmen - extrem häßlich, aber geht da nicht anders. Man findet im Web auch deren Beispielscript, was aber buggy ist.

Vielleicht hilft Dir das ja weiter!
Benutzeravatar
tiax
User
Beiträge: 152
Registriert: Samstag 23. Juli 2005, 17:28
Kontaktdaten:

hi,

auf der URL reagiert kein mailserver.
Ne invoces expellere non possis
[url=xmpp://florian@florianheinle.de]xmpp:florian@florianheinle.de[/url]
lunar

Hyperion hat geschrieben:kennst Du das Mail-Modul von Gerold? Wenn nicht, such mal im Forum nach Simplemail o.ä.
Damit kommt man der fehlenden Gegenstelle aber auch nicht näher ;) Ich könnte mir vorstellen, dass der Server eine ziemlich rabiate Art von Grey Listing verwendet, und darauf baut, dass der Client es einfach nochmal versucht. Ich würde einfach mal ein Skript schreiben, was dreimal versucht, sich mit dem Server zu verbinden ...

Es kann auch sein, dass die Ports von außen gar nicht zugänglich sind, wenn eventuell eine Firewall davor sitzt.
1und1 haben auf ihrem Webspace den direkten Aufbau von Sockets zum Mailserver gesperrt.
Woher weißt du denn, dass er das auf einem 1&1 Webspace ausführen will? Imho sieht das eher so aus, als ist das ein "Script für den Heimgebrauch" ;)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

lunar hat geschrieben: Woher weißt du denn, dass er das auf einem 1&1 Webspace ausführen will? Imho sieht das eher so aus, als ist das ein "Script für den Heimgebrauch" ;)
Ich habe /dev/glaskugel befragt :D

Nein im Ernst: Ich hatte da neulich die selbe Fehlermeldung und daher kam ich da gelich drauf. Mich hat es nämlich einige Zeit gekostet dahinter zu kommen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Auf einem Server ist es eigentlich ganz natürlich das ``sendmail``-Binary zum Mailversand zu nutzen, nichts von wegen hässlich oder so. mutt hat das beispielsweise (bis vor kurzem) so gemacht und es ist immer noch das Standardverfahren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Hm ... ok, ich finds irgend wie nicht so prall. Man bekommt ja quasi keine Rückmeldung darüber, was beim Versand schief gelaufen ist. Aber ok, ist hier off-topic.
lunar

Naja ... die Ausgabe von sendmail mit ``subprocess`` in die Logdatei zu pipen sollte eigentlich kein Problem sein und dürfte für die Fehlerdiagnose wohl ausreichend sein ;)
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Das Script ist für den Heimgebrauch bestimmt. Es geht eigentlich darum, dass ich häufiger Mails mit Anhängen an mich selber senden muss um sie dann an nem Unirechner abrufen zu können. Letztlich will ich ein selbstgeschriebenes Modul basteln, bei dem nur der Dateiname für den Anhang variiert. Als Aufruf schwebt mir also sowas vor:

Code: Alles auswählen

Selfsend('referat.doc')
Nur dazu muss ich halt erstmal überhaupt ne Mail versenden können...

Vorab: Warum ich keinen Stick verwende? Ich bin Meister im Verlieren, Vergessen und Auf-den-letzten-Drücker-Erledigen. Die Email-Variante ist IMHO besser auf mein "Profil" (wenn man es denn so nennen will) zugeschnitten - oder anders gesagt: Ich möchte es halt einfach so machen. :P
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

lunar hat geschrieben:Ich könnte mir vorstellen, dass der Server eine ziemlich rabiate Art von Grey Listing verwendet, und darauf baut, dass der Client es einfach nochmal versucht. Ich würde einfach mal ein Skript schreiben, was dreimal versucht, sich mit dem Server zu verbinden ...
Die Sache ist, dass er sein Timeout erst nach circa 2 MInuten wirft und ich dann mit mechanize wirklich besser beraten wäre. Vielleicht reagiert er ja auch nur wenn der Anfragende als Browser auftritt? Cookies scheint er jedenfalls nicht zu setzen.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Hyperion hat geschrieben:Hallo,

kennst Du das Mail-Modul von Gerold? Wenn nicht, such mal im Forum nach Simplemail o.ä.
Danke, zwar kann ich über den Uniserver damit trotzdem keine Mails versenden, aber mit meinem Freemail-Account funktioniert es wunderbar. :)

EDIT: Hab's dann auch so gelöst: http://paste.pocoo.org/show/71416/

Geht superschnell. :)
Antworten