Annonce

#1 2005-10-22 03:36:09

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

Salut,

j'ai un grooooos problème:
CAS 1: si je joints une image par FTP et je place après des liens absolus dans ma newsletter html, la newsletter arrive, toute belle, bien dans la boite mail.
CAS 2: si j'uploade des fichiers pour les joindre à la newsletter, et je place le lien <img src="cid:image.jpg" alt="monImage">, je les vois bien dans la prévisualisation, mais elles ne sont pas envoyées. (elles sont pourtant bien enregistrées avec une extension .dl dans mon rep upload/ qui a les bonnes permissions (777).

j'ai essayé de changer dans la conf de la newsletter les chemins de stockage des fichiers (remplacé upload par http://monsite.truc/newsletter/upload/ etc.), mais rien n'y fait..

je suis sur la version 2.2.5 de WAnewsletter, un serveur windoze, version PHP: 4.3.8; j'utilise l'envoi SMTP.

du coup, il m'est impossible de savoir  si le problème est du à la conf (ca pue, les configs windoze quand meme) coté serveur (fonction mail() dans PHP ou bien à un bug dans le script?

autre problème sur cette meme config: dans Safari il n'y a pas de prévisualisation (page blanche, code source vide). pas de problème néanmoins pour IE windoze, ni pour Opera et Firefox sous windoze et Linux (oui oui, je teste un peu tout..)

Une idée?

/me va continuer sa recherche dans le forum, or cela fait 2 heures que je retrouve le sujet de facon récurrente, mais pas de réponse précise à la question..  neutral

Hors ligne

#2 2005-10-22 15:54:25

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 299

Re : problemes d'inclusion images // prévisualisation

CAS 2: si j'uploade des fichiers pour les joindre à la newsletter, et je place le lien <img src="cid:image.jpg" alt="monImage">, je les vois bien dans la prévisualisation, mais elles ne sont pas envoyées. (elles sont pourtant bien enregistrées avec une extension .dl dans mon rep upload/ qui a les bonnes permissions (777).

