none
toujour et encore envoie mail sous vb2008 RRS feed

  • Question

  • Bonjour,

    de repos aujoud'hui j'en profite pour tapoter le clavier.

    J'ai trouver le code suivant pour l'envoi de mail, mais plusieurs erreurs s'affichent.

    1 'Sub Main' est introuvable dans'(Aucune)'

    2 la propriété'To' est 'ReadOnly' ligne 23 . Message.To = args(0) souligné .

    3 Une valeur de type'String' ne peut pas être convertie en'System.Net.Mail.MailAddress' ligne 24  . " args(1) " souligné .

    4 Le nom 'SmtpMail' n'est pas déclaré ligne 29 & 30

    Ci-dessous le code

    Imports

     

    System

    Imports

     

    System.Net.Mail

    Namespace

     

    SendMail

     

    Public Class usage

     

    Public Sub DisplayUsage()

    Console.WriteLine(

    "Usage SendMail.exe <to> <from> <subject> <body>")

    Console.WriteLine(

    "<to> the addresses of the email recipients")

    Console.WriteLine(

    "<from> your email address")

    Console.WriteLine(

    "<subject> subject of your email")

    Console.WriteLine(

    "<body> the text of the email")

    Console.WriteLine(

    "Example:")

    Console.WriteLine(

    "SendMail.exe SomeOne@contoso.com;SomeOther@contoso.com Me@contoso.com Hi hello")

     

    End Sub

     

    End Class

     

    Public Class Start

     

    Public Shared Sub Main(ByVal args As String())

     

    Try

     

    Try

     

    Dim Message As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()

    Message.To = args(0)

    Message.From = args(1)

    Message.Subject = args(2)

    Message.Body = args(3)

     

    Try

    SmtpMail.SmtpServer =

    "your mail server name goes here"

    SmtpMail.Send(Message)

     

    Catch ehttp As System.Net.Mail.SmtpException

    Console.WriteLine(

    "0", ehttp.Message)

    Console.WriteLine(

    "Here is the full error message")

    Console.Write(

    "0", ehttp.ToString())

     

    End Try

     

    Catch e As IndexOutOfRangeException

     

    Dim use As usage = New usage()

    use.DisplayUsage()

     

    End Try

     

    Catch e As System.Exception

    Console.WriteLine(

    "Unknow Exception occured 0", e.Message)

    Console.WriteLine(

    "Here is the Full Error Message")

    Console.WriteLine(

    "0", e.ToString())

     

    End Try

     

    End Sub

     

    End Class

    Si vous pouvez aider un pauvre débutant en détresse MERCI d'avance

    mardi 1 juin 2010 08:32

Réponses

  • Bonsoir,

    Ayant galéré pour trouver un morceaux de code efficace pour l'envoie d'un mail, je vous propose ce que j'ai trouvé il y a pas longtemps.

    Ce code envoie un mail, sans passer par un quelconque logiciel de messagerie :

     

     If Me.Validate Then
                Try
                    'constitution du message


                    Dim mm As New MailMessage("emetteur@", "destinataire@")
                    mm.Subject = "titre du sujet"
                    mm.Body = "[body]" _
                    & vbCr & "Nom : " & NomTextBox.Text _
                    & vbCr & "Prénom : " & PrenomTextBox.Text _
                 
                    '''envoie du message


                    Dim smtp As New SmtpClient
                    smtp.Host = "srv-mail2" 'nom du serveur SMTP
                    smtp.Send(mm)

                Catch ex As Exception

                End Try
            End If

     

     

    En espérant vous avoir aidé^^

    mardi 1 juin 2010 17:26
  • Bonjour,

     

    Beeb3r, merci pour cet exemple de code.

     

    Michel, pour les erreurs que vous rencontrez :

    1.   Votre application doit avoir une méthode Main, qui est le point de départ de l’exécution. Dans cette méthode vous instanciez vos classes et appelez leurs méthodes.

    2.   La propriété To est en lecture seule. Elle doit être initialisée quand vous instanciez votre objet MailMessage : http://msdn.microsoft.com/en-us/library/5k0ddab0.aspx

    3.   La propriété From est de type System.Net.Mail.MailAddress et la ligne de code correcte doit être :

    Message.From = New System.Net.Mail.MailAddress("a@a.com")

     

    4.   Utilisez:

    Dim smtp As New System.Net.Mail.SmtpClient(server)

            smtp.Send(x)

     

    Voici la documentation pour le constructeur de SmtpClient.

     

    Cordialement,

    Alex

    __________________________________________________________________________________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

     

    Astuces pour Visual Studio 2010

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Workflow Foundation

     

     

    jeudi 3 juin 2010 09:17

Toutes les réponses

  • Bonsoir,

    Ayant galéré pour trouver un morceaux de code efficace pour l'envoie d'un mail, je vous propose ce que j'ai trouvé il y a pas longtemps.

    Ce code envoie un mail, sans passer par un quelconque logiciel de messagerie :

     

     If Me.Validate Then
                Try
                    'constitution du message


                    Dim mm As New MailMessage("emetteur@", "destinataire@")
                    mm.Subject = "titre du sujet"
                    mm.Body = "[body]" _
                    & vbCr & "Nom : " & NomTextBox.Text _
                    & vbCr & "Prénom : " & PrenomTextBox.Text _
                 
                    '''envoie du message


                    Dim smtp As New SmtpClient
                    smtp.Host = "srv-mail2" 'nom du serveur SMTP
                    smtp.Send(mm)

                Catch ex As Exception

                End Try
            End If

     

     

    En espérant vous avoir aidé^^

    mardi 1 juin 2010 17:26
  • Bonjour,

     

    Beeb3r, merci pour cet exemple de code.

     

    Michel, pour les erreurs que vous rencontrez :

    1.   Votre application doit avoir une méthode Main, qui est le point de départ de l’exécution. Dans cette méthode vous instanciez vos classes et appelez leurs méthodes.

    2.   La propriété To est en lecture seule. Elle doit être initialisée quand vous instanciez votre objet MailMessage : http://msdn.microsoft.com/en-us/library/5k0ddab0.aspx

    3.   La propriété From est de type System.Net.Mail.MailAddress et la ligne de code correcte doit être :

    Message.From = New System.Net.Mail.MailAddress("a@a.com")

     

    4.   Utilisez:

    Dim smtp As New System.Net.Mail.SmtpClient(server)

            smtp.Send(x)

     

    Voici la documentation pour le constructeur de SmtpClient.

     

    Cordialement,

    Alex

    __________________________________________________________________________________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

     

    Astuces pour Visual Studio 2010

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Workflow Foundation

     

     

    jeudi 3 juin 2010 09:17
  • Bonjour Beeb3r

    je vien de reprendre mon clavier après une longue absence et j'en ai profité pour rentrer ton code qui parait simple;

    J'ai ajouté 

     smtp.Host = "smtp.live.com"

    smtp.Port ="25"

    mais mon problème est que dans la fenêtre d'éxécution j'obtien le message suivant

    Une exception de première chance de type 'System.Net.Mail.SmtpException' s'est produite dans System.dll

    Si tu pouvais, ou quelqu'un d'autre, m'éclairer plus emplement j'en serai ravi

    merci encore

     

     

    vendredi 25 juin 2010 13:06