Utilisez la fonction error_log() de php pour envoyer des emails sous Mac

藏色散人
Libérer: 2023-04-08 06:04:02
avant
2151 Les gens l'ont consulté

Lors du développement de projets Web ou d'autres scénarios, nous devons parfois définir des « alarmes ». Par exemple, lorsqu'un certain indicateur de la base de données atteint une certaine valeur, l'administrateur du site Web doit en être informé. Aujourd'hui, j'aimerais partager avec vous une fonction d'alarme php relativement simple.

Introduisez d'abord une fonction error_log en PHP qui est utilisée pour enregistrer les journaux. Elle est utilisée pour envoyer des erreurs à un certain endroit. Introduction à la fonction

bool error_log ( string $message [, int $message_type = 0 
[, string  $destination [, string $extra_headers ]]]
Copier après la connexion

où $message représente les informations à enregistrer ; $message_type est utilisé pour définir où les informations doivent être envoyées. Les types de messages possibles sont les suivants :

0 : message envoyé au journal système de PHP, en utilisant le mécanisme de journalisation du système d'exploitation ou un fichier, selon la valeur de la directive error_log. Il s'agit de l'option par défaut.

1 : Le message est envoyé à l'adresse email définie par le paramètre destination. Le quatrième paramètre extra_headers ne sera utilisé que dans ce type.

2 : Ce n'est plus une option

3 : Le message est envoyé au fichier à destination

4 : Le message est envoyé directement au gestionnaire de journaux SAPI.

De plus, $destination est déterminé par $message_type ; $extra_headers est utilisé lorsque $message_type est 1.

Sous le système d'exploitation *nix, PHP envoie des emails via le composant sendmail. Assurez-vous donc d’abord d’avoir installé le composant sendmail. Vous pouvez utiliser la commande suivante pour tester si le service de messagerie sur votre serveur est normal. Les e-mails envoyés sans succès seront renvoyés à /var/mail/ par défaut. Vous pouvez vérifier vous-même les détails dans l’e-mail renvoyé.

echo "test mail content" | mail -s "test mail subject" {xxx@yy.com}
Copier après la connexion

Démarrer

1. Installer sendmail

Mac est normalement livré avec sendmail par défaut, situé sous /usr/sbin/. Sinon, vous pouvez le rechercher et l'installer vous-même~

2. Recherchez le fichier de configuration php.ini utilisé par php

php -i | grep php.ini
Copier après la connexion

3. Ouvrez php.ini et recherchez la ligne de configuration sendmail<🎜. >

sendmail_path = "/usr/sbin/sendmail -t -i"
Copier après la connexion

4. S'il est utilisé dans un projet Web, redémarrez le serveur après la configuration pour prendre effet.

5. Utilisez php -a pour ouvrir le shell interactif php, entrez le code suivant, puis accédez à la boîte aux lettres pour vérifier (remarque : la boîte aux lettres peut bloquer ces e-mails, veuillez faire attention à l'ajout d'une liste blanche).

error_log(&#39;hello world&#39;,1,&#39;xxx@yy.com&#39;);
Copier après la connexion
Les étapes sont à peu près les mêmes que ci-dessus. Les configurations d'autres systèmes d'exploitation basés sur Linux sont similaires. Les partenaires intéressés peuvent l'essayer eux-mêmes. S'il y a des lacunes dans cet article, veuillez faire part de vos commentaires et commentaires ~


Pour plus de connaissances liées à PHP, veuillez visiter le

Tutoriel PHP !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal