Bonjour à tous et à toutes,
J'ai codé un script shell que j'ai nommé envoi_automatique_mail.sh que voici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
#!/bin/bash
 
cd mails/default
for fich in `ls`
do
    let nbre_fich=$nbre_fich+1
done
if [[ $nbre_fich -eq 0 ]]
then
    echo "Plus de mail à envoyer"
    exit
else
    echo "Nbre de mail à envoyer: $nbre_fich"
    cd /var/www/Penelope
    while [[ $nbre_fich -gt 0 ]]
    do
        let nbre_fich=0
        cd /var/www/Penelope
        php app/console swiftmailer:spool:send --message-limit=1 --env=dev #commande Symfony 2 pour envoyer des mails depuis le spool
        cd /home/lolo/Bureau/Automatic_Tasks/mails/default
        for fich in `ls`
        do
            let nbre_fich=$nbre_fich+1
        done
        echo "Nbre de mail à envoyer: $nbre_fich"
        sleep 20
    done
    echo "Plus de mail à envoyer"
fi
Quand je l'exécute comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
./envoi_automatique_mail.sh
Depuis mon terminal ça n'envoie pas mes mails. Par contre quand je fait ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
sudo ./envoi_automatique_mail.sh
Les envois se passe correctement. Je me suis donc dis, vu que comme je doit faire ça via cron il faut que j'utilise mon utilisateur sudo pour que les envois soient bien fait. Voici la ligne cron que j'ai mise directement dans /etc/crontab:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
0  *    * * 1-6 lolo    /home/lolo/Bureau/Automatic_Tasks/envoi_automatique_mail.sh >> /home/lolo/Bureau/Automatic_Tasks/log/log.txt
Le script se lance bien toutes les heures. Mais la ligne d'envoi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
php app/console swiftmailer:spool:send --message-limit=1 --env=dev
n'est pas exécutée et du coup ben ça provoque une boucle infinie puisqu'un mail est stocké sous forme d'un fichier. J'ai l'impression qu'il faut obliger le script à l'exécuter en tant que sudo sinon ça n'enverra jamais rien. Le hic c'est que je ne sais pas le faire. J'ai essayé de chercher sur le net avec plus ou moins de succés (cf les deux liens ci-dessous):

http://www.trustonme.net/didactels/214.html
http://ubuntu.5.x6.nabble.com/su-dan...-td605788.html

Mais j'avoue que je n'ai pas trop compris la soluce . Si quelqu'un pouvait m'expliquer comment faire et/ou me donner une solution plus compréhensible, merci d'avance pour vos réponses .
PS: pour ceux qui aimerai savoir à quoi ressemble l'envoi quand cela fonctionne, voici un screen shot.
Nom : Screenshot.png
Affichages : 6978
Taille : 704,5 Ko