Courrier de PHP

En cet article, nous allons regarder certaines des questions fréquemment posées concernant le E-mail et le PHP. Nous commencerons en regardant une issue plus fondamentale : comment envoyer réellement un E-mail comme HTML.

Comment est-ce que j'envoie un E-mail comme HTML ?

  

Car la fonction de courrier de PHP se transfère sur envoyer des E-mails plats des textes sauf indication contraire, une question fréquente est comment envoyer des E-mails de HTML en utilisant la fonction de courrier. Le format pour la fonction de courrier est comme suit :

mail($to, #, #, 
#) ;  

à là où $to est l'adresse de E-mail à envoyer, $subject est la ligne soumise pour le E-mail, $message contient le message de E-mail, et $headers contient tous les en-têtes facultatifs que vous pouvez souhaiter pour vous ajouter.

Pour envoyer un E-mail qui est identifié et traité comme HTML, vous devez employer deux en-têtes spéciaux :

Pantomime-Version : Contenu-type 1.0 : 
text/html ; charset=iso-8859-1  

Ceux-ci devraient être inclus dans la variable de $headers comme montré dans le code complet suivant :

< ?php $to = "gareth@myemail.com" ; $subject = 
"ceci est un E-mail de HTML" ; $message = "< 
style=\"font-famille d'envergure : Arial, Helvetica, 
sans-empattement ; police-taille : 20px ; police-poids 
: "bold" ; couleur : # 009900 \">"; $message. = 
"c'est un message de E-mail de HTML" ; $message. = 
"</envergure >" ; $headers = "Pantomime-Version : 
1.0\n "; $headers. = "Contenu-type : 
text/html ; charset=iso-8859-1\n "; $headers. = 
"de : gareth<gareth@myemail.com > "; mail($to, 
#, #, #) ; ? 
>  

Il est important de noter cela pour courir le code, vous devez avoir une installation de serveur de E-mail, ainsi il est le plus facile d'examiner ce code sur votre serveur principal d'enchaînement.

Pendant que le E-mail est envoyé comme HTML, vous pouvez inclure des étiquettes de HTML dans le message, comme montré dans le code précédent. Quand le E-mail est reçu, le E-mail sera rendu comme HTML page (supposant que le programme du E-mail de l'utilisateur a ce service).

Comment est-ce que j'envoie un bulletin avec PHP ?

Si vous souhaitez envoyer un bulletin dehors à un certain nombre d'utilisateurs immédiatement, cachant le E-mail adresse ainsi le destinataire ne peut pas voir à qui vous avez envoyé autrement le courrier, vous peut employer l'en-tête de bcc, qui représente "la copie au carbone sans visibilité." Toutes les adresses dans l'en-tête de bcc seront envoyées à une copie du E-mail, mais elles ne peuvent pas voir à qui il a été envoyé autrement. Le code suivant montre un exemple fonctionnant, qui envoie le E-mail à chaque adresse dans la rangée fournie :

< ?php $addresses = array("fred@cemetry.com", 
"george@another.com") ; ? > < ? $to = 
"gareth@myemail.co.uk" ; $subject = "Bulletin de PHP" ; 
$message = "ce E-mail montre comment employer un en-tête de 
BCC pour envoyer un bulletin" ; $headers. = "de : 
gareth<gareth@myemail.co.uk>\n "; $headers. = "bcc 
: "; $count = 0 ; foreach($addresses comme == 
0){$headers de $address){if($count. = # ; 
}else{$headers. = ",". # ; } 
$count ++;} $headers. = "\n" ; mail($to, 
#, #, #) ; ? 
>  

Dans le code précédent, toutes les adresses de E-mail sont indiquées dans la rangée de $addresses. Ceci a pu être changé pour employer un champ d'un recordset pour obtenir les adresses de E-mail d'une table de base de données.

Si vous envoyez le même E-mail à un grand nombre d'utilisateurs, la méthode précédente est la meilleure manière. C'est parce que PHP entre en contact avec le mail server une fois, et alors le mail server a le travail d'envoyer le E-mail à toutes les adresses de E-mail indiquées, qui signifie que le manuscrit de PHP finit plus vite et emploie peu de ressources.

Si, cependant, vous envoyez un E-mail personnalisé, chaque E-mail devra être envoyé individuellement par PHP pour ajouter les données individualisées.

Comment est-ce que j'arrête un manuscrit de la synchronisation dehors en envoyant beaucoup d'E-mails ?

Si vous envoyez un E-mail personnalisé à un grand nombre d'utilisateurs, vous devez envoyer chaque E-mail individuellement, et il peut prendre un moment pour que le manuscrit envoie tous les E-mails. Ceci crée un problème parfois, car le manuscrit peut chronométrer dehors avant que tous les E-mails aient été envoyés.

Pour éviter ceci, vous devez augmenter la quantité de temps pour laquelle le manuscrit peut fonctionner. L'arrangement de défaut est habituellement de 30 secondes. Vous pouvez augmenter le délai pour un manuscrit en ajoutant le code suivant au dessus de la page :

< ?php set_time_limit(5*60) ; ? >  

Ceci permettra au manuscrit de fonctionner pendant jusqu'à 5 minutes (60 * 5 = 300 secondes).

c'est un article supplémentaire par stratus Huo Quan


Déni : Notre site Web n'est pas responsable de l'information contenue par cet article. Cet article reflète nullement les vues, les avis, les pensées ou la croyance du personnel d'annuaire d'articles.

Notification de traduction : L'article "courrier de PHP" a été traduit en utilisant un service de traduction automatisé. Nous faisons des excuses sincèrement pour toutes les erreurs de traduction qui se sont produites. Merci de l'arrangement.

Online: 474 users browsing the articles directory