La newsletter n'est pas envoyée ? ou bien elle est envoyée mais les images incorporées n'apparaissent pas ? (Si la newsletter est envoyée, il me faudrait une copie de l'email, en-têtes compris).

autre problème sur cette meme config: dans Safari il n'y a pas de prévisualisation (page blanche, code source vide). pas de problème néanmoins pour IE windoze, ni pour Opera et Firefox sous windoze et Linux (oui oui, je teste un peu tout..)

Une idée?

Essayez avec Wanewsletter 2.2.6


PHP et MySQL, un duo gagnant !

Hors ligne

#3 2005-10-22 19:08:33

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

donc, je précise:
la newsletter est envoyée, mais elle n'affiche pas d'images ni contient-elle des fichiers joints.

voilà le message:
---------------------

Return-Path: <******@free.fr>
Delivered-To: online.fr-******@free.fr
Received: (qmail 7422 invoked from network); 22 Oct 2005 16:58:30 -0000
Received: from prosygma-asp.com (HELO mail.prosygma-asp.com) (62.39.109.10)
  by mrelay4-2.free.fr with SMTP; 22 Oct 2005 16:58:30 -0000
Received: from localhost ([62.39.109.22])
        by mail.prosygma-asp.com (Merak 7.5.2) with ASMTP id 1TI26716
        for <******@free.fr>; Sat, 22 Oct 2005 18:58:32 +0200
Return-Path:******@free.fr
Date: Sat, 22 Oct 2005 19:11:01 +0200
From: "S**ntou" <newsletter@s**ntou.fr>
Subject: test
To: <******@free.fr>
X-Mailer: WAmailer/2.1+ (http://phpcodeur.net)
X-AntiAbuse: Sender IP - 80.170.95.220/Server Name - <s**ntou.fr>
MIME-Version: 1.0
Message-ID: <niyfJ5TUfA2sx8AdKRayRGMwuvCpMm@s**ntou.fr>
Content-Type: text/html;
  charset="ISO-8859-15"
Content-Transfer-Encoding: 8bit
X-UID: 1056106797

<html>
<body>
<img src="cid:bart.gif" alt="test" />
<a
href="http://www.s**ntou.fr/newsletter/subscribe.php?action=desinscription&amp;email=******o%40free.fr&amp;code=[code]&amp;liste=6">Se désinscrire</a>
</body>
</html>

--------------------------

(évidemment les étoiles c'est moi qui les ai mis hein.)

Hors ligne

#4 2005-10-22 19:56:18

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 299

Re : problemes d'inclusion images // prévisualisation

Ok, il faudrait que vous retentiez un envoi après avoir modifié le fichier includes/engine_send.php à la ligne 89, en remplaçant:

if( $error )
{
      $error = FALSE;
      continue;
}

par :

if( $error )
{
    echo "Erreur avec joined_file_exists()";
    exit;
    $error = FALSE;
    continue;
}

Si le message "Erreur avec joined_file_exists()" s'affiche, modifiez le fichier includes/class.attach.php à la ligne 189. Remplacez :

if( !$file_exists )
{
    $error = TRUE;
    $msg_error[] = sprintf($lang['Message']['File_not_exists'], '');
}

par :

if( !$file_exists )
{
    echo wa_realpath($this->upload_path . $filename);
    exit;
    $error = TRUE;
    $msg_error[] = sprintf($lang['Message']['File_not_exists'], '');
}

Et dites-moi ce qui s'affiche.


PHP et MySQL, un duo gagnant !

Hors ligne

#5 2005-10-24 14:42:13

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

malheureusement aucun message d'erreur ne s'affiche après le changement dans includes/engine_send.php  neutral
le fichier est envoyé tel quel, sans les images.
y-a-t-il une autre source d'erreur très probable?

merci.

Hors ligne

#6 2005-10-24 16:35:53

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

du nouveau: après mise à jour du la version 2.2.5 à la version 2.2.6 toujours le meme problème..

Hors ligne

#7 2005-10-24 17:08:40

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 299

Re : problemes d'inclusion images // prévisualisation

Là, je vous avoue que j'ai de la difficulté à comprendre le pourquoi du comment  yikes

Essayons autre chose. Dans le fichier includes/engine_send.php, éditez la ligne 114:

$mailer->attachment($file_path, $real_name, 'attachment', $mime_type, $embedded);
    }

Remplacez par:

echo "passage dans la boucle";
exit;
$mailer->attachment($file_path, $real_name, 'attachment', $mime_type, $embedded);
    }

PHP et MySQL, un duo gagnant !

Hors ligne

#8 2005-10-24 17:12:46

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

donc, il s'affiche à l'envoi "passage dans la boucle".

Hors ligne

#9 2005-10-24 17:22:17

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

je suis peut-etre pas très précise: donc, après la modif, aucune newsletter est envoyée (évident, car rentrage dans la boucle).
je me demande si c'est pas du à une configuration coté serveur (c'est prosygma) car, là, j'essaye la meme chose sur un autre serveur (free), ca marche (sauf que l'image n'est pas incorporée, mais seulement attachée - mais, ca , ca peut etre du à mon client mail aussi?)

Hors ligne

#10 2005-10-24 17:51:32

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 299

Re : problemes d'inclusion images // prévisualisation

je suis peut-etre pas très précise: donc, après la modif, aucune newsletter est envoyée (évident, car rentrage dans la boucle).
je me demande si c'est pas du à une configuration coté serveur (c'est prosygma)

Avec le test qui affiche "passage dans la boucle", c'est normal. J'ai mis une instruction exit.

car, là, j'essaye la meme chose sur un autre serveur (free), ca marche (sauf que l'image n'est pas incorporée, mais seulement attachée - mais, ca , ca peut etre du à mon client mail aussi?)

ah, c'est interessant ça.
Bon, j'aurais dù y penser dés le début. Retirez toutes ces modifs, puis modifiez la ligne 288 du fichier includes/engine_send.php :

