Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liste dans un mail

2 réponses
Avatar
Pascale
J'ai des soucis avec un courrier que je souhaite envoyer automatiquement
chaque mois aux abonnés d'une liste. Actuellement, je le fais à la main, et
mon objectif est d'automatiser le traitement. Le message en question est en
texte brut.
Ce qui me pose problème, c'est de récupérer une liste de plantes assorties
d'un lien direct vers leur fiche, par exemple :

Ceratonia siliqua
http://www.[...]?numfiche=222

Pistacia sp.
http://www.[...]?numfiche=1294

Odontites vulgaris
http://www.[...]?numfiche=1587

et ainsi de suite.

Pour l'instant, j'ai un truc du genre :

$sel4="SELECT numfiche,nomplante FROM monbeaufichier WHERE
datevalid='$datevalid'";
$req4 = mysql_query($sel4) or die('<CENTER>Erreur SQL
!'.$sel4.'<br>'.mysql_error().'</CENTER>' );
while (list($numfiche,$nomplante)=mysql_fetch_row($req4))
{
$listeplantes=$nomplante."\nhttp://www.[...]?numfiche=".$numfiche."\n";
}
$sujet='Nouvelles du mois';
$texte="Bonjour,\n".$monbeautexte."\n".$listeplantes."
Cordialement\n--\nMa belle signature";
$from='From: moi@chezmoi.com';
$reply='Reply-To: encoremoi@chezmoi.com';
$retp='Return-Path: toujoursmoi@chezmoi.com';
$headers=$from."\n".$reply."\n".$retp."\n";
mail('listedest@ml.free.fr',$sujet,$texte,$headers);

Ce programme présente le léger défaut de ne pas marcher, car ma liste de
plantes se résume à une plante... Ce qui est un peu embêtant (alors que si,
dans la boucle, je fais un echo sur $listeplantes, j'ai bien ma liste).

Quelqu'un pourrait-il m'aider à me dépétrer de ce problème ?
--
Pascale

2 réponses

Avatar
Olivier Miakinen

while (list($numfiche,$nomplante)=mysql_fetch_row($req4))
{
$listeplantes=$nomplante."nhttp://www.[...]?numfiche=".$numfiche."n";
}


RTFM ? ;-)

Chaque nouveau tour de boucle écrase la valeur précédente au lieu
qu'elles se rajoutent. Si à la fin tu veux une seule chaîne contenant
la totalité des valeurs, remplace ton « = » par un « .= », sans oublier
d'initialiser $listeplantes à la chaîne vide avant de commencer.

$from='From: ';
$reply='Reply-To: ';


Pour quelle raison as-tu besoin d'un Reply-To pour un message
automatique ? Autant mettre l'adresse de réponse directement dans
le From, non ?

Avatar
Pascale
Olivier Miakinen <om+ écrivait
news:45a94e9a$:

RTFM ? ;-)


Certes, mais faut trouver ce qu'on cherche (o;

Chaque nouveau tour de boucle écrase la valeur précédente au lieu
qu'elles se rajoutent. Si à la fin tu veux une seule chaîne contenant
la totalité des valeurs, remplace ton « = » par un « .= », sans
oublier d'initialiser $listeplantes à la chaîne vide avant de
commencer.


« Bon sang, mais c'est bien sûr ! » (:
Je cherchais quelque chose de plus compliqué, je ne pensais pas qu'un
« bête » .= était la solution.

Pour quelle raison as-tu besoin d'un Reply-To pour un message
automatique ? Autant mettre l'adresse de réponse directement dans
le From, non ?


Dans ce cas là, y a même pas besoin de Reply-To, c'est une bêtise de ma
part, une recopie à partir d'un autre de mes programmes.

Au juste : merci (:

--
Pascale