Aide - Recherche - Membres - Calendrier
Version complète : email avec image (résolu)
Forum osCommerce-fr > Adapter OsCommerce MS2 > Design
lilou79
bonjour

je souhaite envoyer un email via l'admin d'os à tous les inscrits du site.
le probleme c'est que je n'arrive pas à mettre une image, je ne peux mettre que du texte.

j'ai bien vu des posts qui parle de "phpmynewsletter" mais je suis une débutante et pour moi c'est du charabia unsure.gif , c'est trop compliqué.

quelqu'un peux m'aider, s'il vous plait?

merci merci
rabimac
salut lilou,

effectivement le module de base de l'admin oscommerce pour la newsletter ne permet pas d'envoyer d'image, il faut passer par des contributions ou module externe style phpmynewsletter.

il va faloir que tu sortes ta boite à outil smile.gif

lilou79
CITATION(rabimac @ 13 Apr 2007, 17:39) [snapback]230931[/snapback]
salut lilou,

effectivement le module de base de l'admin oscommerce pour la newsletter ne permet pas d'envoyer d'image, il faut passer par des contributions ou module externe style phpmynewsletter.

il va faloir que tu sortes ta boite à outil smile.gif

lilou79
merci Rabimac

mais j'ai vraiment essayé d'installer phpmynesxletter mais c trop dure pour moi.

donc pour toi y'a pas d'autres solutions??? sur?
IndiaStarker
Bonjour,
Oui il y a plus simple. Vous pouvez simplement mettre du html dans le newsletter.
Ta da !

IMPORTANT : il y a une ligne à modifier dans admin/includes/modules/newsletters/newsletter.php

Il suffit de changer add_text à add_html.
La voilà en gras:

Changer :
function send($newsletter_id) {
$mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'");

$mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
$mimemessage->add_text($this->content);

A :
function send($newsletter_id) {
$mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'");

$mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
// $mimemessage->add_text($this->content);
$mimemessage->add_html($this->content);


Ca marche pour moi en tout cas.
Aussi, dans Options de mail sous Configuration, mettre Utiliser MIME HTML pour l'envoi des emails : true
Je ne sais pas par contre ce que recoit quelqu'un qui lit ses mail en text pur.***
-i.
*** Il y a peut-être mieux à faire.
Si quelqu'un veut nous illuminer ?
IndiaStarker
Si trop de lignes blanches : http://www.oscommerce-fr.info/forum/index....showtopic=24807
lilou79
merci indiastarker
j'essaie ça tout de suite, et si ça marche.... rolleyes.gif tu es trop forte

merci merci
lilou
IndiaStarker
Finalement, il parait que les newsletters par défaut ne lise pas la valeur de Utiliser MIME HTML .
Mais on peut faire mieux :
J'ai trouvé ce conseil à l'instant :
CITATION(JeanLuc @ 25 Nov 2004, 12:23) [snapback]76943[/snapback]
Essais tout de même de faire un test pour la constante de configuration "EMAIL_USE_HTML" (pour rester cohérent avec l'admin):
CODE
    $text = strip_tags($this->content);
    if (EMAIL_USE_HTML == 'true') {
      $message->add_html($this->content, $text);
    } else {
      $message->add_text($text);
    }


Bon code... wink.gif

Thread original : http://www.oscommerce-fr.info/forum/index....showtopic=13218
lilou79
...bon ben ; ça n'a pas l'aire de marcher, mais j'ai peut etre fait une erreur au niveau du code.
voilà ce que j'ai fait

catalog/admmin/includes/modules/newsletters/newsletters.php
CITATION
$text = strip_tags($this->content);
if (EMAIL_USE_HTML == 'true') {
$message->add_html($this->content, $text);
} else {
$message->add_text($text);
}
$mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
$mimemessage->add_html($this->content);
$mimemessage->build_message();
while ($mail = tep_db_fetch_array($mail_query)) {
$mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title);
}


à mon avis y'a un truc qui cloche dry.gif (j'me répète un peu dans le code...non?)

IndiaStarker
Hmmm...
Tout ça à l'air bizarre; tu as trop fait et il y a même add_html 2 fois blink.gif
Regle d'or : faire simple d'abords et puis faire élégant pas à pas.

1. REMETTRE L'ORIGINAL (de ton sauvegarde) et puis
2. Change juste add_text à add_html dans un 1e temps dans la fontion send() :

function send($newsletter_id) {
$mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'");

$mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
// $mimemessage->add_text($this->content);
$mimemessage->add_html($this->content);
$mimemessage->build_message();
while ($mail = tep_db_fetch_array($mail_query)) {
$mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title);
}

$newsletter_id = tep_db_prepare_input($newsletter_id);
tep_db_query("update " . TABLE_NEWSLETTERS . " set date_sent = now(), status = '1' where newsletters_id = '" . tep_db_input($newsletter_id) . "'");
}
}


