Morgen,
Sag ich doch. Hast du nur nicht verstanden.
Hilfsmittel: s/über/durch/g
vorhin war zu spät und jetzt ist noch zu früh - ich glaub Dir einfach mal.
Wenn alles sicher laufen wird, gibt es keinen Mailserver mehr von der Stange _zusätzlich_. Er soll durch eigenes ersetzt werden. Die Argumentation verstehe ich ansich. Es ging nur um die Beleuchtung dessen, was wirklich möglich ist. Und bei mir im Speziellen um eigene Programmierung.
Und zumindest PHP4 hat mit Demons so seine Probleme, würde ich behaupten (basierend auf den Erfahrungen mit einem Demon, der auf den SELF-Servern läuft und nicht sehr stabil ist).
Kann man den Quellcode einsehen?
- nicht immer garantiert einen funktionierenden Mailserver antrifft (ich habe da schon so meine Erfahrungen mit T-Systems-Webservern machen dürfen)
- den Versanderfolg auf Basis eines SMTP-Statuscodes wissen möchte (Mailverifizierung)
Na und? PHP kann eigene Logs erstellen, oder sich mit /dev/log in Verbindung setzen.
Dass PHP eigene Logs erstellen kann, hilft nicht bei dem Versuch, die erfolgreiche Auslieferung einer Mail an den Zielserver festzustellen, weil PHP mit mail() diese Aufgabe gar nicht selbst erledigt.
Die ursprüngliche Diskussion ging vom Ansatz aus, daß sendmail als Mittler genutzt wird, es aber auch möglich wäre, Mailversand direkt von PHP erledigen zu lassen. In dem Fall wirst Du alles andere, als mail(), welches ja explizit auf sendmail zugreift, nutzen.
Vielleicht bin ich jetzt ein wenig im Vorteil, da ich schon 3 h schlafen konnte - verkneifen kann ich mir die Fragen dennoch nicht: Was glaubst Du warum ich einen eigenen Child-Prozeß forke, wenn der nicht via SMTP Mails transferieren soll? Warum soll der nicht den Erfolg mitnotieren können?
Unten verweißt Du selbst noch auf eine Klasse, die _ohne_ die Funktion mail() arbeitet um Mails durch die Leitung zu jagen...
Und auf die Logfiles vom Mailserver darf PHP mit Sicherheit nicht lesend zugreifen
Warum soll PHP, das Erfolg/Mißerfolg notiert, auf Logfiles des Mailservers _lesend_ zugreifen? Es bleibt also dabei: Na und? PHP kann _eigene_ Logs erstellen.
- abgesehen davon, dass Logfileformate auch immer softwarespezifisch sind (Sendmail schreibt ein anderes Format als Exim), und deren Position systemspezifisch (je nachdem, wie der Admin den syslog konfiguriert hat, tauchen die Meldungen entweder in einer separaten Datei, u.U. noch getrennt nach Logleveln, auf, oder zusammen mit sämtlichen Logmeldungen aller anderen Prozesse in einer gemeinsamen und einzigen /var/log/messages).
Mir scheint, Du hast noch nicht so viel mit syslog() und Geschwistern an einem CLI-Script gearbeitet. Dennoch sollte Dir die mit PHP recht simple Art verschiedene Formatierungen vorzudefinieren und per Parameter auszuwählen, nachvollziehbar erscheinen. Also ist das auch kein Argument!
PEARs Mail oder auch Net_SMTP sind da durchaus hilfreich. :)
Nein danke! Die Webserverlogs quellen über von lauter Requests auf Schwachstellen von sooooooo "hilfreichen" Programmmen. Was ich verzapfe, dafür halte ich auch meinen Kopf für hin. Dazu bin ich bei Programmen anderer nicht bereit.
Die Klasse Net_SMTP ist erstens gut dokumentiert, zweitens im Quelltext erhältlich, drittens nicht so wahnsinnig riesig, als dass man sie nicht selbst mal durchlesen könnte, und hat viertens ja absolut keine remote ausnutzbare Schwachstelle, da sie selbst nur beim Senden der Mail an ein Ziel in Erscheinung tritt.
Die einzigen Erweiterungen, die ich nebst AUTH gefunden habe, sind SIZE und eine MAIL-FROM-Erweiterung, für die es weder auf faqs.org noch auf ietf.org eine Spezifikation gibt. Nicht sehr prickelnd - und das insbesondere dahingehend, daß Postfix auch so konfigurierbar ist, Trasfers ohne 8BITMIME-Erweiterung abzulehnen.
Da kannst Du mir den auf 1006 Zeilen aufgeblähten und auf drei weitere Klassen, die ich mir jetzt nicht angesehen habe, aufsetzende Net_SMTP-Klasse mit einem Smily schmackhaft. Helfen wird es nicht.
Gruß aus Berlin!
eddi
--
Wer Rechtschreibfehler findet, darf sie behalten.