Et pourtant elle est bien pratique puisqu'elle permet d'envoyer automatiquement un message depuis une page web.
Attention, ce script est donné sous toutes réserves...
Le comportement de smtpsend est très variable (à cause de ceux qui utilisent altern.org pour envoyer des spams).
Aux dernières nouvelles, on ne pouvait envoyer un courrier qu'aux adresses ...@altern.org. Du coup, le script perd beaucoup
de son utilité.
Voici la syntaxe telle qu'elle apparaît dans le fichier forum.html :
/*
$dest est le destinataire du message
*/
$dest = "$user-$forum";
/*
smtpsend permet aussi d'envoyer un fichier avec le message.
On doit lui fournir 6 paramètres :
$from : l'adresse email de l'expéditeur du message (attention
depuis la campagne de spam qu'a subi Altern, le champ $from
doit impérativement être présent et contenir au moins le caractère @
sinon smptsend n'envoie aucun message et exprime son
mécontentement par un message d'erreur.)
$nom : le nom de l'expéditeur du message.
$dest : l'adresse email du destinataire du message.
$sujet : l'objet du message
$texte : le corps du message
$attach (optionnel) : les paramètres liés au fichier attaché s'il y
en a un, une chaîne vide (" "), s'il n'y en a pas.
*/
if ($userfile == "none");
/*
S'il n'y a pas de fichier attaché
*/
$res = smtpsend($from,$nom,$dest,$sujet,$texte," ");
else;
/*
sinon on commence par préciser quelques renseignements relatifs au fichier
attaché (son emplacement sur le disque dur de celui qui l'expédie pour
pouvoir l'envoyer vers le serveur, le nom qu'il prendra, et son type mime).
*/
$attach = "$userfile;$userfile_name;$userfile_type";
$res = smtpsend($from,$nom,$dest,$sujet,$texte,$attach);
/*
Quand le message a été envoyé, on supprime le fichier qui a été stocké dans
un emplacement temporaire sur le serveur.
*/
unlink($userfile);
endif;
<HTML>
<BODY>
<?
if (!$envoi) ;
>
<FORM enctype="multipart/form-data" ACTION="<? echo $PHP_SELF; >" METHOD=POST>
<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=1>
<TR><TD ALIGN=RIGHT>Votre nom : </TD>
<TD><INPUT TYPE="text" NAME="nom"></TD>
</TR>
<TR><TD ALIGN=RIGHT>Votre email : </TD>
<TD><INPUT TYPE="text" NAME="from"></TD>
</TR>
<TR><TD COLSPAN=2 ALIGN=CENTER>
Commentaires éventuels (255 caractères max.)<BR>
<TEXTAREA NAME="comment" COLS=60 ROWS=3></TEXTAREA>
</TD></TR>
</TABLE>
<P><CENTER><INPUT TYPE="submit" NAME="envoi" VALUE="Envoyer">
<INPUT TYPE="reset" VALUE="Annuler"></center></P>
</FORM>
<?
else ;
echo "<HR NOSHADE SIZE=1>";
if ( ($from == "") || (!eregi("@",$from)) ) ;
echo "Votre adresse email, svp... Retournez à la page précédente et vérifiez votre saisie";
echo "</BODY></HTML>";
exit;
endif;
if (strlen($comment) > 255);
echo "Commentaires trop longs... Retournez à la page précédente et vérifiez votre saisie";
echo "</BODY></HTML>";
exit;
endif;
/* Attention dans le corps du message, chaque passage à la ligne
doit être fait avec \r\n */
$texte = "Test de courrier sur Altern\r\n";
$texte += "-----\r\n";
$texte += "Nom : $nom\r\n";
$texte += "Email : $from\r\n";
$texte += "Commentaires : $comment\r\n";
$texte += "-----\r\n\r\n";
$dest = "???@???????.???";
$res = smtpsend($from,$nom,$dest,"Test de courrier",$texte," ");
echo "<P>Merci...";
>
</BODY>
</HTML>
<HTML>
<BODY>
<?
if (!$envoi) ;
>
<FORM enctype="multipart/form-data" ACTION="<? echo $PHP_SELF; >" METHOD=POST>
<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=1>
<TR><TD ALIGN=RIGHT>Votre nom : </TD>
<TD><INPUT TYPE="text" NAME="nom"></TD>
</TR>
<TR><TD ALIGN=RIGHT>Votre email : </TD>
<TD><INPUT TYPE="text" NAME="from"></TD>
</TR>
<TR><TD COLSPAN=2 ALIGN=CENTER>
<INPUT NAME="userfile" TYPE="file">
</TD></TR>
<TR><TD COLSPAN=2 ALIGN=CENTER>
Commentaires éventuels (255 caractères max.)<BR>
<TEXTAREA NAME="comment" COLS=60 ROWS=3></TEXTAREA>
</TD></TR>
</TABLE>
<P><CENTER><INPUT TYPE="submit" NAME="envoi" VALUE="Envoyer">
<INPUT TYPE="reset" VALUE="Annuler"></center></P>
</FORM>
<?
else ;
echo "<HR NOSHADE SIZE=1>";
if ( ($from == "") || (!eregi("@",$from)) ) ;
echo "Votre adresse email, svp... Retournez à la page précédente et vérifiez votre saisie";
echo "</BODY></HTML>";
exit;
endif;
if (strlen($comment) > 255);
echo "Commentaires trop longs... Retournez à la page précédente et vérifiez votre saisie";
echo "</BODY></HTML>";
exit;
endif;
/* Attention dans le corps du message, chaque passage à la ligne
doit être fait avec \r\n */
$texte = "Test de courrier sur Altern\r\n";
$texte += "-----\r\n";
$texte += "Nom : $nom\r\n";
$texte += "Email : $from\r\n";
$texte += "Commentaires : $comment\r\n";
$texte += "-----\r\n\r\n";
$dest = "???@???????.???";
if ($userfile == "none");
$res = smtpsend($from,$nom,$dest,"Test de courrier",$texte," ");
else;
$attach = "$userfile;$userfile_name;$userfile_type";
$res = smtpsend($from,$nom,$dest,"Test de courrier",$texte,$attach);
unlink($userfile);
endif;
echo "<P>Merci...";
>
</BODY>
</HTML>
Page consultée
fois.