salut,
je ne connais pas particulièrement cette classe mais en regardant les exemples de leurs tuto je vois qu'il manque l'adresse mail du destinataire (placé avec $mail->AddAddress( '
[email protected]'); )
qu'est ce que ce bout de code est sencé faire ?
<?php
$mail-> $recip = ("[email protected]");
$mail-> $reply = ("[email protected]");
$mail-> $objet = ("Bordereau de chargement N $numbor");
$mail-> $message = ("$mesbor");
$mail-> $headers .= ("From: $fornom $forcli <[email protected]>\n");
$mail-> $headers .= ("X-priority: 1\n");
$mail-> $headers .= ("Content-type: text/plain; charset=iso-8859-1\n");
$mail-> $headers .= ("Content-Transfert-Encoding: 7bit\n");
$mail-> $nomfich = ("BO$numbor.txt");
$mail-> $headers .= ("Content-Disposition: attachment; filename=$nomfich\n");
?>
connais tu la notion de variable dynamique ? parce que la c'est ce que tu fait et ça doit pas être terrible :/
tu n'a pas besoin d’utilisé de () autour d'une chaine de caractère
Des exemples =>
http://phpmailer.worxware.com/index.php?pg=tutorial
je pense que si tu vire les $ ça ira mieux
la classe gère elle même l’entête, donc pas besoin de headers.
la méthode Send ne prend pas de pramètre.
A tu lu de la doc ?
ton code devrais ressembler a ceci
<?php
require_once('phpmailer/class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
try {
$mail->Host = ("smtp.xxx.fr");
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPKeepAlive = true; // SMTP connection will not close after each email sent
$mail->Host = ("[email protected]"); // sets the SMTP server
$mail->Port = 587; // set the SMTP port for the GMAIL server
$mail->Username = ("[email protected]"); // SMTP account username
$mail->Password = ("xxx"); // SMTP account password
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
$user = "xxx";
$password = "xxx";
$database = "xxx";
$host = "xxx";
$connect = mysql_connect($host, $user, $password) or die(mysql_error());
mysql_select_db($database);
$forcli = $Cookcli;
$result = mysql_query ("select * from client where codecli = '$forcli'");
$row = mysql_fetch_object($result);
echo "<FONT SIZE=+3>";
echo "<DIV ALIGN=center><FONT COLOR=\"#0000CC\"><B>$forcli $row->nom</B></FONT></DIV>";
echo "</FONT>";
echo "<HR SIZE=3 NOSHADE>";
$forcli = $Cookcli;
$fornom = $Cooknom;
if ($forcli < 1)
{echo "<B><FONT SIZE=+1>Votre session est terminée, vous devez vous identifier à nouveau...</FONT></B>";}
$fordate = gmdate("Y-m-d");
$nb = 1;
if ($forcli < 1) {$nb = 0;}
$result = mysql_query("select * from bordereau left join dossier on dossier.numdos = bordereau.numdos where bordereau.numbor = '$numbor' and bordereau.etat = 1
order by bordereau.numbor, bordereau.numdos ");
$nb2 = 0;
if ($result) {$nb2 = mysql_num_rows($result);}
if ($nb2 == 0) {$nb = 0;}
if ($nb > 0)
{while ($row = mysql_fetch_object($result))
{
$si = " numbor = $row->numbor and numdos = $row->numdos ";
$majbor = mysql_query
("update bordereau set etat = 2 where ".$si);
$mesbor .= "$forcli $row->typetrans $fornom;$row->numdos;";
$mesbor .= "$row->reference;$row->nom;$row->adresse1;$row->adresse2;";
$mesbor .= "$row->codepostal;$row->ville;$row->codepays;";
$mesbor .= "$row->nbcolis;$row->poids;$row->volume;$row->metreplancher;";
$mesbor .= "$row->portdu;$row->cr;$row->crdevise;";
$mesbor .= "$row->cr2;$row->crdev2;";
$mesbor .= "$row->vd;$row->vddevise;$row->commentaire;";
$mesbor .= "$row->express;$row->hayon;$row->teldesti;";
$mesbor .= "$row->nbpalettes;$row->obspalette;\n";
}
;}
$mesbor = strtoupper($mesbor);
$ligne1 = "<br>";
$ligne2 = "<br>le bordereau numéro <B>$numbor</B> est transmis";
if ($nb > 0) {
echo "$ligne1 $ligne2";
try {
$mail-> SetFrom ("[email protected]");
$mail-> AddReplyTo ("[email protected]");
$mail-> Subject ="Bordereau de chargement N $numbor");
$mail-> message = ("$mesbor");
$mail-> AddAdress('[email protected]');
$mail-> AltBody = $mesbor;
$mail->AddAttachment("BO$numbor.txt");
$mail->Send();
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
}
if ($nb >0)
{echo "<BR><BR><DIV ALIGN=\"center\">
<A HREF=\"borimp.php? numbor=$numbor\" TARGET=_blank>Imprimer le bordereau</A>
<A HREF=\"bordefinitif.php\" TARGET=_self>Retour</A>
</DIV>" ;}
?>
@+
salut,
je ne connais pas particulièrement cette classe mais en regardant les exemples de leurs tuto je vois qu'il manque l'adresse mail du destinataire (placé avec $mail->AddAddress( '
[email protected]'); )
qu'est ce que ce bout de code est sencé faire ?
[php]
<?php
$mail-> $recip = ("
[email protected]");
$mail-> $reply = ("
[email protected]");
$mail-> $objet = ("Bordereau de chargement N $numbor");
$mail-> $message = ("$mesbor");
$mail-> $headers .= ("From: $fornom $forcli <
[email protected]>\n");
$mail-> $headers .= ("X-priority: 1\n");
$mail-> $headers .= ("Content-type: text/plain; charset=iso-8859-1\n");
$mail-> $headers .= ("Content-Transfert-Encoding: 7bit\n");
$mail-> $nomfich = ("BO$numbor.txt");
$mail-> $headers .= ("Content-Disposition: attachment; filename=$nomfich\n");
?>
[/php]
connais tu la notion de variable dynamique ? parce que la c'est ce que tu fait et ça doit pas être terrible :/
tu n'a pas besoin d’utilisé de () autour d'une chaine de caractère ;)
Des exemples => [url]http://phpmailer.worxware.com/index.php?pg=tutorial[/url]
je pense que si tu vire les $ ça ira mieux
la classe gère elle même l’entête, donc pas besoin de headers.
la méthode Send ne prend pas de pramètre.
A tu lu de la doc ?
ton code devrais ressembler a ceci
[php]
<?php
require_once('phpmailer/class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
try {
$mail->Host = ("smtp.xxx.fr");
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPKeepAlive = true; // SMTP connection will not close after each email sent
$mail->Host = ("
[email protected]"); // sets the SMTP server
$mail->Port = 587; // set the SMTP port for the GMAIL server
$mail->Username = ("
[email protected]"); // SMTP account username
$mail->Password = ("xxx"); // SMTP account password
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
$user = "xxx";
$password = "xxx";
$database = "xxx";
$host = "xxx";
$connect = mysql_connect($host, $user, $password) or die(mysql_error());
mysql_select_db($database);
$forcli = $Cookcli;
$result = mysql_query ("select * from client where codecli = '$forcli'");
$row = mysql_fetch_object($result);
echo "<FONT SIZE=+3>";
echo "<DIV ALIGN=center><FONT COLOR=\"#0000CC\"><B>$forcli $row->nom</B></FONT></DIV>";
echo "</FONT>";
echo "<HR SIZE=3 NOSHADE>";
$forcli = $Cookcli;
$fornom = $Cooknom;
if ($forcli < 1)
{echo "<B><FONT SIZE=+1>Votre session est terminée, vous devez vous identifier à nouveau...</FONT></B>";}
$fordate = gmdate("Y-m-d");
$nb = 1;
if ($forcli < 1) {$nb = 0;}
$result = mysql_query("select * from bordereau left join dossier on dossier.numdos = bordereau.numdos where bordereau.numbor = '$numbor' and bordereau.etat = 1
order by bordereau.numbor, bordereau.numdos ");
$nb2 = 0;
if ($result) {$nb2 = mysql_num_rows($result);}
if ($nb2 == 0) {$nb = 0;}
if ($nb > 0)
{while ($row = mysql_fetch_object($result))
{
$si = " numbor = $row->numbor and numdos = $row->numdos ";
$majbor = mysql_query
("update bordereau set etat = 2 where ".$si);
$mesbor .= "$forcli $row->typetrans $fornom;$row->numdos;";
$mesbor .= "$row->reference;$row->nom;$row->adresse1;$row->adresse2;";
$mesbor .= "$row->codepostal;$row->ville;$row->codepays;";
$mesbor .= "$row->nbcolis;$row->poids;$row->volume;$row->metreplancher;";
$mesbor .= "$row->portdu;$row->cr;$row->crdevise;";
$mesbor .= "$row->cr2;$row->crdev2;";
$mesbor .= "$row->vd;$row->vddevise;$row->commentaire;";
$mesbor .= "$row->express;$row->hayon;$row->teldesti;";
$mesbor .= "$row->nbpalettes;$row->obspalette;\n";
}
;}
$mesbor = strtoupper($mesbor);
$ligne1 = "<br>";
$ligne2 = "<br>le bordereau numéro <B>$numbor</B> est transmis";
if ($nb > 0) {
echo "$ligne1 $ligne2";
try {
$mail-> SetFrom ("
[email protected]");
$mail-> AddReplyTo ("
[email protected]");
$mail-> Subject ="Bordereau de chargement N $numbor");
$mail-> message = ("$mesbor");
$mail-> AddAdress('
[email protected]');
$mail-> AltBody = $mesbor;
$mail->AddAttachment("BO$numbor.txt");
$mail->Send();
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
}
if ($nb >0)
{echo "<BR><BR><DIV ALIGN=\"center\">
<A HREF=\"borimp.php? numbor=$numbor\" TARGET=_blank>Imprimer le bordereau</A>
<A HREF=\"bordefinitif.php\" TARGET=_self>Retour</A>
</DIV>" ;}
?>
[/php]
@+