Noch nicht registriert? Jetzt anmelden für kostenlosen Webspace von lima-city!

Inhalt

  1. Allgemeines zu PHP
  2. mail()-Thematik
  3. Verfügbare PHP-Befehle
  4. Fehlermeldungen

 

Allgemeines zu PHP

PHP sorgt für dynamische Webseiten auf deinem Webspace. Auf lima-city steht dir die aktuelle PHP Version 5 zur Verfügung. PHP-Dateien auf deinem Webspace sollten die Dateiendung *.php haben.

Wenn du andere Endungen für PHP-Dateien verwenden möchtest, musst du dies in einer .htaccess-Datei definieren. Diese .htaccess-Datei muss sich im übergeordneten Verzeichnis befinden. Eine .htaccess-Datei gilt dann für alle untergeordneten Verzeichnisse.

 

mail()-Thematik

Das Versenden von E-Mails über deinen Webspace mit Hilfe der PHP-Funktion mail() ist generell möglich. Allerdings kann es sein, dass E-Mails, die von deinem Webspace aus gesendet werden, verzögert versendet werden (in der Regel 1 - 5 Minuten). Sollten E-Mails nicht bei den Empfängern ankommen, kann es daran liegen, dass die E-Mail als Spam eingestuft wurde.

Jeder User kann pro Tag über die PHP-Funktion mail() standardmäßig 50 E-Mails versenden. Sollte das Limit überschritten werden, dann landen die E-Mails in einer Warteschlange, die am nächsten Tag ausgeführt wird, bis wiederum 50 E-Mails versendet werden. Hintergrund ist der Schutz vor Spam-Versendern.
Eine E-Mail, die über die PHP-Funktion mail() gesendet werden soll, darf maximal 1 MB groß sein, sonst wird sie verworfen.
Über Auktionen kann bereits durch geringe Beteiligung im Forum die Anzahl der pro Tag versendbaren Mails in Zehnerschritten bis zur maximalen Obergrenze von 200 Mails pro Tag erhöht werden. Dieses Feature ist ausschließlich über Gulden zu ersteigern und wird nicht zum Kauf angeboten.

Dein persönliches E-Mail-Limit pro Tag sowie deinen Verbrauch findest du unter Verwaltung > Webspace > "PHP-Funktion mail()". Der Zähler erhöht sich für jede E-Mail, die über die PHP-Funktion mail() für den Versand akzeptiert wurde. Um Mitternacht wird der Zähler auf Null zurückgesetzt.

Das Versenden von Spam-E-Mails oder anderen unangeforderten E-Mails ist verboten.

Beispiel für ein mail()-Skript:

<?php
    // Eine einfache E-Mail. Weitere Informationen: http://php.net/manual/de/function.mail.php   
    $nachricht  = "Vielen Dank fuer deine Bestellung";
    $betreff    = "Information";
    $empfaenger = "kunde@example.com";
    $ergebnis   = mail($empfaenger, $betreff, $nachricht);

    if($ergebnis) {
        echo "Die Nachricht wurde fuer den Versand akzeptiert.";
    } else {
        echo "Die Nachricht wurde nicht fuer den Versand akzeptiert.";
    }
?>

Wenn eine Nachricht für den Versand akzeptiert wurde, heißt das nicht unbedingt, dass die E-Mail auch zugestellt werden konnte. Sollten die einzelnen Parameter der PHP-Funktion mail() Fehler enthalten (beispielsweise einen leeren Empfänger), so liefert die Funktion in den meisten Fällen ein TRUE (wahr) zurück, aber die E-Mail wird nicht unbedingt zugestellt.

Sollten E-Mails, die über die PHP-Funktion mail() gesendet wurden, nicht ankommen, kann dies viele Ursachen haben. Hier ein paar Möglichkeiten:

  • Die mail()-Funktion wurde falsch oder fehlerhaft aufgerufen (z.B. fehlerhafte oder unvollständige Parameter).
  • Das Postfach (der Server) des Empfängers lässt den Empfang der E-Mail nicht zu (z.B. durch das Blockieren bestimmter Absender)
  • Das Postfach des Empfängers ist voll (dies kommt auch heutzutage noch vor).
  • Die E-Mail landet in einem Spam-Ordner und wird nicht wahrgenommen oder dort sofort gelöscht
  • Der Empfänger nutzt diverse Techniken zum Schutz vor Spam, z.B. "Greylisting". Beim Greylisting teilt der Empfänger dem Absender mit, dass der Absender es später noch einmal erneut versuchen soll. Bei der PHP-Funktion mail() erfolgt kein neuer Versuch der Zustellung, die E-Mail wird beim ersten Fehlschlagen verworfen.

Wie können E-Mails per PHP zuverlässig zugestellt werden? Hier ein paar Möglichkeiten:

  • Der Empfänger fügt den Absender zu seiner "Whitelist" hinzu (sofern möglich) und wendet für diesen Absender keine Spamfilterregeln an.
  • Man nutzt ein echtes E-Mailpostfach (Stichwort SMTP). Der PHP-Code stellt mit den Zugangsdaten eine Verbindung her und kann nun die E-Mail "wie eine echte Person" versenden. Da sich der Absender über SMTP authentifiziert hat, wird diese E-Mail in der Regel beim Empfänger auch zielsicher ankommen.

Test vom 10. und 28. Februar 2012: Die Zustellung über das Beispiel-Skript (siehe oben) an E-Mail-Adressen von Google Mail, Hotmail, Windows Live Mail, GMX FreeMail, WEB.DE FreeMail, Yahoo! Mail und T-Online klappten, die E-Mail wurde sofort zugestellt.

Eine Zustellung an E-Mail-Adressen von freenet Mail war im Test leider nicht möglich. Dies kann von lima-city nicht behoben werden.

(Natürlich können auch weitere Anbieter problemlos funktionieren. Dies war eine Auswahl.)

 

 

Verfügbare PHP-Befehle

Um selbst herauszufinden, welche PHP-Befehle auf lima-city dir zur Verfügung stehen und welche Module gesperrt sind, legst du dir dazu einfach eine PHP-Datei mit dem Namen "info.php" an auf deinem Webspace mit folgendem Inhalt:

<?php phpinfo(); ?>

Nach dem Aufruf der PHP-Datei "info.php" erhältst du eine Liste aller PHP-Eigenschaften auf deinem Webspace. Manche Einstellungen kannst du selbst über eine .htaccess-Datei ändern.

Alternativ kannst du auch hier den Befehl phpinfo() direkt ausführen lassen.

 

 

Fehlermeldungen aktivieren

Aus Sicherheitsgründen ist die Anzeige von PHP-Fehlermeldungen standardmäßig deaktiviert. 
Man kann diese jedoch wieder aktivieren, in dem man am Anfang der PHP-Datei folgendes schreibt:

<?php
ini_set('display_errors', 1); // 1 für on (ein), 0 für off (aus)
?>

Alternative: Damit für den gesamten Ordner die Fehlermeldungen aktiviert werden, legt man eine Datei mit dem Namen

.htaccess

 auf dem Webspace an mit dem folgendem Inhalt. Sollte eine solche Datei bereits existieren, braucht man nur die folgende Zeile anhängen:

php_value display_errors 1