Send e-mail fra en Windows-program

Hvis du vil sende mail fra vores Windows-program i Visual Basic. net System.Net.Mail.MailMessage bruge klassen.

For det følgende eksempel vil vi oprette en formular (Form1), en tekst felt til at skrive meddelelsen (TextBox1) og en knap (Button1) til at sende tekst for at sende e-mails.


 Dim As New System.Net.Mail.MailMessage mymail

 miCorreo.IsBodyHtml = False
 miCorreo.From = "info@solovb.net" 'e-mail, hvor du sender
 correo.To.Add ("usuario@hotmail.com") 'Postmodtager
 correo.Subject = "Test besked fra Windows-program [solovb.net]" 'Case

 miCorreo.Body = TextBox1.Text 'Brødtekst

 miCorreo.Priority = System.Net.Mail.MailPriority.Normal 'Prioritet

 Dim smtp som ny System.Net.Mail.SmtpClient

 smtp.Host = "smtp.solovb.net"
 "Jeg passerer de legitimationsoplysninger for konto og password, som du har sendt
 smtp.Credentials = Ny System.Net.NetworkCredential ("info@solovb.net" "clave123456"))

 Prøv
       smtp.Send (mymail)
       MsgBox ("Beskeden er sendt." MsgBoxStyle.OKOnly, "solovb.net")
 Fang ex Som undtagelse
       MsgBox ("FEJL:" "! Fejl" & ex.Message, MsgBoxStyle.OKOnly,)
 Afslut Prøv

Det faktum, at du kan føje meget funktionalitet til dette eksempel som tekstbokse til afsender, modtager og SMTP-indstillinger.

Men for et eksempel (som jeg), jo enklere jo bedre bliver du ... vil der være tid til at komplicere det, haha.

Hvis vi IsBodyHtml ejendom til True, vi fylder kroppen med HTML-koden, så vores budskab fik et bedre udseende.

Hvis du serveret, efterlade en kommentar.

