GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment faire pour que le Php envoie du courrier?

J'ai installé Ubuntu 11.04, LAMP en utilisant tasksel.

Je trouve que PHP mail() ne fonctionne pas.

Je suppose que je dois l'activer ou quoi? Comment faire ?

Meilleure réponse

Depuis le manuel de messagerie de php :

Exigences

Pour que les fonctions de messagerie soient
disponibles, PHP nécessite un système de messagerie installé
et fonctionnel. Le programme
à utiliser est défini par les
paramètres de configuration dans le fichier php.ini
.

Cela signifie que vous devez installer une sorte de serveur de messagerie et configurer php pour l'utiliser. Habituellement, ce serveur de messagerie est postfixé dans Ubuntu. Cependant, si le côté php que vous codez sera éventuellement stocké du côté d'un service d'hébergement (par exemple xmission), un serveur de messagerie y sera probablement déjà installé. Dans ce cas, testez simplement votre site en ligne plutôt qu'en local.

Si vous avez besoin de le tester sur votre propre système ou si vous voulez l'héberger sur votre propre serveur domestique, procédez comme suit :

Installation de Postfix

Installation :suffixe / sudo apt-get install postfix Au cours du processus, il vous sera demandé dans quel mode vous souhaitez installer postfix. Il existe quatre modes possibles :

  • Internet :Votre propre serveur de messagerie.
  • Satellite :Un fournisseur de messagerie externe (par exemple Google) sera utilisé pour l'envoi et la réception du courrier. Le serveur ne recevra aucun courrier.
  • Hôte intelligent :Mélange entre les deux. Le courrier est stocké localement mais envoyé via un fournisseur de messagerie externe.
  • Local uniquement :Ne vous concernera pas. C'est un serveur de messagerie interne au système. Vous pouvez uniquement envoyer des e-mails d'utilisateur à utilisateur sur le système.

Le reste des options d'installation dépend de votre choix de cette configuration générale.

Vous choisirez très probablement une installation satellite. Cela signifie que le courrier sera envoyé à l'aide d'un fournisseur externe. En tant que serveur smtp (serveur de courrier sortant) vous devrez alors spécifier vos fournisseurs smtp. Le reste des options est explicite.

Configuration post-installation

La plupart des serveurs smtp nécessitent une authentification par mot de passe pour envoyer du courrier. Postfix devra donc connaître ce mot de passe. Il y a aussi des choses comme le cryptage à considérer (que vous devrez rechercher sur Google). Voici comment vous configurez postfix en utilisant l'authentification par mot de passe (sasl) :

  • Installer les modules libsasl2 et sasl2-bin en cliquant sur les icônes du centre de logiciels ou depuis le terminal en utilisant :

    sudo apt-get install libsasl2-2 libsasl2-modules sasl2-bin
    
  • Activez sasl-auth en ajoutant ces lignes à /etc/postfix/main.cf

     # add to /etc/postfix/main.cf
     smtp_sasl_auth_enable = yes
     smtp_sasl_security_options = noplaintext noanonymous
     smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
    
  • Créez un fichier /etc/postfix/sasl_password avec une ligne comme :

     smtp.gmail.com [email protected]:USERPASSWORD
    

    Remplacez le mot de passe, le nom d'utilisateur et l'adresse smtp réels.

  • Mettre à jour le suffixe :

     sudo chmod 600 /etc/postfix/sasl_password # for safety of your smtp password
     sudo postmap hash:/etc/postfix/sasl_password 
     sudo postmap /etc/postfix/sender_canonical
     sudo /etc/init.d/postfix restart   
    

    Vous devrez peut-être contourner le bogue "autorisation refusée" par chown postfix:postfix /etc/postfix au préalable.

Connexe :Je ne peux pas installer le calendrier gnome sur Ubuntu 16.04 ?

Cela devrait le faire dans la plupart des cas. Pourtant, certains fournisseurs smtp exigent une adresse spécifique comme expéditeur ou cryptage.

Connexe :l'interface PEAR::Mail pourrait également vous intéresser.

Gmail (et peut-être d'autres services) peut ne pas aimer que vous tentiez d'envoyer du courrier de cette façon car cela pourrait être considéré comme non sécurisé selon leurs normes et bloquerait votre tentative, c'est-à-dire que rien ne se passerait à l'écran ou quelque part de l'ensemble du processus bloquerait votre authentification. De plus, votre POP3 doit être activé.

Pour contrer cela, voir ici. (Si vous voulez être du bon côté, créez un compte Gmail factice)


Ubuntu
  1. Comment installer et configurer Postfix

  2. Comment installer et configurer Postfix sur Ubuntu 20.04

  3. Ubuntu - Comment faire exécuter le script par Pam_exec en tant qu'utilisateur actuel ?

  4. Comment supprimer l'applet d'indicateur d'icône de messagerie ?

  5. Comment compter les messages du mailq de Postfix ?

Comment changer le nom d'hôte dans Ubuntu Linux

Comment installer le dernier PHPMyAdmin sur Ubuntu 18.04

Comment changer la version de PHP dans Plesk ?

Comment changer la version de PHP dans cPanel

Comment changer la version de PHP

Comment vérifier la version de PHP sous Linux