Versand via Socket, Versand mit Authentifizierung

Aus Wikipedia

Wechseln zu: Navigation, Suche
PHProjekt-Handbuch
English Version
















[id_5] free online casino slots free online slots best online casinos atlantic city casinos


Das Mail-Modul von PHProjekt ab Version 4.1 ermöglicht die Wahl zwischen der Verwendung der PHP-Funktion mail() und der Generierung des SMTP-Dialogs über Socket durch das Skript.

Die PHP-Funktion mail() bietet normalerweise keine Möglichkeit zur Authentifizierung - man muss einen Open Relay Server nutzen oder sich beim ISP während des Login identifizieren.

Die neue Routine bietet wahlweise Authentifizierung per POP before SMTP oder SMTP-AUTH LOGIN. Beim Senden über Socket kann man außerdem die SMTP-Authentifizierung AUTH LOGIN nutzen.

Socket-Mail ist der einzige Weg, aus PHP auf einem Windows-System Mail mit nicht sehr kleinen Anhängen zu versenden. Für große Anhänge ist eine zusätzliche Beschränkung zu beachten: In der php.ini beträgt der Standard-Wert von "max_execution_time" 30 Sekunden. Das kann (je nach Übertragungsrate und Dateigröße) zu gering sein, da das Skript den gesamten Sendevorgang steuert. Der Wert sollte daher möglichst erhöht werden.

Hinweis: Wenn man Mail sendet, muss man online sein, Sendmail o.ä nutzen (Linux) oder einen lokalen Mailserver verwenden. PHP hängt sich ansonsten auf und kann das System zum Absturz bringen. Das gilt für mail() wie für Socket.

Die Sandard-Einstellung - mail() verwenden, keine Authentifizierung - bietet die Funktionalität von PHProjekt Version 4.0.

Wird mail() genutzt sind weiterhin die Einstellungen in der php.ini bzw. die Settings von Sendmail maßgeblich.

Folgende neuen Einstellungen können direkt in der config.inc.php - nicht im Setup - vorgenommen werden:

$mail_mode = "0"; // Sendemodus: 0: mail() Funktion nutzen(Default); 1: Sockets nutzen
$mail_eol = "\r\n"; // Zeilenende in Mailtext; z.B. rn (nach RFC 2821 / 2822)
$mail_eoh = "\r\n"; // Zeilenende im Header; z.B. \r\n (nach RFC 2821 / 2822)

Achtung! Unbedingt Anführungszeichen " und nicht Hochkomma ' verwenden!

"\r\n" ist der Standard! Lediglich beim Auftreten von Problemen sollte "\n" in Header und/oder Text experimentell verwendet werden. Dazu ist aber das PHP-Manual zu mail() empfohlen. Diese Einstellungen wurden speziell für die PHP-Funktion mail() geschaffen. Bisher wurde nicht beobachtet, dass "\n" via Socket funktioniert.

Folgende Einstellungen können in der config.inc.php vorgenommen werden und gelten dann als Default für alle User. Bei $mail_mode = "1" können die User im Mail-Modul unter Optionen|Konten abweichende Einstellungen setzen:

$mail_auth = "0"; // Authentifizierung - 0:keine (Default); 1: POP before SMTP; 2: SMTP-Auth (Nur über Socket!)
// SMTP Account Daten (nur bei Socket, dann aber erforderlich)
$smtp_hostname = "localhost"; //Adresse des SMTP-Mailservers, zu dem Zugriff besteht (ggf. 'localhost')
$local_hostname = "hereiam"; //Name des lokalen Servers zur Identifizierung während der HELO Prozedur. Diese Angabe wird vom Server oftmals nicht geprüft. Sie kann im Header an den Empfänger übermittelt werden.
// Nur auszufüllen wenn die Authentifizierung via POP vor SMTP läuft
$pop_hostname = "mypop.domain.net"; // Der POP-Server
$pop_account = "itsme"; // Username für POP vor SMTP
$pop_password = "mypw"; // Passwort für diesen POP-Account
// Nur auszufüllen wenn die Authentifizierung über SMTP läuft
$smtp_account = "itsme"; // Username für SMTP Authentifizierung
$smtp_password = "mypw"; // Passwort für diesen account


Inhaltsverzeichins

Persönliche Werkzeuge