logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
utilisateurs:hypathie:tutos:php-envoi-de-mails [27/12/2020 11:55]
Hypathie créée
utilisateurs:hypathie:tutos:php-envoi-de-mails [28/12/2020 18:23]
Hypathie [Installation et paramétrage de msmtp]
Ligne 13: Ligne 13:
 Deux solutions, msmtp ou postfix. Deux solutions, msmtp ou postfix.
  
-La première solution permet d'​envoyer des mails depuis son site en se servant du client msmtp et d'​un ​servuer ​SMTP extérieur, comme celui de google qui fait office de relais.+La première solution permet d'​envoyer des mails depuis son site en se servant du client msmtp et d'​un ​serveur ​SMTP extérieur, comme celui de google qui fait office de relais.
  
-L'​avantage de cette solution ​première solution est d'​être légère et facile, évitant d'​avoir à gérer un serveur IMAP et SMTP. Le désavantage c'est que le site pourra seulement émettre des mails, mais pas en recevoir sur sa propre adresse mail bien officielle et qui serait celle du domaine. Si on veut que son site puisse recevoir des messages, le travail sera côté développement php, par exemple, en proposant au visiteur du site une page du site consacrée à l'​envoi de messages via un simple submit qui envoie à une adresse mail dédiée au site les messages ainsi rédigés.+L'​avantage de cette première solution est d'​être légère et facile, évitant d'​avoir à gérer un serveur IMAP et SMTP. Le désavantage c'est que le site pourra seulement émettre des mails, mais pas en recevoir sur sa propre adresse mail bien officielle et qui serait celle du domaine. Si on veut que son site puisse recevoir des messages, le travail sera côté développement php, par exemple, en proposant au visiteur du site une page du site consacrée à l'​envoi de messages via un simple submit qui envoie à une adresse mail dédiée au site les messages ainsi rédigés.
 Bref, dans ce cas, on utilise les serveurs SMPT des autres. Bref, dans ce cas, on utilise les serveurs SMPT des autres.
  
Ligne 22: Ligne 22:
  
  
-===== Installation et paramétrage ​de msmtp =====+===== msmtp ===== 
 +====Installation et paramétrage====
  
   * On installe les outils d'​envoi de mail :   * On installe les outils d'​envoi de mail :
  
-<code root>apt install ​mailutils ​msmtp msmtp-mta</​code>​+<code root>apt install msmtp msmtp-mta</​code>​
  
  * On édite le fichier de configuration de msmtp  ''/​etc/​msmtprc''​ pour se servir du serveur SMTP de gmail  * On édite le fichier de configuration de msmtp  ''/​etc/​msmtprc''​ pour se servir du serveur SMTP de gmail
Ligne 32: Ligne 33:
  
 <code root>vim /​etc/​msmtprc</​code>​ <code root>vim /​etc/​msmtprc</​code>​
 +<​code>​
 account default account default
-host smtp.gmail.com +host mail.gandi.net 
-from domaine.blabla@gmail.com+from admin@comgocom.pw
 auto_from off auto_from off
 add_missing_from_header on add_missing_from_header on
 auth plain auth plain
 port 587 port 587
-user domaine.blabla@gmail.com+user application@comgocom.pw
 password mot-de-passe-de-l'​adresse-gmail-créée-pour-le-site password mot-de-passe-de-l'​adresse-gmail-créée-pour-le-site
 logfile /​var/​log/​msmtp ​ logfile /​var/​log/​msmtp ​
Ligne 45: Ligne 47:
 tls_starttls on tls_starttls on
 tls_trust_file /​etc/​ssl/​certs/​ca-certificates.crt tls_trust_file /​etc/​ssl/​certs/​ca-certificates.crt
-<​code>​+</code> 
 + 
 +  * On édite le fichier php.ini d'​apache pour utiliser cette configuration lors de l'​utilisation de la fonction php mail()  
 + 
 +<code root>vim /​etc/​php/​7.3/​apache2/​php.ini</​code>​ 
 + 
 +<​code>​sendmail_path = /​usr/​bin/​msmtp -t</​code>​ 
 + 
 +  * utilisation en php 
 + 
 +Il ne reste plus qu'à ajouter au code source de son site, une fonction php qui permet d'​envoyer un mail. 
 + 
 +Il faut bien sûr que le site est récupéré et conservé l'​adresse à laquelle la fonction d'​envoi s'​adresse. 
 + 
 +<code php> 
 +    private function envoyerMailConfirmation($pseudo,​ $destinataire,​ $prenom, $nom, $motpasse) 
 +    { 
 +        $cle = md5(microtime(TRUE)*100000);​ 
 + 
 +        // Préparation du mail contenant le lien d'​activation 
 +        $sujet = "​Activer votre compte"​ ; 
 +        $entete = "From: inscription@essai.local"​ ; 
 +        $message = '​Bienvenue '​.$prenom. ' '​.$nom.',​ 
 + 
 +        Votre pseudonyme est '​.$pseudo.'​. 
 + 
 +        Votre mot de passe est '​.$motpasse.'​. 
 + 
 +        Votre cle est : '​.$cle.'​ 
 +         
 +        Pour activer votre compte, veuillez cliquer sur le lien ci dessous 
 +        ou copier/​coller dans votre navigateur internet. 
 +         
 +        http://​mondomaine.bla_ou_localhost/​public/​pages/​activationMail.php?​log='​.urlencode($pseudo).'&​cle='​.urlencode($cle).'​ 
 +         
 +         
 +        --------------- 
 +        Ceci est un mail automatique,​ Merci de ne pas y répondre.';​ 
 +         
 +        mail($destinataire,​ $sujet, utf8_decode($message),​ $entete) ; // Envoi du mail 
 +        
 +        $this->​requete->​insererCle($pseudo,​ $cle); 
 +    }
  
 </​code>​ </​code>​
  
-<code root></​code>​+  * La personne ayant pour adresse mail ''​$destinataire''​ recevra un mail contenant son pseudo son mot de passe et une clé.
  
-<code root></​code>​+C'est là un exemple, et pour le faire fonctionner,​ il faut créer une page "​activationMail.php"​ sur son site où le lien dans le mail faire arriver.
  
-<code root></​code>​+  * Pour tester en ligne de commandes php, il faut paramétrer le cli : 
 +<code root>vim /​etc/​php/​7.3/​cli/​php.ini</​code>​
  
 +<​code>​sendmail_path = /​usr/​bin/​msmtp -t</​code>​
 ===== Installation de postfix ===== ===== Installation de postfix =====
  
utilisateurs/hypathie/tutos/php-envoi-de-mails.txt · Dernière modification: 28/12/2020 20:58 par Hypathie

Pied de page des forums

Propulsé par FluxBB