50 Responses to "Send e-mail fra en Windows-program"

  1. Bitacoras.com siger:

    Information Bitacoras.com ...

    Hvis du ønsker, kan du klikke for at vurdere dette indlæg Bitacoras.com. Tak ....

  2. Jose siger:

    Godt.

    Et spørgsmål, i den følgende linje:

    miCorreo.From = "josem.flores @ sfb.es" 'e-mail, hvor du sender

    Betyder det, at en værdi af typen "streng" ikke kan omdannes til "System.Net.Mail.MailAdress '

    Lad os se om jeg kan hjælpe tak. Da jeg har skiftet, men jeg kan ikke løse denne fejl.

    En hilsen og tak

    • Elisa siger:

      kan du bruge følgende linje for at undgå fejl

      New System.Net.Mail.MailAddress miCorreo.From = ("josem.flores @ sfb.es")

      Elisa

  3. Jose siger:

    Mange tak.

    Men jeg har et problem, jeg indsætte min kode, og fortælle dig problemet:

    Dim som ny System.Net.Mail.MailMessage _Message ()

    Dim As New System.Net.Mail.SmtpClient _SMTP

    'STMP INDSTILLINGER

    = Nye System.Net.NetworkCredential _SMTP.Credentials ("mail-konto", "password")

    _SMTP.Host = "Smtp.gmail.com"

    _SMTP.Port = 465

    _SMTP.EnableSsl = True

    'Konfigurationsbesked

    _Message. [Til]. Add ("mail-konto") 'mail-konto, som du ønsker at sende e-mail

    _Message.From = Ny System.Net.Mail.MailAddress ("mail-konto", "navn", System.Text.Encoding.UTF8) 'Afsenderen

    _Message.Subject = "Test" 'Emne for e-mail

    _Message.SubjectEncoding = System.Text.Encoding.UTF8 'Kodning

    _Message.Body = "Dette er en test" "indholdet af e-mail

    _Message.BodyEncoding = System.Text.Encoding.UTF8

    '_Message.Priority = System.Net.Mail.MailPriority.Normal

    _Message.IsBodyHtml = False

    "Vedhæfte filer

    'Dim _file As String = My.Application.Info.DirectoryPath & "file"' fil, du vil vedhæfte

    'Dim som ny System.Net.Mail.Attachment _Attachment (_file, System.Net.Mime.MediaTypeNames.Application.Octet)

    "_Message.Attachments.Add (_Attachment)

    'SHIPPING

    Prøv

    _SMTP.Send (_Message)

    Fang ex Da System.Net.Mail.SmtpException

    "MessageBox.Show (ex.ToString)

    Afslut Prøv

    Denne kode er ok.

    Nu, når jeg sender e-mail får jeg følgende fejl:

    Det overskred ventetiden på ansøgningen.

    Realiseringen af ​​et telnet smtp.gmail.com 465 tilslutte perfekt, men det sender ikke e ...

    Jeg ville sætte pris på hvis du kan klare dig til at give mig en løsning, fordi jeg ikke kan få det ...

    En hilsen og tak på forhånd.

  4. Elisa siger:

    Koden er god, faktisk bruger jeg det i apliaciones og kører. Tilsyneladende er problemer med nogle gmail indstillinger, der mangler. Med gmail Jeg får en fejl. Hvis jeg gør det arbejder med Gmail, vil jeg poste løsningen.

  5. foogeobre siger:

    Tak!

  6. Jose siger:

    Ok Elisa.

    Jeg ændre port som 587 ikke ville lade mig komme igennem telnet, men stadig ikke fungerer ...

    Jeg vil holde udkig, og hvis jeg fortæller ham noget. Og jeg håber, at din løsning, hvis det stadig ikke. : D

    Mange tak og venlig hilsen.

  7. Jose siger:

    Ved den måde.

    Kan du fortælle mig noget SMTP-server, der fungerer korrekt med your're kører for eksempel nødt til at gennemføre den så hurtigt som muligt, og jeg kan ikke finde nogen server, der fungerer ...

    Se om du kan fortælle mig, med hvem du gør det, og jeg prøve det og se om så hvis jeg arbejder. ;)

    Mange tak igen.

    En hilsen.

  8. Jose siger:

    Godt.

    Nu er alt afgjort, at det var problemet med Antivirusprogrammer, der går orm gennemføre en masseforsendelse ... skal indtastes i undtagelser processen og fungerer korrekt.

    Mange tak.

    En hilsen.

  9. kyha siger:

    Godmorgen.

    Jeg har en kode meget, meget lig suyo.El Problemet er, at jeg ikke sende e-mail, indtil du lukker programmet, eller en anden postomdeling entionces sidstnævnte er ikke sendt. Vil du vide, hvorfor eller hvordan jeg kan ordne det?
    Tak

  10. Carlos siger:

    Dette er en meget god funktion! tak for at dele dette med os : D

  11. Marino siger:

    Tak for at dele denne kode ... Det blev driver mig til vanvid, og intet, jeg gik ud med posten. Takket være jeres løst fejlen. Hold det op ... :)

  12. Pharsat siger:

    hej'er, for dem, der ikke kan finde en SMTP-server, der fungerer jeg giver en konfiguration, der bruges sammen med Windows Live Hotmail, er 100% sikker på jeg forlader min kode til at observere.

    Vær venlig ikke at ændre sin programkode relateret til konfiguration af serveren for at undgå fejl.

    Dim As New System.Net.Mail.MailMessage mymail

    miCorreo.IsBodyHtml = False
    miCorreo.From = Ny System.Net.Mail.MailAddress ("ejemplo@hotmail.com") 'send mail fra, hvor
    miCorreo.To.Add ("ejemplo@hotmail.com") 'Postmodtager
    miCorreo.Subject = "eksempel" 'sag
    miCorreo.Body = "Du kan sætte en tekststreng eller html-kode, hvis expesificas den vil indeholde beskeden"
    miCorreo.Priority = System.Net.Mail.MailPriority.Normal 'Prioritet
    'Ændrer ikke de følgende linjer qye og svarer til SMTP-serveren coniguracion af Microsoft (Windows Live)
    Dim smtp som ny System.Net.Mail.SmtpClient

    smtp.Host = "smtp.live.com"
    smtp.Port = "25"
    smtp.EnableSsl = True

    "Jeg passerer de legitimationsoplysninger for konto og password, som du har sendt
    = Nye System.Net.NetworkCredential smtp.Credentials ("ejemplo@hotmail.com", "password")

    Prøv
    smtp.Send (mymail)
    MsgBox ("Beskeden er sendt." MsgBoxStyle.OKOnly)
    Fang ex Som undtagelse
    MsgBox ("FEJL:")
    Afslut Prøv

    og sidste agredezco til opretteren af ​​elementet tjent mig også. tak

  13. oscar siger:

    PARTNERE tak er et par chefer sandhed, som tjente mig meget information.

  14. Gonzalo siger:

    Hej, du enten andubo? , Var i stand til at sende en e-mail?
    Jeg får min fejl når du forsøger at sende en e-mail (
    legitimationsoplysninger ok?
    eller hvor jeg kan få en anden?

    Greetings.

  15. Alejandro siger:

    Godt for alle, har dette indlæg hjulpet mig meget, men jeg har et lille problem når jeg vedhæfte en fil, får jeg følgende fejl: NotSupportedException blev ikke håndteres
    Understøttet format, i stien.

    Code:
    Dim fil As String = My.Application.Info.DirectoryPath & "c: \ arcchivo.rar"

    __________________inicio bug, hvor brand
    Dim vedhæftet fil som ny System.Net.Mail.Attachment (fil, System.Net.Mime.MediaTypeNames.Application.Pdf)
    msg.Attachments.Add (vedhæftet)
    __________________fin bug, hvor brand

    hvis nogen kan fortælle mig, at jeg gør forkert Jeg takker på forhånd.

    Hold pc'er er så hjælpsomme.

  16. Gianpiere Bernuy Ramos siger:

    ta Hola q tal chebre din post, men for q virker for dig, kan ændre
    _SMTP.Port = 465
    af
    _SMTP.Port = 587
    mig, at jeg løber.
    q lykke Gud velsigne

  17. jose siger:

    Jeg testede denne kode, og det virkede perfekt, jeg har foretaget ændringer på den SMTP-server recomendades Pharsat og noter af Elisa til miCorreo.From = Ny System.Net.Mail.MailAddress ("josem.flores @ sfb.es") og var fantastisk, mange tak.

  18. Charly siger:

    Tak for koden

  19. dosmilcero siger:

    Hey.

    Jeg har udviklet et program til at sende via SMTP adgang til en Exchange Server, der kræver godkendelse med SSL. Programmet fungerer perfekt fra enhver computer uden for netværket, hvor Exchange Server, men hvis jeg installere det på en pc-netværk Exchange Server virker ikke. Altid give serveren ikke fundet fejl.

    Brug PING til serveren fra LAN til DNS, IP offentlige, private, Telnet, osv. .. forudsat at der ikke svar. På Exchange-server loggen siger noget, er det klart, at ingen kender. Antivirus og firewall frakoblet nogen ideer?

  20. Fredy siger:

    q das hi Parsat mefunciona kode marabillas, men jeg har et problem er, at jeg har en form, hvor q APODER vil sætte en mail for at sende det budskab, som jeg kan i manuskriptet espesificar q se de formularfelter at vide q vil sende e-aq meddelelsen, sagen
    agradeseria du meget, hvis mepudes ayuadar

  21. Arturo siger:

    Med Windows 7 Professional virker ikke, hvorfor?

  22. Builes Julian siger:

    Fremragende koden bror

    mange tak

  23. Cristian siger:

    Hej alle og prøv den oprindelige kode, ændring af parshat med det andet selskab og deaktivere antivirus og firewall, og stadig ikke sende mig koden til at kopiere og indsætte med felter åbenlyse nogen kan give mig en anden løsning ?

  24. Cristian siger:

    Jeg igen, hvis nogen ikke prøve den port 587 i hotmail

  25. John siger:

    Var meget god tak det hjalp mig en stor

  26. Jesus siger:

    Hey. Dette er mine første skridt i vb.net (så langt ind med VB6). Koden til e-mail server mig godt, er meget godt eksempel. Nu vil jeg til at komplicere de bekræftelser, vedhæftede filer mv. Jeg ville gerne stille et lille ting Kunne du sende mig et eksempel for at hente e-mail? Mange tak for alt.

  27. Lester siger:

    AMI en forespørgsel og sende mig e-mails problemet er jeg har brug for envviar et billede i e-mailen kroppen ikke som vedhæftet fil (type reklame), men lod mig ikke sende .. Jeg har i en RichTextBox billedet, men sender ikke noget ... hvis nogen kan hjælpe mig ville jeg sætte stor pris

    min email er lesterelpepecalderon@hotmail.com

  28. Eigthy siger:

    Jeg sætter lidt mere end at tilføje skønhed til formularens tekstfelt og en knap og en RichTextBox således at flere paresca en webformular. Til dette vil vi skabe:

    Textbox1 (Case)
    Textbox2 (receiver)
    Textbox3 (din e-mail)
    Textbox4 (passwor - password)
    RichTextBox1 (meddelelse)
    Button1 (send-knappen)

    er konfigureret til Hotmail, lad koden nedenfor:

    Button1 klik:

    Dim As New System.Net.Mail.MailMessage mymail

    miCorreo.IsBodyHtml = False
    miCorreo.From = Ny System.Net.Mail.MailAddress (TextBox2.Text) 'sender e-mail-adresse, hvor
    miCorreo.To.Add (TextBox3.Text) 'Postmodtager
    miCorreo.Subject = TextBox1.Text 'emne
    miCorreo.Body = RichTextBox1.Text
    miCorreo.Priority = System.Net.Mail.MailPriority.Normal 'Prioritet

    'Ændrer ikke de følgende linjer, som de vedrører til SMTP-serveren coniguracion af Microsoft (Windows Live)
    Dim smtp som ny System.Net.Mail.SmtpClient

    smtp.Host = "smtp.live.com"
    smtp.Port = 25
    smtp.EnableSsl = True

    "Jeg passerer de legitimationsoplysninger for konto og password, som du har sendt
    = Nye System.Net.NetworkCredential smtp.Credentials (TextBox3.Text, TextBox4.Text)

    Prøv
    smtp.Send (mymail)
    MsgBox ("Beskeden er sendt." MsgBoxStyle.OKOnly)
    Fang ex Som undtagelse
    MsgBox ("FEJL:")
    Afslut Prøv

    da de ser følge den oprindelige kode, men koden gjorde Marine SMTP-indstillingerne til Hotmail jeg bare sige mere skønhed til den form, som vist på dette billede: http://i46.tinypic.com/34ir2c0.jpg

    Jeg håber og tjene dem hilsner og tak SoloVB

    Jeg siger farvel!

  29. sagilman siger:

    Hej Jeg får følgende fejl, og ikke fordi de sætter al den kode, som det er.
    fejlen er:
    Fejl sende besked.

    nogen der kan hjælpe mig venligst.

  30. Juan Miguel siger:

    tak for bidragene muchisisisimo tjent mig alvorligt :)

  31. Renan Cardona siger:

    Med mig virkede det vidunderligt

  32. Sonia siger:

    Hej, jeg sender et link automatisk giver en knap, hvor data skal jeg medbringe en udvalgt i Oracle database, det eneste er et must have for, emne: vrede i teksten og linket skal sendes, men ikke hvordan kunne hjælpe mig!

  33. Fernando siger:

    hey venner jeg ikke forveksle mig arbejdede mm

    så jeg har codigolo

    Public Class Form1

    Enviarcorreo Public Sub ()

    Dim As New System.Net.Mail.MailMessage mymail
    miCorreo.IsBodyHtml = False
    miCorreo.From = Ny System.Net.Mail.MailAddress ("luisfernandop.s @ hotmail.com") 'send mail fra, hvor
    miCorreo.To.Add ("luisfernandop.s @ hotmail.com") 'Postmodtager
    miCorreo.Subject = "test fer" 'Case
    miCorreo.Body = "none"
    miCorreo.Priority = System.Net.Mail.MailPriority.Normal 'Prioritet
    'Ændrer ikke de følgende linjer qye og svarer til SMTP-serveren coniguracion af Microsoft (Windows Live)
    Dim smtp som ny System.Net.Mail.SmtpClient

    smtp.Host = "smtp.live.com"
    smtp.Port = 25
    smtp.EnableSsl = True

    "Jeg passerer de legitimationsoplysninger for konto og password, som du har sendt
    = Nye System.Net.NetworkCredential smtp.Credentials ("luisfernandop.s @ hotmail.com", "/ n @ ndo/6724766887")

    Prøv
    smtp.Send (mymail)
    MsgBox ("Beskeden er sendt." MsgBoxStyle.OKOnly)
    Fang ex Som undtagelse
    MsgBox ("FEJL:")
    Afslut Prøv
    End Sub

    Private Sub Button1_Click (ByVal afsenderen som System.Object, ByVal e Som System.EventArgs) Håndtag Button1.Click
    enviarcorreo ()

    End Sub
    End Class

    hvis nogen kunne få mig til at se min fejl, jeg ville sætte stor pris

  34. Chocobar Cristian siger:

    Muyyyy gode værker af 10! ... Fremragende bidrag! Nu kan jeg holde hånden ... Tak så meget =)

  35. Edgar siger:

    Skud gennem Pharsat ..
    Dit bidrag hjulpet mig meget ...

    Tak til alle der bidrager med deres hjælp både koden q

  36. Edgar siger:

    Hej XFA f.eks nogen kunne sige, som jeg gør, når jeg ønsker at sende beskeder fra anden mail end hotmail ..

    fx Yahoo, Gmail, etc. ... eller mit firma server ...

  37. leboche siger:

    Discula en dudami dette er min kode:

    Dim As New System.Net.Mail.MailMessage mymail
    Dim mail As New System.Net.Mail.MailMessage
    micorreo.IsBodyHtml = False
    New System.Net.Mail.MailAddress micorreo.From = ("leboche@hotmail.com")
    correo.To.Add ("leboche@hotmail.com")
    correo.Subject = "besked prueva"

    micorreo.Body = TextBox1.Text

    micorreo.Priority = Net.Mail.MailPriority.Normal

    Dim smtp som ny System.Net.Mail.SmtpClient
    smtp.Host = "smtp.live.com"
    smtp.Port = 587
    smtp.EnableSsl = True
    = Nye System.Net.NetworkCredential smtp.Credentials ("info@solovb.net", "123456")

    Prøv
    smtp.Send (mymail)
    MsgBox ("Beskeden er sendt." MsgBoxStyle.OKOnly, "info@solovb.net")
    Fang ex Som undtagelse
    MsgBox ("Fejl:")

    Afslut Prøv

    men ved ikke, om denne kode i tekstfeltet eller fra eller på en knap kan du hjælpe mig?
    Jeg er en nybegynder i ESOT

    • Elisa siger:

      Jeg ville sætte denne kode i en send-knappen efter validering af, at alle indtastede data er nødvendige.

      Luck

  38. Melesio Salas siger:

    Alt gik godt!

    Tak for input

    En hilsen

  39. Gilmer 20 siger:

    interessant sobretod dit eksempel og let at forstå, men jeg har et spørgsmål, jeg vil have dig med posten kroppen er indholdet af en rapport
    som dificio er en del, jeg håber din hjælp

  40. CarlosH siger:

    Mange tak. En lille bidrag.
    Hvis du vil sende en kopi (CC) =
    correo.CC.Add ("Adresse")

  41. Javier udtaler:

    Hej, Jeg har dette problem:

    Jeg sagde "Nej navn er blevet erklæret amp"
    og
    "Tegn er ikke gyldig" ved "" siden amp.

    der kan hjælpe mig mange tak.

  42. Javier udtaler:

    Muuuuchas tak .. Jeg har fundet solucioen :)

  43. Javier udtaler:

    Du kan tilføje som at sende eller element eller at tilføje private arkiver?

  44. Jordi siger:

    Tak alle for koden!

    fabel virker!

  45. Marce siger:

    Hej,
    meget god side,
    quisisera enten gennem koden for at sende e-mail, kan sende en blind kopi Bcc til en firkant, hvor der er mange flere e-mails, er det muligt?

  46. jhoanna0627 siger:

    Hej:

    mange tak tjent mig vidunderligt, tak, jeg var endelig i stand til at sende mail, men jeg har en duditas med hensyn til, hvordan du lægger et link i kroppen, den måde du kan tilpasse med HTML-tags, og hvordan du sender en tak adjunto.muchas, den Jeg arbejdede perfekt kode.

Kommentar