[vb.net 2.0] [Résolu]

Signaler
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013
-
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013
-
Bonjour,

quelqu'un pourrait t'il me montrer comment utiliser l'envoi de mail par smtp avec le namespace System.Net.Mail, je n'arrive pas du tout a concevoir mon code,

je fais au debut:
Dim msg As MailMessage
msg.From = MaTexteBox1.Text
msg.To = MaTexteBox2.Text
...

cela me retourne des erreurs comme ceci:
Error 1 Value of type 'String' cannot be converted to 'System.Net.Mail.MailAddress'. C:\Documents and Settings\Shadow\Mes documents\Visual Studio 2005\Projects\ControlClipBoard\ControlClipBoard\Code\Windevel.vb 32

Error 2 Property 'To' is 'ReadOnly'. C:\Documents and Settings\Shadow\Mes documents\Visual Studio 2005\Projects\ControlClipBoard\ControlClipBoard\Code\Windevel.vb 33

et enfin je ne sais pas comment dire a quel smtp envoyer le mail et comment meme l'envoyer, bref il me faudrai un exemple bien concret svp et comprehensible

Merci d'avance de votre aide

10 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut

Friend
Shared
Function SendTeamMessage(
ByVal Pour
As
String,
ByVal Sujet
As
String)
As
Integer


Dim msg
As MailMessage


Dim smtp
As SmtpClient


try

smtp.Host =
"smtp.wanadoo.fr"


msg.From =
New MailAddress(ContactForm.MsgFrom.Text)


msg.To.Add(
New MailAddress(Pour))


msg.Subject = Sujet


msg.Body = ContactForm.MsgToSend.Text


smtp.Send(msg)

catch ex as exception

messagebox.show(ex.message)
end try

End Function

Apres tu as la forme

try

'connexion base de données

'enregistrement base de données

commit en base 'validation

catch ex as exeption

rollback devalidation en base de données

finally

'fermeture connexion

end try

Dans cet exemple si le sql echoue alors l'operation est annulée

et dans tous les cas la connexion à la base est fermée.

espérant avoir éclairci ton probleme
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut,

je pense qu'il te manque le new.

apres une recherche sur google voici un exemple

Shared Sub Main(ByVal args As String())

Dim msg As MailMessage = New MailMessage

msg.From = "expediteur@free.f"
msg.To = "atoi@free.fr;alui@free.fr"
msg.Cc = "encoreatoi@free.fr"
msg.Body = "Bonjour" & Convert.ToChar(10) & "" + "Ceci est le contenu du mail" & Convert.ToChar(10) & "" + "A bientôt"
msg.Attachments.Add(New MailAttachment("c:\fichierjoint.txt", MailEncoding.UUEncode))
SmtpMail.SmtpServer = "smtp.nerim.fr"
SmtpMail.Send(msg)

End Sub
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013

justement j'ai vu ce genre de truc partout et en faisant un truc similaire a ton exemple en .Net 2.0 ca fais les erreurs de compilations que j'ai cité, cependant j'ai finalement trouvé le bon truc qui ne me donne aucune erreur, MAIS ce coup ci, plus d'erreur dans le compilateur mais dans le prog en lui meme sur la ligne smtp.Host:

Code;



Friend
Shared
Function SendTeamMessage(
ByVal Pour
As
String,
ByVal Sujet
As
String)
As
Integer



Dim msg
As MailMessage



Dim smtp
As SmtpClient


smtp.Host =
"smtp.wanadoo.fr"


msg.From =
New MailAddress(ContactForm.MsgFrom.Text)


msg.To.Add(
New MailAddress(Pour))


msg.Subject = Sujet


msg.Body = ContactForm.MsgToSend.Text


smtp.Send(msg)



End
Function

Erreur du programme:

Consultez la fin de ce message pour plus de détails sur l'appel du débogage
juste-à-temps (JIT) à la place de cette boîte de dialogue.


************** Texte de l'exception **************
System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
à ControlClipBoard.Windevel.SendTeamMessage(String Pour, String Sujet) dans C:\Documents and Settings\Shadow\Mes documents\Visual Studio 2005\Projects\ControlClipBoard\ControlClipBoard\Code\Windevel.vb:ligne 35
à ControlClipBoard.ContactForm.SendMail_Click(Object sender, EventArgs e) dans C:\Documents and Settings\Shadow\Mes documents\Visual Studio 2005\Projects\ControlClipBoard\ControlClipBoard\Winforms\ContactForm.vb:ligne 15
à System.Windows.Forms.Control.OnClick(EventArgs e)
à System.Windows.Forms.Button.OnClick(EventArgs e)
à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ButtonBase.WndProc(Message& m)
à System.Windows.Forms.Button.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)



