# \[résolu\]Envoyer mail apache avec php

**URL:** <https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391>\
**Category:** Support Debian\
**Created:** [Mars 3, 2020, 3:59 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391 "2020-03-03T15:59:47Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![gtv61](https://www.debian-fr.org/user_avatar/www.debian-fr.org/gtv61/32/8966_2.png) [@gtv61](https://www.debian-fr.org/u/gtv61)\
**Post date:** [Mars 3, 2020, 3:59 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/1 "2020-03-03T15:59:47Z")

</div>

bonjour,  
j’utilise mutt pour envoyer des mails , en ligne de commande  
ex :

```nohighlight
echo test | mutt -s notification monadressemail@free.fr

```

tout fonctionne bien , je l’ai positionné dans `/var/www/html/mail` et j’ai fais un `script.sh` qui en ligne de commande fonctionne bien ,  
Si par l’interface web et un `fichier.php` j’essaie de le faire partir ça me donne “coultd not send the message”.  
j’ai essayé directement de php en :

```php
echo exec ('echo test | mutt -s notification monadressemail@free.fr');

```

ou

```php
echo exec ('monscript.sh');

```

c’est pareil le même message j’ai ouvert les droits maximum et chown www-data partout et rien n’y fait !  
Quelqu’un aurait une idée ?  
A bientôt

---

<div class="post-metadata">

**Author:** ![Tripayou](https://www.debian-fr.org/user_avatar/www.debian-fr.org/tripayou/32/8672_2.png) [@Tripayou](https://www.debian-fr.org/u/Tripayou)\
**Post date:** [Mars 5, 2020, 2:03 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/2 "2020-03-05T14:03:59Z")

</div>

Salut,

Il me semble que cela vient du fait que www-data est un utilisateur système et qu’il n’ a pas le même type de shell qu’un utilisateur normal, par conséquent il n’a peut être pas accès à la commande mutt.

---

<div class="post-metadata">

**Author:** ![gtv61](https://www.debian-fr.org/user_avatar/www.debian-fr.org/gtv61/32/8966_2.png) [@gtv61](https://www.debian-fr.org/u/gtv61)\
**Post date:** [Mars 5, 2020, 2:37 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/3 "2020-03-05T14:37:34Z")

</div>

Merci pour ta réponse @Tripayou  
www-data a les droits Root don normalement il devrait y arriver 🙂,  
J’ai un autre montage avec raspberry et là il fonctionne donc je ne vois pas ou !!,  
Depuis Buster et stretch c’est un peu plus compliqué,  
Certainement pour la sécurité , ssmtp n’y est plus lutte n’est pas mal mais je préférais ssmtp .  
J’ai essayé aussi avec msmtp qui fonctionne bien en ligne de commande mais même soucis avec Apache …  
A plus

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Mars 6, 2020, 7:36 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/4 "2020-03-06T07:36:51Z")

</div>

Bonjour,

Je ne comprends pas bien ce que tu veux faire, ni pourquoi tu utilises _mutt_.

Si tu veux envoyer un courriel via PHP, il y a une fonction [mail](https://www.php.net/manual/fr/function.mail.php) pour cela. Par défaut cette fonction utilise _sendmail_. Il suffit donc d’avoir, par exemple, [msmtp](https://doc.ubuntu-fr.org/msmtp) correctement configuré pour que cela fonctionne.

Sinon, donner les droits _root_ à _www-data_ est une extrêmement mauvaise idée.

---

<div class="post-metadata">

**Author:** ![gtv61](https://www.debian-fr.org/user_avatar/www.debian-fr.org/gtv61/32/8966_2.png) [@gtv61](https://www.debian-fr.org/u/gtv61)\
**Post date:** [Mars 6, 2020, 7:59 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/5 "2020-03-06T07:59:40Z")

</div>

Bonjour@Bruno1  
Avant d’utiliser mutt , j’utilisais ssmtp , aujourd’hui absent dans les paquets,  
mutt fonctionne bien et msmtp aussi également que j’ai configuré et comme je l’explique en ligne de commande tout fonctionne .  
Pour les droits je suis d’accord mais je les enlèverai par la suite !.  
la fonction mail de php est à essayer ,  
merci pour ta réponse

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Mars 6, 2020, 8:02 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/6 "2020-03-06T08:02:10Z")

</div>

J’ajoute que la configuration du compte d’envoi de courriel (serveur SMTP), que ce soit avec msmtp ou mutt, doit être accessible à l’utilisateur qui lance la commande. C’est à dire www-data si c’est lui qui exécute les scripts.

---

<div class="post-metadata">

**Author:** ![gtv61](https://www.debian-fr.org/user_avatar/www.debian-fr.org/gtv61/32/8966_2.png) [@gtv61](https://www.debian-fr.org/u/gtv61)\
**Post date:** [Mars 6, 2020, 8:03 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/7 "2020-03-06T20:03:42Z")

</div>

Salut @anon70622873,

avec msmtp ca fonctionne mais il faut modifier le fichier php.ini

```auto
sendmail_path = "/usr/bin/msmtp -t -C /repertoire_ou_ya/.msmtprc"

```

le fichier .msmtprc il faut lui donner les droits www-data , et trouver un formulaire php pour envoyer les mails

```auto
<?php
// Le message
$message = "Line 1\r\nLine 2\r\nLine 3";

// Dans le cas où nos lignes comportent plus de 70 caractères, nous les coupons en utilisant wordwrap()
$message = wordwrap($message, 70, "\r\n");

// Envoi du mail
mail('caffeinated@example.com', 'Mon Sujet', $message);
?>

```

directement php ne peux pas envoyer de mail par mutt ou msmtp , il faut lui associer dans le fichier php.ini

@Tripayou,

Même avec les droits

```auto
echo shell_exec( 'echo test | mutt -s notification monadressemail@free.fr'); 

```

aucune action supplémentaire .  
encore merci .

A plus et merci

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Mars 6, 2020, 10:38 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/8 "2020-03-06T22:38:27Z")

</div>

> [@gtv61](#):
>
> avec msmtp ca fonctionne mais il faut modifier le fichier php.ini

Non. Si _msmtp_ est installé correctement _sendmail_ est un lien symbolique vers msmtp :

```plaintext
ls -l /usr/sbin/sendmail
lrwxrwxrwx 1 root root 12 nov. 28 2016 /usr/sbin/sendmail -> ../bin/msmtp

```

Et la configuration du compte doit être faite au niveau du système dans /etc/msmtprc, sans avoir besoin de modifier les droits. J’ai déjà donné le lien vers une doc.

---

<div class="post-metadata">

**Author:** ![gtv61](https://www.debian-fr.org/user_avatar/www.debian-fr.org/gtv61/32/8966_2.png) [@gtv61](https://www.debian-fr.org/u/gtv61)\
**Post date:** [Mars 7, 2020, 7:40 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/9 "2020-03-07T07:40:30Z")

</div>

Bonjour Bruno  
pour répondre voici

```nohighlight
ls -l /usr/sbin/sendmail
ls: impossible d'accéder à '/usr/sbin/sendmail': Aucun fichier ou dossier de ce type

```

et

```nohighlight
drwxr-xr-x 2 root root 4096 nov. 15 08:40 menu
drwxr-xr-x 2 root root 4096 nov. 15 08:41 menu-methods
-rw-r--r-- 1 root root 24512 févr. 9 2019 mime.types
-rw-r--r-- 1 root root 812 août 3 2019 mke2fs.conf
drwxr-xr-x 2 root root 4096 févr. 10 08:44 modprobe.d
-rw-r--r-- 1 root root 195 nov. 13 17:30 modules
drwxr-xr-x 2 root root 4096 févr. 10 08:00 modules-load.d
-rw-r--r-- 1 root root 286 août 30 2019 motd
drwxrwxrwx 2 root root 4096 mars 3 18:56 motion
drwxr-xr-x 2 root root 4096 nov. 15 08:40 mpv
lrwxrwxrwx 1 root root 19 nov. 13 18:17 mtab -> ../proc/self/mounts
-rw-r--r-- 1 root root 4954 mai 25 2019 Muttrc
drwxr-xr-x 2 root root 4096 mars 6 10:11 Muttrc.d
drwxr-xr-x 4 root root 4096 févr. 10 08:01 mysql
-rw-r--r-- 1 root root 9278 juin 12 2019 nanorc

```

et il n’y a aucun msmtprc dans /etc/

le seul est .msmtprc qui est dans /home/mondossier\_personnel !

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Mars 7, 2020, 8:06 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/10 "2020-03-07T08:06:01Z")

</div>

Merci de lire la doc [msmtp](https://doc.ubuntu-fr.org/msmtp) que j’ai déjà indiquée. J’ai rédigé cette doc pour permettre justement d’envoyer des mails depuis un serveur sans sortir l’artillerie lourde de type Postfix.

Je suppose que tu n’as pas installé msmtp-mta et si le fichier /etc/msmtprc n’existe pas il faudra le créer.

---

<div class="post-metadata">

**Author:** ![gtv61](https://www.debian-fr.org/user_avatar/www.debian-fr.org/gtv61/32/8966_2.png) [@gtv61](https://www.debian-fr.org/u/gtv61)\
**Post date:** [Mars 7, 2020, 8:41 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/11 "2020-03-07T08:41:53Z")

</div>

J’avoue que le paquet msmtp-mta n’y était pas, et j’avais suivi ta Doc avant de te connaître,  
J’avais créé le fichier /etc/msmtprc .  
Quand j’ai voulu installer les deux paquets la première fois à ma grande surprise, les paquets y était déjà , pourtant il ne me semble pas les avoir installés dans le temps.🥺  
Hier j’avais tout supprimé Mutt et msmtp car j’étais en rideau , mais je pense que mon serveur SMTP était en rideau à cause des essais . Hier soir tout fonctionnait 🥺, alors je me suis lancé avec le PHP.ini qui pointait sur .msmtprc et un formulaire PHP .  
Avant j’utilisais mon copain “ssmtp” qui allait très bien,on ne le retrouve que sur le raspberry et là version rasbian Buster, dommage.  
Et encore merci

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Mars 7, 2020, 9:34 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/12 "2020-03-07T09:34:29Z")

</div>

ssmtp n’est plus maintenu depuis 2013, il est donc voué à disparaître des distributions Linux.

---

<div class="post-metadata">

**Author:** ![gtv61](https://www.debian-fr.org/user_avatar/www.debian-fr.org/gtv61/32/8966_2.png) [@gtv61](https://www.debian-fr.org/u/gtv61)\
**Post date:** [Mars 7, 2020, 1:18 UTC](https://www.debian-fr.org/t/resolu-envoyer-mail-apache-avec-php/81391/13 "2020-03-07T13:18:18Z")

</div>

Bruno,  
As-tu déjà utilisé motion ?  
Et as tu une idée pour récupérer l’image du fichier motion.conf que 2 génération avant de debian fonctionnait bien en envoi de mail ex:

```auto
on_movie_end echo vidéo | mutt -s détection mon mail perso

```

Aujourd’hui je fait :

```auto
on_movie_end curl ://monip/mail/mail.php

```

Qui fonctionne vais qui n’envoie que le mail, je voudrais récupérer la première image ou le film envoyé par mail.  
Avant en mettant

```auto
on_movie_end echo video | mail -s détection %f monmailperso 

```

C’était bon .