// envoi
                if( $mailer->send() )

remplacez par:

// envoi
                if( $mailer->send(true) )

Si vous utilisez l'envoi en copie cachée, éditez la ligne 200 au lieu de la ligne 288.


PHP et MySQL, un duo gagnant !

Hors ligne

#11 2005-10-24 18:16:29

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

hmmmm.....
donc, en remplacant ligne 288 s'affiche la source de la newsletter, aucune newsletter est envoyé:

Return-Path: ***@free.fr
Date: Mon, 24 Oct 2005 18:16:15 +0200
From: "TEST" <newsletter@s**ntou.fr>
Subject: re
To: <***@free.fr>
X-Mailer: WAmailer/2.1+ (http://phpcodeur.net)
X-AntiAbuse: Sender IP - 213.103.79.214/Server Name - <s**ntou.fr>
MIME-Version: 1.0
Message-ID: <HaNigDu27eArOmINmSY225N2mcQ4eK@sentou.fr>
Content-Type: text/html; charset="ISO-8859-15"
Content-Transfer-Encoding: 8bit

<html><body>
<img src="cid:bart.gif" alt="bart" />
<a 
href="http://www.s**ntou.fr/newsletter/subscribe.php?action=desinscription&amp;email=***%40free.fr&amp;code=07308e90c6682e66a78fddaee06aa43d&amp;liste=7">Se 
désinscrire</a>
</body></html>

j'ai changé de "un envoi par abonné" à "envoi en copie cachée" et modifié la ligne 200 de include/engine_send.php, ca m'affiche également le meme code source de ma newsletter.

Le problème doit bien etre à l'endroit où

<img src="cid:bart.gif" alt="bart" />

se traduit en

<img src="cid:9bW6nYgJmi4jCmmEJoczAKcSU277FV@Wamailer" alt="bart" />

?

Hors ligne

#12 2005-10-24 19:05:03

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 299

Re : problemes d'inclusion images // prévisualisation

Je suis à court d'idée là :¬/

Et si vous enlevez la balise <img/> de votre newsletter html, que donne le code source de l'email ? (avec la modif du message précédent toujours active)

edit:

D'où sortez-vous ça :

<img src="cid:9bW6nYgJmi4jCmmEJoczAKcSU277FV@Wamailer" alt="bart" />

?


PHP et MySQL, un duo gagnant !

Hors ligne

#13 2005-10-24 21:54:33

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

D'où sortez-vous ça :

<img src="cid:9bW6nYgJmi4jCmmEJoczAKcSU277FV@Wamailer" alt="bart" />

?

pardon, ca vient de mon essai sur un autre serveur (free) décrit plus haut.

donc, j'ai enlevé la balise <img> et ce que me montre la prévisualisation c'est cela:

"../options/show.php?file=bart.gif&sessid=ef62bb21577540c99aae29ed9540c22a" alt="bart" 

le code source du message meme affiche seulement cela:

<html><body>
"cid:bart.gif" alt="bart"
</body></html>

Hors ligne

#14 2005-10-24 22:09:17

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

donc, je continue à chercher.
j'ai rajouté dans includes/engine_send.php un echo pour les variables $real_name et $physical_name.
les deux sont bien renvoyées et correspondent aux fichier que je veux attacher.
donc, pas de problème de ce coté là!

Hors ligne

#15 2005-10-24 22:51:53

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

donc, je fais toujours la meme chose:

<html><body>
<img src="cid:bart.gif" alt="bart" />
{LINKS}
</body></html>

ce qui donne ca (echo des variables dans includes/engine_send.php):

$error: 
$msg: Array ( ) 
$logdata: Array ( 
    [log_id] => 20 
    [log_subject] => blabla 
    [log_body_text] => 
    [log_body_html] => bart {LINKS} 
    [log_status] => 1 
    [joined_files] => Array ( 
                [0] => Array ( 
                    [log_id] => 20 
                    [file_id] => 1 
                    [file_real_name] => bart.gif 
                    [file_physical_name] => 941e9fe78f4508df9fbbf632cca1d49a.dl 
                    [file_size] => 27329 
                    [file_mimetype] => image/gif 
                    ) 
                ) 
    ) 
filepath: C:\WINNT\TEMP\8021A4D.tmp 
real name: bart.gif 
mimeType:image/gif 
embedded: 1


Return-Path: ***@free.fr 
Date: Mon, 24 Oct 2005 22:52:38 +0200 
From: "TEST" 
Subject: blabla 
To: Undisclosed-recipients:; 
X-Mailer: WAmailer/2.1+ (http://phpcodeur.net) 
X-AntiAbuse: Sender IP - 83.177.207.244/Server Name - 
MIME-Version: 1.0 
Message-ID: 
Content-Type: text/html; 
charset="ISO-8859-15" 
Content-Transfer-Encoding: 8bit 

bart 
Se désinscrire 

donc, le script trouve tout bien; on est d'accord?
du coup, je vois pas à quel autre moment l'attachment peut ne pas se faire? (je cherche, je cherche...)

je me dis que le problème vient probablement vraiment du coté serveur, vu que sur free ca marche très bien.
mais je vois pas quel peut etre le problème: la version de php, une réstriction de récupération par ftp? bizarre.

Hors ligne

#16 2005-10-25 01:19:35

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

bon..
j'ai rajouté dans le fichier includes/class.mailer.php quelques echo() et print_r() afin de voir à quel moment ca merde.
j'espére que cela peut aider pour trouver le problème.
donc, à l'appel de

$mailer->attachment($file_path, $real_name, 'attachment', $mime_type, $embedded);

depuis includes/engine_send.php, ligne 114
je regarde dans includes/class.mailer.php, j'ai l'impression que rien n'est attaché: aucun echo des variables de la fonction attachment() est renvoyé. rien.
quant à la fonction compile_message() dans le meme fichier, on rentre dans le premier if, celui-ci:

function compile_message()
    {
        if( empty($this->compiled_message[$this->format]) )
        { 
        $attach_ary   = $this->attachfile;
        $embedded_ary = $this->embeddedfile;
        $total_attach   = count($attach_ary['path']);
        $total_embedded = count($embedded_ary['path']);

puis sont renvoyé 2 arrays vides:

attach_ary:
Array (
          [path] => Array ( )
          [name] => Array ( )
          [mimetype] => Array ( )
          [disposition] => Array ( )
         )
embedded_ary:
Array (
          [path] => Array ( )
          [name] => Array ( )
          [mimetype] => Array ( )
         )
total_attach: 0
total_embedded: 0

après on rentre dans le if suivant: 

if( !$this->set_file($path) )
        {
     return false;
        }

comme j'ai écrit dans un message précédant, $embedded est envoyé depuis includes/engine_send.php étant égal à 1.

sinon $format est bien "2", donc case 'html'.

bien, il est tard, j'espère qu'on me comprend.. wink

Hors ligne

#17 2005-10-25 01:41:54

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 299

Re : problemes d'inclusion images // prévisualisation

Donc pour résumer:

on passe bien dans la partie où se trouve $mailer->attachement(...);, donc la méthode attachment() devrait bien être appelée, mais ce n'est pas le cas apparamment.

Si c'était le cas, la classe wamailer vérifie immédiatement si le fichier existe et est accessible en lecture, si ce n'est pas le cas, l'envoi de l'email est bloqué et un message d'erreur est retourné. Si l'erreur ne se produisait pas là mais au moment de l'accés du fichier, on aurrait également une erreur retournée et un bloquage de l'envoi.

Je n'ai pas d'explication sur ce phénomène :¬/

Je pense qu'il faudrait songer à une mise à jour de PHP vers la version 4.4.0


PHP et MySQL, un duo gagnant !

Hors ligne

#18 2005-10-25 01:56:49

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

on passe bien dans la partie où se trouve $mailer->attachement(...);, donc la méthode attachment() devrait bien être appelée, mais ce n'est pas le cas apparamment.

oui, la fonction attachment() est appellée.

néanmoins, au moment de la vérification dans includes/class.mailer.php, ligne 1097:

if( $embedded )
        { 
            $offset = count($this->embeddedfile['path']);
            $this->embeddedfile['path'][$offset]        = $path;
            $this->embeddedfile['name'][$offset]        = ( $filename != '' ) ? trim($filename) : basename($path);
            $this->embeddedfile['mimetype'][$offset]    = $mime_type;
    }
        else
        {
            $offset = count($this->attachfile['path']);
            $this->attachfile['path'][$offset]          = $path;
            $this->attachfile['name'][$offset]          = ( $filename != '' ) ? trim($filename) : basename($path);
            $this->attachfile['mimetype'][$offset]      = $mime_type;
            $this->attachfile['disposition'][$offset]   = ( $disposition == 'inline' ) ? 'inline' : 'attachment';
        }

on ne rentre plus dans les conditions.

Si c'était le cas, la classe wamailer vérifie immédiatement si le fichier existe et est accessible en lecture, si ce n'est pas le cas, l'envoi de l'email est bloqué et un message d'erreur est retourné. Si l'erreur ne se produisait pas là mais au moment de l'accés du fichier, on aurrait également une erreur retournée et un bloquage de l'envoi.

tout à fait. mais le fichier est présent et accessible. aucun message d'erreur.

Je n'ai pas d'explication sur ce phénomène :¬/

merde alors   sad

Je pense qu'il faudrait songer à une mise à jour de PHP vers la version 4.4.0

mouais..
faudrait qu'ils pensent à un UNix qui va bien plutot big_smile
Merci pour votre aide, je vais me débrouiller autrement dans un premier temps. Mais j'aimerais bien savoir quel est le problème, donc, si quelqu'un d'autre est hébergé chez prosygma, s'il vous plait, faites part de vos expériences.

Hors ligne

#19 2005-10-25 02:07:22

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

hhmmm...
je pense à un truc, le fichier temporaire est enregistré sous "C:\WINNT\TEMP\1431B08.tmp", et.. je n'ai pas les permissions pour accéder à ce répertoire... cela est peut-etre tout le problème?
où est-ce que je peux changer le path pour l'enregistrement des fichiers temporaires svp?

Hors ligne

#20 2005-10-25 02:18:13

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 299

Re : problemes d'inclusion images // prévisualisation

hhmmm...
je pense à un truc, le fichier temporaire est enregistré sous "C:\WINNT\TEMP\1431B08.tmp", et.. je n'ai pas les permissions pour accéder à ce répertoire... cela est peut-etre tout le problème?
où est-ce que je peux changer le path pour l'enregistrement des fichiers temporaires svp?

Bizzare  yikes Vous avez activé le stockage des fichiers joints sur un serveur FTP distant (voir dans configuration générale du script) ?


PHP et MySQL, un duo gagnant !

Hors ligne

#21 2005-10-25 02:23:51

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

oui oui bien sur.
mes fichiers sont stockés là:
/d:/www/s**ntou.fr/website/newsletter/upload/

et le fichier temporaire est toujours sur le C:\ chez l'hébergeur..
(probablement très mal configuré leur truc..)
et donc, si je vois bien, dans wanewsletter il y a pas de vérification des droits de l'emplacement temporaire?
c'est bizarre que je puisse écrire dedans... ou bien .. peut-etre je ne peux meme pas mais il n'y a pas de message d'erreur?

Hors ligne

#22 2005-10-28 16:37:44

ulrike
Membre
Lieu : paris
Inscription : 2005-10-22
Messages : 24

Re : problemes d'inclusion images // prévisualisation

je cherche toujours à changer l'endroit où sont enregistrés les fichiers temporaires.
je suppose que d'un c'est dans includes/class.attach.php, mais je vois pas très bien ce qu'il faut remplacer par quoi?
je voudrais que les fichiers temporaires soient en enregistrés dans tmp/ à la racine de la newsletter?

Hors ligne

Pied de page des forums