************** Assemblys chargés **************
mscorlib
Version de l'assembly : 2.0.0.0
Version Win32 : 2.0.50727.42 (RTM.050727-4200)
CodeBase : [file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll]
----------------------------------------
ControlClipBoard
Version de l'assembly : 1.1.0.5
Version Win32 : 1.1.0.5
CodeBase : [file:///C:/Documents%20and%20Settings/Shadow/Mes%20documents/Visual%20Studio%202005/Projects/ControlClipBoard/ControlClipBoard/bin/Release/ControlClipBoard.exe file:///C:/Documents%20and%20Settings/Shadow/Mes%20documents/Visual%20Studio%202005/Projects/ControlClipBoard/ControlClipBoard/bin/Release/ControlClipBoard.exe]
----------------------------------------
Microsoft.VisualBasic
Version de l'assembly : 8.0.0.0
Version Win32 : 8.0.50727.42 (RTM.050727-4200)
CodeBase : [file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll]
----------------------------------------
System
Version de l'assembly : 2.0.0.0
Version Win32 : 2.0.50727.42 (RTM.050727-4200)
CodeBase : [file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll]
----------------------------------------
System.Windows.Forms
Version de l'assembly : 2.0.0.0
Version Win32 : 2.0.50727.42 (RTM.050727-4200)
CodeBase : [file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll]
----------------------------------------
System.Drawing
Version de l'assembly : 2.0.0.0
Version Win32 : 2.0.50727.42 (RTM.050727-4200)
CodeBase : [file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll]
----------------------------------------
System.Configuration
Version de l'assembly : 2.0.0.0
Version Win32 : 2.0.50727.42 (RTM.050727-4200)
CodeBase : [file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll]
----------------------------------------
System.Xml
Version de l'assembly : 2.0.0.0
Version Win32 : 2.0.50727.42 (RTM.050727-4200)
CodeBase : [file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll]
----------------------------------------
System.Runtime.Remoting
Version de l'assembly : 2.0.0.0
Version Win32 : 2.0.50727.42 (RTM.050727-4200)
CodeBase : [file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll]
----------------------------------------
mscorlib.resources
Version de l'assembly : 2.0.0.0
Version Win32 : 2.0.50727.42 (RTM.050727-4200)
CodeBase : [file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll]
----------------------------------------
System.Windows.Forms.resources
Version de l'assembly : 2.0.0.0
Version Win32 : 2.0.50727.42 (RTM.050727-4200)
CodeBase : [file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll]
----------------------------------------


************** Débogage JIT **************
Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
application ou cet ordinateur (machine.config) doit avoir la valeur
jitDebugging définie dans la section system.windows.forms.
L'application doit également être compilée avec le débogage
activé.


Par exemple :


<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>


Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
seront envoyées au débogueur JIT inscrit sur l'ordinateur
plutôt que d'être gérées par cette boîte de dialogue.
Messages postés
553
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
2 octobre 2016
1
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013

merci beaucoup, mais une derniere chose, comment savoir si l'email a bien été envoyé ou non

merci d'avance
Messages postés
553
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
2 octobre 2016
1
Dans le cas ou il n'est pas envoyer tu auras un message d'erreur
il te faudra le géré avec Try .....

http://www.troxsa.info/
Code Vb.net
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut

L'exemple
http://lgmorand.developpez.com/dotnet/mail/

t'aideras peut être
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013

Bon j'arrive déja a quelque chose de bon, merci beaucoup de votre aide, une derniere chose si possible:
je programmais avant en C, et disons que faire un If ou un switch ou encore meme un while je sais faire, mais un Try je vois pas du tout comment y gerer,
quelqu'un pourrait t'il me faire l'exemple si par exemple il sait que:

System.Net.Mail.SmtpException est l'erreur renvoyé si le smtp ne marche pas, et qu'il n'y a rien de renvoyé si tout est ok,

je pense que ca doit commencer par:

Try smtp.send(msg) mais après :D j'en sais rien du tout

merci de votre aide.
Messages postés
553
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
2 octobre 2016
1
Bonne reponse [auteurdetail.aspx?ID=84425 nhervagault]
:) Sinon [auteurdetail.aspx?ID=382579 shadow1779]
tu peux regarder sur different
code sur le net ou meme sur le site de vb france en fesant une recherche a partir du
moteur tu trouveras tres facilement :p

http://www.troxsa.info/
Code Vb.net
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013

ok merci de votre aide a tous