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

Langage PHP Discussion :

PHP MAIL POSTFIX DKIM wrong body hash


Sujet :

Langage PHP

  1. #1
    Pgs
    Pgs est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Points : 100
    Points
    100
    Par défaut PHP MAIL POSTFIX DKIM wrong body hash
    Bonjour,

    J'utilise php pour envoyer des mails via mon serveur CENTOS/POSTFIX.

    Ils passent DKIM.

    En revanche, si je rajoute une pièce jointe, j'ai un fail (wrong body hash: expected ...)

    C'est certainement du à l'encodage.

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $mail_Data .= 'Content-Type: application/pdf; name="'.$filenom.'"'."\n";
    $mail_Data .= 'Content-Transfer-Encoding: base64'."\n";
    $mail_Data .= 'Content-Disposition:inline; filename="'.$filenom.'"'."\n\n";
    $mail_Data .= chunk_split(base64_encode(file_get_contents($fullpath)))."\n";

    Si vous aviez une piste, ce serait vraiment cool.

    Bonne journée,

    Philippe

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 440
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 440
    Points : 15 814
    Points
    15 814
    Par défaut
    Est ce que tu as essayé d'envoyé l'e-mail avec la bibliothèque PHPMailer ?
    https://github.com/PHPMailer/PHPMailer

    parfois en regardant juste l'e-mail généré par cette bibliothèque, ça peut aider à corriger son code d'origine

  3. #3
    Pgs
    Pgs est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Points : 100
    Points
    100
    Par défaut
    Merci Mathieu,

    Entretemps, j'ai résolu mon problème, voici comment.

    Je rappelle le problème et la solution.

    Problème :
    * j'envoie des mails via php/opendkim/postfix,
    * ils passent dkim sauf si j'incorpore une pièce jointe encodée chunk_split(base64_encode(file_get_contents(...))) et annoncée Content-Transfer-Encoding: base64.

    J'ai constaté que lors de l'envoi, les sauts de ligne CR LF sont doublés (uniquement au niveau de cette partie encodée).

    La solution d'augmenter smtp_line_length_limit dans les paramètres POSTFIX n'a pas fonctionné.
    La solution de passer à yes les paramètres disable_mime_input_processing et disable_mime_output_conversion de POSTFIX n'a pas fonctionné.

    Mais la solution de placer FixCRLF yes dans opendkim.conf a résolu le problème (merci Bruno).
    Les CRLF sont toujours doublés, mais cela ne casse plus la signature.

    Merci encore
    Philippe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. php - mail() via postfix
    Par Squalthor dans le forum Debian
    Réponses: 2
    Dernier message: 07/09/2011, 18h51
  2. [Mail] PHP utilisant Postfix
    Par cyranno dans le forum Langage
    Réponses: 8
    Dernier message: 28/09/2007, 12h50
  3. [Mail] Variable de PHP --> mail en HTML --> PHP
    Par JeanMi66 dans le forum Langage
    Réponses: 3
    Dernier message: 09/12/2005, 20h46
  4. Réponses: 14
    Dernier message: 07/12/2005, 16h56
  5. php mail() +config internet
    Par djabara dans le forum Apache
    Réponses: 25
    Dernier message: 24/11/2005, 22h18

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