Si c'est bon, remplacer uniquement la ligne en gras par le paragraphe de Jean Luc si tu souhaites éteindre le html de l'admin.
-india
lilou79
bon j'ai enlevé la partie
CITATION
$mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
$mimemessage->add_html($this->content);
$mimemessage->build_message();
while ($mail = tep_db_fetch_array($mail_query)) {
$mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title);


ça ne marce toujours pas.

je déprime, ..
je passerai bien par outlook pour allé plus vite mais comment récupérer toutes mes adresses?
j'ai vu ça..
CITATION
tu les trouvera dans la base de donnée:

SELECT `customers_email_address` FROM `customers`

forum

mais je ne vois pas du tout où c'est...(la base de données c'est bien le gestionnaire de fichier??)...non ne me tapper pas dessus blush.gif
si c'est ça j'ai pas trouvé

grrr je dois etre vraiment nul...mais je persiste, on est tous passé par là, n'est ce pas les pros d'os!!!

Please, aidez moi
IndiaStarker
Bon courage lilou79,
Une partie du problème est que tu n'as jamais dit ce qui ne marchait pas wink.gif.
Ce n'est pas très utile !

Pas d'envoi du tout ?
Balises dans le message ?
Y-a-til un message d'erreur ?
Le email de la boutique--déjà marche-til ?
Essaies-tu en local ? en remote(chez ton hébergeur ?

Pour avoir de l'aide sur les forums il faut être très explicite.
Ta demande cache peut-être d'autres problèmes.

Bonne continuation,
-i.
lilou79
India, j'ai fait ce que tu m'a dit...
-remettre l'original
-j'ai rajouté le "HTML" en dessous du "TEXT"
-ça n'a pas marché, : le message reçu contient les codes et non les images
-j'ai remplacé la phrase où il y a "HTML" par le texte de jean luc....
et ça ne marche toujours pas
CITATION
$mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'");

$mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
//$mimemessage->add_text($this->content);
$text = strip_tags($this->content);
if (EMAIL_USE_HTML == 'true') {
$message->add_html($this->content, $text);
} else {
$message->add_text($text);

$mimemessage->build_message();
while ($mail = tep_db_fetch_array($mail_query)) {
$mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title);


c'est bien ç que tu m'a conseillé de faire??


ah oui et autre chose: je n'ai pas de sauvegarde ..quand je veux en faire une, ça me dit
CITATION
Erreur : Le répertoire de sauvegarde n'existe pas. Merci de le préciser dans le fichier configure.php.

heuuuuu....là je crois que c'est grave
lilou79
si si india, le message part sans problème, mais que du texte et du code pas d'image
IndiaStarker
Oui tu as bien fait.
Ben, j'ai pas. quand je le fais, j'ai les images. (D'ailleurs, si les balises s'affichent avant de mettre le code de Jean Luc, son code ne va surtout pas changer la situation !! C'est juste pour éteindre le html depuis admin.)

1. Tu lis le mail dans quel logiciel ?
Affiche la source.

Voici la source d'un newsletter que j'ai envoyé à mon compte gmail provenant de ma machine local (tournant linux) :

Delivered-To: moi@gmail.com
Received: by 10.115.107.9 with SMTP id j9cs77799wam;
Fri, 13 Apr 2007 13:34:57 -0700 (PDT)
Received: by 10.67.101.10 with SMTP id d10mr2240628ugm.1176496496281;
Fri, 13 Apr 2007 13:34:56 -0700 (PDT)
Return-Path: <apache2@localhost.localdomain>
Received: from localhost.localdomain (83-158-15-158.dsl.tiscali.fr [83.158.15.158])
by mx.google.com with ESMTP id y37si5806118iky.2007.04.13.13.34.50;
Fri, 13 Apr 2007 13:34:56 -0700 (PDT)
Received-SPF: neutral (google.com: 83.158.15.158 is neither permitted nor denied by domain of apache2@localhost.localdomain)
Received: from localhost.localdomain (Freya [127.0.0.1])
by localhost.localdomain (8.13.1/8.13.1) with ESMTP id l3DKcndH005684
for <moi@gmail.com>; Fri, 13 Apr 2007 22:38:54 +0200
Received: (from apache2@localhost)
by localhost.localdomain (8.13.1/8.13.1/Submit) id l3DKcntN005683;
Fri, 13 Apr 2007 22:38:49 +0200
Date: Fri, 13 Apr 2007 22:38:49 +0200
Message-Id: <200704132038.l3DKcntN005683@localhost.localdomain>
To: "Marie GUYANE" <moi@gmail.com>
Subject: picture
From: xxx@lajourneeparfaite.fr
MIME-Version: 1.0
X-Mailer: osCommerce bulk mailer
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable



<a href=3D"http://www.lajourneeparfaite.fr"><img src=3D"http://www.lajourne=
eparfaite.fr/images/table_background_default.jpg"></a>

-i.

p.s. c'est gmail qui ajoute les 3D je pense. Je ne sais pas ce que ça veut dire.
IndiaStarker
La source du mail--c'est à dire l'original. Je ne sais pas comment cela s'appelle dans les logiciels différents (outlook express etc.) Dans gmail on choisit : Afficher l' original qui se trouve : le 6ième choix dans la liste déroulante à droite du sujet.
-i.
lilou79
j'utilise outlook

comment fais tu pour voir la source?
lilou79
bon ben apparemment dans outolook je n'ai pas les meme options que Gmail, je ne vois pas d"original"
IndiaStarker
Désolée, je l'ai désinstallé wink.gif (Vive Thunderbird et le logiciel libre). Cherche un peu. Pour Thunderbird, c'est Affichage=>Code source du message.
-i.
lilou79
j'ai envoyé la news letter sur une autre adresse e-mail (XXX@neuf.fr) j'ai la source mais elle est super longue je te la donne quand meme?
IndiaStarker
Poste la partie que j'ai mis en gras ci-dessus et la première ligne du corp. Aussi envoi-moi le newsletter directe de la boutique à l'adresse fourni par mp.

p.s. Ne fais pas de tests avec les truc super long. Just mettre le code html pour un image, genre <img src="http://maboutique.com/image/monimage.jpg">
lilou79
je t'ai envoyé un mail via os, sur l'adresse de ton site...
dis moi ce que tu vois dans la source,
parce que de mon côté je ne tourve pas le texte en gras que tu me dis unsure.gif
IndiaStarker
Source du problème trouvé :

MIME-Version: 1.0
X-Mailer: osCommerce
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

La question est pourquoi et comment j'ai changé cela. (Et ça m'a pris beacoup moins de temps que trouver le problème chez toi, mais bon...)
J'ai fait une recherche sur mon site pour add_html et j'ai trouvé que j'ai également changé add_text à add_html dans admin/mail.php

Par contre je pensais que cela n'était pas utilisé dans les newsletters. (Tu fais bien un newsletter, n'est-ce pas ? Pas un email ?)

Dans admin/mail.php :
[codebox] //Let's build a message object using the email class
$mimemessage = new email(array('X-Mailer: osCommerce'));
// add the message to the object
//28JAN2007 changed add_text to add_html
//$mimemessage->add_text($message);
$mimemessage->add_html($message);
[/codebox]

C'est pour les emails (par rapport aux newsletters).
Je pense que l'on a trouvé la solution. N'oublie pas de marquer [résolu] si tu est d'accord.
-i.
IndiaStarker
Remarque : Il y a aussi des contribs pour emails en html. Je n'ai pas de connaissance perso mais ils semblent très populaires.
lilou79
j'ai fait la modif dans mail.php

en fait ce que j'envoie, c'est dans "envoyé un courrier electronique" dans l'admin/outil

j'ai essayé dans "gestionnaire de bulletin d'information" mais ça m'enregistre la nouvelle lettre d'info mais ça ne l'envoie pas. dans la partie "envoyer" j'ai une croix rouge.

c'est bien ça ta question?
lilou79
je crois que j'ai compris mon erreur

je fais un test et te redis
IndiaStarker
CITATION(lilou79 @ 14 Apr 2007, 14:49) [snapback]231075[/snapback]
j'ai fait la modif dans mail.php

et ?

CITATION(lilou79 @ 14 Apr 2007, 14:49) [snapback]231075[/snapback]
j'ai essayé dans "gestionnaire de bulletin d'information" mais ça m'enregistre la nouvelle lettre d'info mais ça ne l'envoie pas. dans la partie "envoyer" j'ai une croix rouge.

c'est bien ça ta question?

Oui, c'était ma question. Attention de ne pas envoyer à toute ta clientèle les essais.
Tu remarquera que le crois rouge est dans la colonne Envoyer et signifie tout bêtement que ce n'est pas encore envoyé.
Il suffit de le verouiller quand c'est nickel (le cadenas se ferme) et l'envoyer.

Mise en garde : Cette methodé simple (changer add_text en faveur de add_html ) qui était la demande ne gère pas les récipients ne lisant pas du html.
-i.
lilou79
rolleyes.gif

ouaiiiiii, ça marche!!

10000 merci

super genial

par contre...
la news letter ne peut être envoyé qu'aux personnes qui ont selectionné "abonné à la newsletter"??
y'a moyen de selectionner d'autres personnes?
mezig
salut

tu aurais pus aussi installer FCKeditor, qui permet de faire encore plus de chose que d'inserer des images ...

bye
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.