In diesem Artikel werden wir einige der häufig gestellten Fragen betreffend sind E-mail und PHP betrachten. Wir fangen an, indem wir eine grundlegendere Ausgabe betrachten: wie man wirklich eine E-mail als HTML sendet.
|
|
Da die PHP Postfunktion auf normale Texte-mails wenn nicht anders angegeben senden zurückfällt, ist eine häufige Frage, wie man HTML E-mails mit der Postfunktion sendet. Das Format für die Postfunktion ist, wie folgt:
mail($to, #, #, #);
wo $to die zu zu senden ist E-mail Adresse,, ist $subject die vorbehaltliche Linie für die E-mail, enthält $message die E-mail Anzeige, und $headers enthält alle wahlweise freigestellten Überschriften, die Sie wünschen können, um zu addieren.
Um eine E-mail zu senden die als HTML erkannt und behandelt wird, müssen Sie zwei spezielle Überschriften benutzen:
Pantomime-Version: Inhalt-Art 1.0: text/html; charset=iso-8859-1
Diese sollten in der $headers Variable eingeschlossen werden, wie im folgenden kompletten Code gezeigt worden:
<?php $to = "gareth@myemail.com"; $subject = "dieses ist eine HTML E-mail"; $message = "< Überspannung Style=\"fontfamilie: Arial, Helvetica, sans-serif; Schriftkegel-Größe: 20px; Schriftkegel-Gewicht: fett; Farbe: # 009900 \">"; $message. = "dieses ist eine HTML E-mail Anzeige"; $message. = "</Überspannung >"; $headers = "Pantomime-Version: 1.0\n "; $headers. = "Inhalt-Art: text/html; charset=iso-8859-1\n "; $headers. = "von: gareth<gareth@myemail.com > "; mail($to, #, #, #); ? >
Es ist wichtig, das zu merken, um den Code laufen zu lassen, müssen Sie einen E-mail Bediener aufstellen lassen, also ist es am einfachsten, diesen Code auf Ihrem Bediener des Netzwirtes zu prüfen.
Während die E-mail als HTML gesendet wird, können Sie HTML Umbauten in der Anzeige mit einschließen, wie im vorhergehenden Code gezeigt. Wenn die E-mail empfangen wird, wird die E-mail als HTML page übertragen (annehmend, daß das Programm E-mail des Benutzers diesen Service hat).
Sendeten zu, wenn Sie ein Rundschreiben zu einer Anzahl von Benutzern heraus schicken möchten sofort, die E-mail versteckend wendet, also kann die Empfänger nicht sehen wem sonst Sie die Post, Sie kann die bcc Überschrift benutzen, die steht für "blinden Durchschlag." Alle mögliche Adressen in der bcc Überschrift werden einer Kopie der E-mail geschickt, aber sie können nicht sehen, wem sonst es zu geschickt wurde. Der folgende Code zeigt ein Arbeitsbeispiel, das die E-mail zu jeder Adresse in der bereitgestellten Reihe schickt:
<?php $addresses = array("fred@cemetry.com",
"george@another.com"); ? > <? $to =
"gareth@myemail.co.uk"; $subject = "PHP Rundschreiben";
$message = "diese E-mail zeigt, wie man eine BCC Überschrift
benutzt, um ein Rundschreiben zu senden"; $headers. =
"von: gareth<gareth@myemail.co.uk>\n "; $headers. =
"bcc: "; $count = 0; foreach($addresses als
$address){if($count == 0){$headers. = #;
}else{$headers. = ",". #; }
$count ++;} $headers. = "\n"; mail($to,
#, #, #); ? >
Im vorhergehenden Code werden alle E-mail Adressen in der $addresses Reihe spezifiziert. Dieses konnte geändert werden, um auffangen von einem recordset zu verwenden, um die E-mail Adressen von einer Datenbanktabelle zu erhalten.
Wenn Sie vielen Benutzern die gleiche E-mail schicken, ist die vorhergehende Methode die beste Weise. Dieses ist, weil PHP mit dem mail server einmal in Verbindung tritt, und dann hat das mail server den Job des Schickens der E-mail zu allen spezifizierten E-mail Adressen, die bedeutet, daß der PHP Index schneller beendet und wenige Betriebsmittel benutzt.
Wenn jedoch Sie eine personifizierte E-mail senden, muß jede E-mail von PHP einzeln gesendet werden, um die individualisierten Daten zu addieren.
Wenn Sie vielen Benutzern eine personifizierte E-mail schicken, müssen Sie jede E-mail einzeln senden, und sie kann dauern wann, damit der Index alle E-mails aussendet. Dieses verursacht ein Problem manchmal, da der Index heraus Zeit festsetzen kann, bevor alle E-mails gesendet worden sind.
Um dieses zu vermeiden, müssen Sie die Zeitmenge erhöhen die der Index laufen kann für. Die Rückstellung Einstellung ist normalerweise 30 Sekunden. Sie können die Grenzzeit für einen Index erhöhen, indem Sie den folgenden Code der Oberseite der Seite hinzufügen:
<?php set_time_limit(5*60); ? >
Dieses läßt den Index für bis 5 Minuten laufen (60 * 5 = 300 Sekunden).
Online: 481 users browsing the articles directory
|
|