Installer la fonction php mail ()

0

J'ai récemment installé un serveur CentOS 6.4 à l'aide de l'installation minimaliste. J'ai une version de travail de PHP en marche, mais je veux pouvoir utiliser la mail()fonction en PHP.

  • De quoi ai-je besoin pour que cela fonctionne (serveurs de messagerie, scripts, que faut-il?)
  • Comment dois-je procéder pour installer ce qui est nécessaire?
Simon Carlson
la source
Vous aurez probablement besoin de commencer par installersendmail
kobaltz
sendmailest installé, où dois-je aller ensuite? Je suis désemparé.
Simon Carlson
Vous ne devriez vraiment pas vous connecter directement à mail (). Vous seriez mieux avec Zend_mail, PHPMailer ou une autre bibliothèque. Rédiger des messages correctement, afin que vous soyez marqué comme SPAM n'est pas trivial. Idéalement, vous utiliserez l'une de ces bibliothèques via un serveur de messagerie correctement configuré, au lieu de vous fier uniquement à sendmail local mal configuré.
Zoredache
Merci pour votre contribution. Comment puis-je y arriver? Je suis un débutant complet à tout cela, donc je suis très, très désemparé ...
Simon Carlson
Si vous n’avez pas de problèmes à l’utiliser, recevez-vous des erreurs de ce type?
Kobaltz

Réponses:

0

L'envoi de courriels est un sujet compliqué, car les mesures anti-spam deviennent de plus en plus agressives. Je recommande d'envoyer des courriels à l'aide de SMTP et d'un fournisseur tiers. La plupart du temps, vous avez déjà un moyen d'envoyer et de recevoir des courriels pour votre projet (c'est-à-dire inclus avec votre domaine ou votre hébergement Web). Je vais expliquer le "comment" et le "pourquoi" ci-dessous.

Comment envoyer des mails en utilisant SSMTP?

Choix multiples:

  1. ssmtp .

C'est un petit outil qui expose un binaire "sendmail" à la fonction mail () de PHP. Installez-le et configurez-le à l'aide du fichier /etc/ssmtp/ssmtp.conf. Voici un exemple d'envoi de courrier à l'aide de SSMTP et SSL:

mailhub=smtp.yourprovider.com:465
hostname=yourdomain.com
AuthUser=yourusername
AuthPass=yourpassword
FromLineOverride=NO
UseTLS=yes

Lorsque vous envoyez un courrier en utilisant la fonction mail (), php appellera le binaire sendmail et ssmtp enverra le courrier de manière transparente en utilisant SMTP.

  1. Postfix / Exim / Sendmail

Vous pouvez configurer un serveur de courrier standard pour votre système et le configurer pour qu'il relaie vos courriels via un fournisseur tiers. C’est un peu plus complexe que ssmtp mais permet d’accepter des emails sur le port 25 de SMTP localhost. Il suffit de google pour le relais smtp et le nom de votre serveur de messagerie.

  1. PHPMailer

Lorsque vous créez votre propre projet et que vous pouvez modifier votre code, vous devez utiliser la classe PHPMailer, car envoyer un e-mail avec du contenu HTML, des pièces jointes ou plusieurs expéditeurs est compliqué à l'aide de la fonction de messagerie ordinaire et absolument déconseillé aux débutants.

PHPMailer peut envoyer des courriers en utilisant le protocole SMTP lui-même, ou avec l’outil ssmtp.

Pourquoi l'envoi d'e-mails est-il compliqué?

Comme je l'ai dit précédemment, les mesures anti-spam deviennent de plus en plus agressives. pour le faire correctement, vous devez configurer un démon de messagerie tel que postfix, exim ou sendmail et le configurer correctement. En d'autres termes, vous devez vous assurer que personne ne peut utiliser votre serveur de courrier électronique pour envoyer des messages sans authentification. vous devez configurer l'enregistrement MX de votre domaine pour qu'il pointe vers l'adresse IP de votre serveur, car d'autres serveurs de messagerie vérifient l'adresse IP de l'expéditeur à l'aide de l'enregistrement MX. Vous devrez peut-être configurer DKIM (DomainKeys Identified Mail) pour éviter que votre courrier ne soit classé comme spam.

Si vous avez correctement configuré votre serveur et votre domaine, vous n’avez pas terminé. Le plaisir commence juste.

Si vous commencez à envoyer des courriers électroniques à différents fournisseurs de messagerie, certains destinataires peuvent les marquer comme courrier indésirable. Cela se produit non seulement dans les bulletins d’information et les annonces publicitaires, mais certaines personnes qualifient également de spam les confirmations d’enregistrement automatisées. Si un certain nombre de vos courriels ont été identifiés comme spam par un grand fournisseur de messagerie tel que Microsoft, Google ou GMX, ils bloqueront votre adresse IP ou la qualifieront de spam. Ensuite, vous devez vous inscrire avec Microsoft et d'autres et étudier la suppression de votre adresse IP. Cela peut être une tâche fastidieuse.

il se peut également que votre projet soit piraté et que votre adresse IP envoie des millions de courriels. Si cela se produit, vous aurez peut-être de la difficulté à effacer votre mauvaise réputation sur IP. vous devriez avoir configuré les limites d'envoi pour limiter l'impact des pirates abusant de votre fonction mail ().

un fournisseur tiers fera tout cela pour vous. ils configureront correctement le serveur de messagerie, ils maintiendront la réputation de l'adresse IP et ils vous empêcheront également d'envoyer du spam.

bhelm
la source