PHP mail() mit smtp auth


GodHunter

New Member
Hallo,

ich versuche gerade den Server sicherer zu machen, dazu gehört auch das PHP mails über die mail() Funktion nur mit einer SMTP Authentifizierung versendet werden können. Dazu muss geprüft werden das die Absenderadresse auch existiert.

Dazu nutzt man ja normalerweise die header Funktion oder hängt eine Funktion an mail() an (-f [email protected])

Leider gelingt mir das aber nicht und Google spuckt mir auf der suche nach mail() auth auch nur einige PHP Tutorials aus. Wie kann ich also sendmail so einrichten das er zunächst prüft ob die Email Adresse auch wirklich existiert?
 
Hi,

also kurz noch zur config, ich nutze einen Debian Lenny Stable Release (kein Vanilla) und für den SMTP Server kommt Postfix ins Spiel für POP und IMAP nutze ich Courier.

Postfix ist bereits auf SMTP Auth eingestellt, sprich um Mails über Clients wie z.B. Outlook zu senden muss man sich zunächst am Server anmelden. Soweit so schön, Mails können aber via PHP über jede beliebige Adresse verschickt werden, dass natürlich eine riesen Sicherheitslücke die ich einfach sichern möchte. Ob das nun mit einer Vanilla Version nicht funktioniert ist mir dabei relativ.
 
PHP nutzt unter Unix das sendmail-Binary, um Mails zu versenden. Nur unter Windows wird AFAIK per SMTP-Verbindung über einen Socket versendet.
Im übrigen verstehe ich dein Problem nicht ganz: Die Mail-Funktion können doch nur Leute nutzen, die Webseiten auf deinem Server speichern können, z.B. per FTP. An der Stelle ist doch eine Überprüfung gegeben. SMTP-Auth überprüft ja auch nur, ob per SMTP versendet werden darf, nicht aber, ob die Absender-Adresse auch OK ist. Da kannst du also nur für bestimmte vHosts in der php.ini die Funktion mail() deaktivieren, damit sie nicht genutzt werden kann - damit sind die User gezwungen, auf PEAR-Pakete o.ä. zu setzen, um Mails per Socket einzureichen. Oder du patcht PHP - sofern es überhaupt einen frei verfügbaren Patch dafür gibt.
 

Back
Top