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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente 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 14:59] Hypathie [Installation et paramétrage de msmtp] |
utilisateurs:hypathie:tutos:php-envoi-de-mails [28/12/2020 19:00] Hypathie [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 son fournisseur de domaine, par exemple gandi. |
Ligne 34: | Ligne 35: | ||
<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-mail-gandi-associée-au-nom-de-domaine-du-site-web |
logfile /var/log/msmtp | logfile /var/log/msmtp | ||
tls on | tls on | ||
Ligne 47: | Ligne 48: | ||
tls_trust_file /etc/ssl/certs/ca-certificates.crt | tls_trust_file /etc/ssl/certs/ca-certificates.crt | ||
</code> | </code> | ||
+ | |||
+ | <note tip> | ||
+ | * host mail.gandi.net : c'est le mail DNS de gandi | ||
+ | **?? où trouver l'info ??** | ||
+ | * user application@comgocom.pw : c'est le nom de la messagerie associée au domaine servant pour le site web | ||
+ | |||
+ | {{/file-R1e8ae758462487d12172eaf18416fb7c.png}} | ||
+ | |||
+ | * from admin@comgocom.pw : c'est l'alias de l'adresse nom de la messagerie associée au domaine servant pour le site web | ||
+ | * tls_trust_file /etc/ssl/certs/ca-certificates.crt : si aucun certificat se trouve à ce chemin, tout fonctionne malgré cela. | ||
+ | </note> | ||
* On édite le fichier php.ini d'apache pour utiliser cette configuration lors de l'utilisation de la fonction php mail() | * On édite le fichier php.ini d'apache pour utiliser cette configuration lors de l'utilisation de la fonction php mail() | ||
Ligne 52: | Ligne 64: | ||
<code root>vim /etc/php/7.3/apache2/php.ini</code> | <code root>vim /etc/php/7.3/apache2/php.ini</code> | ||
- | <code>sendmail_path = /usr/sbin/sendmail -t -i</code> | + | <code>sendmail_path = /usr/bin/msmtp -t</code> |
- | + | ||
- | <note> | + | |
- | Comme /usr/sbin/sendmail est en fait un lien symbolique sur /usr/bin/msmtp, php enverra ses courriers via msmtp. | + | |
- | </note> | + | |
* utilisation en php | * utilisation en php | ||
Ligne 96: | Ligne 104: | ||
</code> | </code> | ||
- | * La personne ayant pour adresse mail ''$destinataire'' receverra un mail contenant son pseudo son mot de passe et une clé. | + | * La personne ayant pour adresse mail ''$destinataire'' recevra un mail contenant son pseudo son mot de passe et une clé. |
- | C'est là un exemple, et pour le faire fonctionner, il faut créer une page "activationMail.php" csur son site où le lien dans le mail faire arriver. | + | 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. |
+ | |||
+ | * 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> | ||
+ | |||
+ | ====Paramétrage du DNS de son fournisseur de domaine==== | ||
+ | |||
+ | |||
+ | {{/file-Rf3eb4cff75e262bf85cde75ebcb2938d.png}} | ||
+ | |||
+ | <note tip> | ||
+ | Dans cet exemple, à partir de la configuration DNS par défaut qui correspond au nom de domaine comgocom.pw : | ||
+ | |||
+ | * Les champs de type A permettent de rejoindre une box machin_chose_1 d'ip 78.115.221.146 ou la box machin_chose_2 qui sont paramétrées pour rediriger le port 80 vers une machine sur laquelle tourne apache2 et qui possède le code source du site. | ||
+ | * Le dernier champ CNAME a été ajouté pour que le nom de domaine comgocom.pw ... | ||
+ | </note> | ||
+ | |||
+ | ====Autres configurations pour l'envoi de mail en PHP depuis le site ==== | ||
+ | |||
+ | * ''/etc/hosts'' | ||
+ | <code user>more /etc/hosts | ||
+ | </code> | ||
+ | <code> | ||
+ | 127.0.0.1 localhost | ||
+ | 127.0.1.1 Eve | ||
+ | 192.168.0.18 db | ||
+ | 192.168.0.18 comgocom.pw | ||
+ | 192.168.1.80 comgocom.pw | ||
+ | |||
+ | # The following lines are desirable for IPv6 capable hosts | ||
+ | ::1 localhost ip6-localhost ip6-loopback | ||
+ | ff02::1 ip6-allnodes | ||
+ | ff02::2 ip6-allrouters | ||
+ | |||
+ | </code> | ||
+ | |||
+ | <note tip> | ||
+ | * 192.168.0.18 comgocom.pw : c'est l'ip fixée à cette adresse au niveau du routeur de la box_machin_1 sur laquelle est redirigé le port 80 | ||
+ | * 192.168.1.80 comgocom.pw : c'est l'ip fixée à cette adresse au niveau du routeur de la box_machin_2 ... | ||
+ | </note> | ||
===== Installation de postfix ===== | ===== Installation de postfix ===== | ||