Voici un exemple d'utilisation de la commande Mail() PHP contrôlée par VB.
Les arguments (adresse e-mail, objet et message) sont passés à la l'url de cette manière par VB de façon à procéder comme un formulaire :
http://monsite.com/mail.php?email=monadresse@monfai.com&objet=Le sujet de mon message&msg=Le texte de mon message que j'envoie ici...
Il est évident que le code à ses limites, en voici quelques exemples :
- Les caractères spéciaux peuvent mal être interprétés (&, #, etc...)
- Comme le code PHP envoie le message en mode Text/HTML vous devez taper <br> pour avoir un retour à la ligne dans votre texte, etc...
- Ce code pour ceux qui ont les esprits rebelles pourrait servir facilement de Mailbomber mais sachez que quasi tous les FAI actuels ont fixé quotas d'utilisation de la fonction Mail() par compte et donc en exemple chez Free si plus 1'000 mails sont envoyés par semaine, votre compte sera bloqué, donc ce code est à utiliser de manière pondérée svp.
- la partie Mail From: que l'on peut ajouter dans le script PHP n'est pas configurable dans tous les cas (en principe, la'adresse d'expédition sera de ce style moncompteouj'aimonscript@faidemonscript.com
- Votre adresse IP est quand même loggée (pas de chance...)
Source / Exemple :
Option Explicit
Private Sub Command1_Click()
If Text1.Text = "" Then
MsgBox "Vous devez spécifier une adresse pour le script PHP !", vbInformation
Text1.SetFocus
Exit Sub
End If
If Text2.Text = "" Then
MsgBox "Vous devez spécifier une adresse E-Mail !", vbInformation
Text2.SetFocus
Exit Sub
End If
If Text3.Text = "" Then
MsgBox "Vous devez donner un objet à votre E-Mail !", vbInformation
Text3.SetFocus
Exit Sub
End If
If Text4.Text = "" Then
MsgBox "Vous devez écrire votre message !", vbInformation
Text4.SetFocus
Exit Sub
End If
Dim strURL As String
Dim strMail As String
Dim strMailState As String
Dim strObjet As String
Dim strMsg As String
Dim strCMD As String
strURL = Trim(Text1.Text)
'CODE PHP lié au projet VB
'
'<?
'$err="1";
'
'if (isset($email) && $email != "") {
' if (isset($objet) && $objet != "") {
' if (isset($msg) && $msg!="") {
' $err="0";
' }
' }
'}
'
'if ($err=="0") {
' $entete = "Content-Type: text/html; charset=iso-8859-1\n"; // Envoie l'E-Mail en mode Texte et/ou HTML
' $entete .= "X-priority:1"; // Envoie l'E-Mail en priorité Haute
' if (@mail($email, $objet, $msg, $entete) == true) {
' echo "done";
' }
' else {
' echo "error";
' }
'}
'else {
' echo "welcome";
'}
'?>
strMail = Trim(Text2.Text)
strObjet = Trim(Text3.Text)
strMsg = Trim(Text4.Text)
strCMD = strURL & "?email=" & strMail & "&objet=" & strObjet & "&msg=" & strMsg
strMailState = LirePage.LirePage(strCMD)
If strMailState = "done" Then
MsgBox "E-Mail envoyé !", vbExclamation
ElseIf strMailState = "error" Then
MsgBox "Echec de l'envoi de l'E-Mail !", vbExclamation
ElseIf strMailState = "welcome" Then
MsgBox "Aucun paramètre d'E-Mail configuré !", vbExclamation
Else
MsgBox "Erreur !" & vbCrLf & strMailState, vbExclamation
End If
End Sub
Conclusion :
Tout est dans le ZIP mais pour les as du copier/coller voici la liste des composants :
- 4 Textbox (Text1=URL du script PHP, Text2=Adresse E-Mail, Text3=Objet, Text4=Message)
- 1 bouton pour envoyer le mail (Command1)
- le module LirePage
Laissez vos commentaires, merci.
ps: je sais bien que d'autre sources existent mais je voulais vous faire profiter de la mienne :-)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.