PHP Skript in Python starten

Python in C/C++ embedden, C-Module, ctypes, Cython, SWIG, SIP etc sind hier richtig.
Antworten
PythonProgrammer2.0
User
Beiträge: 12
Registriert: Montag 8. Juli 2019, 15:58

Sonntag 23. Februar 2020, 15:09

Hallo zusammen, aktuell erstelle ich einen Messenger für Android, einfach um mich mit der Android-Umgebung etwas vertraut zu machen. Dafür benötige ich ein Verifikationsskript, welches einen Code in einer Mail versendet/versenden soll. Da mein Server Programm in Python läuft, möchte ich alles Serverbetreffende in Python schreiben. Nun stehe ich vor einem grösseren Problem: Ich kann keine Mails versenden. Ich habe diverse Seiten durchsucht, und nichts hat funktioniert. Nun habe ich ein PHP-Skript erstellt. Dieses kann Mails versenden. Allerdings muss ich dazu die Adresse manuell in den Browser eintippen. Das Skript soll automatisch Serverseitig ausgeführt werden. Leider kann ich diese "Website" über Python via Webbrowser nicht aufrufen. Es steht 'False' in der Shell. Mein Code:

Code: Alles auswählen

>>> import webbrowser
>>> webbrowser.open("www.irgendwo-im-netz.de/verify.php") # Fiktive URL
'False'
Gebe ich die URL im Browser ein, bekomme ich meine Mail. Ich habe extra kein HTML zu der Seite erstellt (also reines PHP), da der Server kein GUI hat.
Nun meine Frage:
Gibt es eine Möglichkeit via Python ein PHP-Skript zu starten oder die Mails direkt aus Python senden?

P.S. simplemail habe ich schon probiert, hat nicht funktioniert.

Danke im vorraus
nezzcarth
User
Beiträge: 1054
Registriert: Samstag 16. April 2011, 12:47

Sonntag 23. Februar 2020, 15:20

Was du da versuchst klingt sehr umständlich. Du brauchst jedenfalls kein PHP für E-Mail-Versand. In der Standard-Bibliothek von Python sind Module enthalten, mit denen man E-Mails versenden kann (smtplib, email) und die eigentlich recht gut verständlich sind. Im äußersten Notfall kann man E-Mails unter Linux-Systemen mit Python auch versenden, indem man mit 'subprocess' 'mailx' o.Ä. aufruft (ein konfiguriertes Mail-System vorausgesetzt); das ist auch nicht besonders sauber, aber meiner Meinung nach immer noch besser, als da irgendetwas mit PHP zu basteln.
Zuletzt geändert von nezzcarth am Sonntag 23. Februar 2020, 15:23, insgesamt 2-mal geändert.
Sirius3
User
Beiträge: 12392
Registriert: Sonntag 21. Oktober 2012, 17:20

Sonntag 23. Februar 2020, 15:21

Warum kannst Du keine Mail mit Python verschickten? Was hast du versucht? Was war der Fehler?
Wenn du irgendwo einen Server hast, der Mails verschicken kann, ist das irgendwie eine ziemliche Sicherheitslücke. Webseiten fragt man auch mit urllib oder requests ab, webbrowser ist ja zum Starten des Standardbrowsers da.
PythonProgrammer2.0
User
Beiträge: 12
Registriert: Montag 8. Juli 2019, 15:58

Sonntag 23. Februar 2020, 18:37

Guten Abend. Danke erstmal, für die Tipps. Ich habe mich etwas tiefgründiger mit smtplib befasst. Jetzt habe ich ein riesiges Skript, aber immerhin: Es läuft. Ich möchte hierbei nur noch sagen: Ich bin immer noch ein Kind (12 Jahre). Ich denke deshalb manchmal noch etwas zu kompliziert, wie hier, dass über ein PHP Skript zu lösen. aber wie gesagt, toll, dass mir hier viele helfen. Ich kannte smtplib noch garnicht. Ich testete simplemail, es funktionierte nicht, jetzt: Ich teste smtplib: Es funktioniert.
Lange Rede, kurzer Sinn: DANKE!

(Damit kann der Thread geschlossen werden.)
Benutzeravatar
DeaD_EyE
User
Beiträge: 442
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Montag 24. Februar 2020, 14:07

Die Erfahrung kommt noch. Oftmals ist das Problem, dass man nicht weiß wie etwas heißt oder man versucht etwas zu programmieren, dass z.B. in der Standardbibliothek ist.

Um E-Mails zu versenden, nutze ich lieber das Modul: https://pypi.org/project/emails/
Die smtplib ist mir zu low-level. Wenn man die benutzt, muss man auch ungefähr wissen, wie das Protokoll aufgebaut ist.

Es kann auch nicht schaden, mal hier zu suchen: https://pypi.org/
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten