IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Sendmail ne trouve aucun destinataire dans une entete HTML lorsqu'il est exécuter par Crontab


Sujet :

Administration système

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2016
    Messages : 25
    Points : 16
    Points
    16
    Par défaut Sendmail ne trouve aucun destinataire dans une entete HTML lorsqu'il est exécuter par Crontab
    Bonjour à tous,

    Je viens ici désespéré car je ne trouve pas la solution à mon problème, j'ai créer 2 scripts de sauvegarde de base de données qui envoi les résultats de la sauvegarde par mail à mon équipe.
    Un script pour PostGreSQL et un script pour MariaDB, mon problème est le suivant, lorsque le script MariaDB est exécuter via cron j'obtiens le message d'erreur suivant:

    fatal : (user)(id): no recipients addresses found in message header

    En revanche tout se déroule normalement lorsque j'execute ce script à la main avec le même compte utilisateur renseigné dans CRON.

    De plus le serveur PostGreSQL qui a la même configuration postfix et la même structure de script n'a aucun problème avec l'envoi de mail via CRON.

    Voici à quoi ressemble l'envoi de mail dans mon script:

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     
     
    ##########################################
    #        Envoi de Mail                     #
    ##########################################
     
    html='/home/scripts/Backup/MariaDBBackup.html'        #Corps du mail au format HTML
    html1='/home/scripts/Backup/Temp/MariaDBBackupSuccessError'                    #Corps du mail au format HTML + Objet du mail (Success ou Error)
    html3='/home/scripts/Backup/Temp/MariaDBBackupFull'                            #Corps du mail au format HTML + Objet du mail (Success ou Error) + Logs sous forme de liste HTML + Sujet du mail
    html4="error"                                        #Corps du mail au format HTML + Objet du mail (Success ou Error) + Logs sous forme de liste HTML + Sujet du mail + Log détaillé en cas d'erreur
     
     
    if [ $backupBDDError =  "1" ] ;                        # Si la variable témoin est à 1 alors une erreur s'est produite pendant les dumps.                    
    then
        echo "Ajout de l'objet du mail dans le fichier HTML"
        sed "/<h2>/ a Bonjour , <br /> <br /> La sauvegarde du serveur MariaDB sur nom d'hôte (@ip) est en résultat <font color='red'>[ERROR]</font>. " $html >>$html1.txt
     
        echo "Ajout des logs des dumps dans l'objet du mail"
        sed "/<ul id='log'>/ r $loghtml" $html1.txt >> $html3.txt
     
        echo "Ajout du sujet du mail"
        sed "/Subject:/ c\Subject: [ERROR]Sauvegarde MDB (nom d'hote) [$cpt bases de données]" $html3.txt >> $html3$dateHeureLancement.txt
     
        echo "Ajout des log détaillé au mail en cas d'erreur"
        sed "/<ul id='logdetail'>/ r $logFileDetail" $html3$dateHeureLancement.txt >> $html3$html4$dateHeureLancement.txt
     
        echo "Envoi du mail d'erreur"
        /usr/sbin/sendmail -t < $html3$html4$dateHeureLancement.txt
     
    else
        echo "Ajout de l'objet du mail dans le fichier HTML"
         sed "/<h2>/ a Bonjour ,<br /> <br /> La sauvegarde du serveur MariaDB sur NomHOTE (AdresseIP) est en résultat <font color='green'>[SUCCESS].</font> " $html >>$html1.txt
     
        echo "Ajout des logs des dumps dans l'objet du mail"
        sed "/<ul id='log'>/ r $loghtml" $html1.txt >> $html3.txt
     
        echo "Ajout du sujet du mail"
         sed "/Subject:/ c\Subject: [SUCCES]Sauvegarde MDB (nom d'hote) [$cpt bases de données]" $html3.txt >> $html3$dateHeureLancement.txt
     
         echo "Envoi du mail de succès"
        /usr/sbin/sendmail -t < $html3$dateHeureLancement.txt
    fi
    Le contenu de $html3$dateHeureLancement.txt

    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
     
     
     
    From: nomhote@domain.fr
    To: adespretz@domain.fr
    Subject: [SUCCES]Sauvegarde MDB (nom d'hôtes) [NB bases de données]
    Content-Type: text/html
    <html>
            <head>
                    <meta charset="UTF-8">
            </head>
            <body>
            <h2>
    Bonjour ,<br /> <br /> La sauvegarde du serveur MariaDB sur nom d'hote (@ip) est en résultat <font color='green'>[SUCCESS].</font> 
     
            </h2>
     
         <ul id='log'>
    <li> <font color='green'>SUCCESS</font> : BDD1 dump <font color='green'>OK </font> 20M    /home/scripts/Backup/Dump/20200221_155401BDD1.sql . </li>
    <li> <font color='green'>SUCCESS</font> : BDD2 dump <font color='green'>OK </font> 4,0K    /home/scripts/Backup/Dump/20200221_155401BDD2.sql . </li>
    <li> <font color='green'>SUCCESS</font> : BDD3 dump <font color='green'>OK </font> 104M    /home/scripts/Backup/Dump/20200221_155401BDD3 . </li>
            </ul>
            <ul id='logdetail'>
     
            </ul>
    </body>
    </html>
    Comme vous pouvez le voir il y a bien un destinataire dans l'en-tête html.

    Je précise que j'ai essayé de changer mon fichier de txt à HTML et j'ai la même erreur.

    Encore une fois la structure est la même que sur mon serveur Postgres où tout fonctionne parfaitement.

    Voici les logs quand je lance le script à la main sur le serveur MariaDB:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Feb 21 11:20:55 nomhote postfix/pickup[8351]: 530016105A06: uid=1002 from=<MariaDBBackup2>
    Feb 21 11:20:55 nomhote postfix/cleanup[10758]: 530016105A06: message-id=<20200221102055.530016105A06@nomhote.localdomain>
    Feb 21 11:20:55 nomhote postfix/qmgr[8352]: 530016105A06: from=<MariaDBBackup2@domain.fr>, size=7978, nrcpt=1 (queue active)
    Feb 21 11:20:55 nomhote postfix/smtp[10761]: 530016105A06: enabling PIX workarounds: disable_esmtp delay_dotcrlf for smtp-relay.domain[ipServeurSMTP]:25
    Feb 21 11:20:55 nomhote postfix/smtp[10761]: 530016105A06: to=<adespretz@domain.fr>, relay=smtp-relay.domain[ipServeurSMTP]:25, delay=0.15, delays=0.04/0.02/0.01/0.08, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 6E8A0414B8)
    Feb 21 11:20:55 nomhote postfix/qmgr[8352]: 530016105A06: removed
    Voici les logs quand je lance le script via crontab sur le serveur MariaDB:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Feb 21 11:19:01 nomhote postfix/pickup[8351]: 4897B6105A06: uid=1002 from=<MariaDBBackup2>
    Feb 21 11:19:01 nomhote postfix/cleanup[10575]: 4897B6105A06: message-id=<20200221101901.4897B6105A06@spvlco7mdb01.localdomain>
    Feb 21 11:19:01 nomhote postfix/qmgr[8352]: 4897B6105A06: from=<MariaDBBackup2@domain.fr>, size=854, nrcpt=1 (queue active)
    Feb 21 11:19:01 nomhote postfix/smtp[10578]: 4897B6105A06: enabling PIX workarounds: disable_esmtp delay_dotcrlf for smtp-relay.domain[ipServeurSMTP]:25
    Feb 21 11:19:01 nomhote postfix/smtp[10578]: 4897B6105A06: to=<root@domain.fr>, orig_to=<root>, relay=smtp-relay.domain[ipServeurSMTP]:25, delay=0.37, delays=0.16/0.08/0.08/0.05, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 90B10414B8)
    Feb 21 11:19:01 nomhote postfix/qmgr[8352]: 4897B6105A06: removed
    Feb 21 11:19:08 nomhote postfix/sendmail[10609]: fatal: MariaDBBackup2(1002): No recipient addresses found in message header
    Voici les logs quand le script se lance via crontab sur le serveur PostgreSQL (ça marche sur ce serveur) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
     
    Feb 21 10:10:16 nomhote postfix/pickup[29398]: B8111608B510: uid=1000 from=<PostgresBackup>
    Feb 21 10:10:16 nomhote postfix/cleanup[30008]: B8111608B510: message-id=<20200221091016.B8111608B510@nomhote.localdomain>
    Feb 21 10:10:16 nomhote postfix/qmgr[39254]: B8111608B510: from=<PostgresBackup@domain.fr>, size=959, nrcpt=1 (queue active)
    Feb 21 10:10:16 nomhote postfix/smtp[30011]: B8111608B510: enabling PIX workarounds: disable_esmtp delay_dotcrlf for smtp-relay.domain[ipServeurSMTP]:25
    Feb 21 10:10:16 nomhote postfix/smtp[30011]: B8111608B510: to=<adespretz@domain.fr>, relay=smtp-relay.domain[ipServeurSMTP]:25, delay=0.11, delays=0.06/0.01/0.02/0.03, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as C5E1D41577)
    Feb 21 10:10:16 nomhote postfix/qmgr[39254]: B8111608B510: removed
    /etc/crontab de MariaDB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
     
    54 15 *  *  mon,tue,wed,thu,fri  MariaDBBackup2 . /home/scripts/Backup/MariaDBBackup_3.sh
    55 18 *  *  mon,tue,wed,thu,fri  MariaDBBackup2 . /home/scripts/Backup/MariaDBBackup_purge.sh
    /etc/crontab de PostGreSQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
     
    10 10 * * mon,tue,wed,thu,fri PostgresBackup . /home/scripts/Backup/PostgresBackup2.sh
    55 18 * * mon,tue,wed,thu,fri PostgresBackup . /home/scripts/Backup/PostgresBackup_purge.sh
    Par avance merci à ceux qui auront le courage de lire mon pavé.

    Cordialement
    PS: Les 2 serveurs sont sous centos 7
    Alexis.

  2. #2
    Membre éclairé Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Points : 761
    Points
    761
    Par défaut
    Je dirai de passer les

    vers

    dans la configuration des cron puisque les destinataires sont renseignés dans les scripts

Discussions similaires

  1. [WM22] Aucune sélection dans une table
    Par Invité dans le forum Windev Mobile
    Réponses: 2
    Dernier message: 02/02/2017, 11h08
  2. Réponses: 11
    Dernier message: 31/08/2014, 11h01
  3. Réponses: 0
    Dernier message: 29/02/2012, 12h09
  4. Réponses: 2
    Dernier message: 14/11/2008, 19h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo