Home > VB.Net > How to: slanje E-Mail poruke pomocu VB.Net

How to: slanje E-Mail poruke pomocu VB.Net

Prosinac 19th, 2008

eMail poruku poslati pomocu VB.NET-a

U ovom kratkom clanku objasnit cu vam kako pomocu .NET-a i System.Net.Mail poslati email poruku iz neke aplikacije. Vrlo jednostavan i kratak clanak. Ovo je jednostavan primjer koji mozete koristiti u Vasim projektima.

Da bi ste bili u mogucnosti slati eMail morate na racunalu imati instaliran
IIS (dodatne Windows komponente koje se ne instaliraju standardno.

Ukoliko imate to instalirano dodajte novi projekat unutar Visual Studija ili dodajte
novi modul te dodajte referencu za sljedeci namespace:

Imports System.Net.Mail

Ovo se mora nalaziti na pocetku vaseg kôda.

Mail mozete sada splati pomocu ovog kôda:

Public Sub SendEmail(ByVal mailTo As String,  ByVal mailFrom As String, FileNameLoc As String)
        Dim host As String = System.Net.Dns.GetHostName()
        Dim smtpClient As New SmtpClient(host)
        Dim mailContent As String
        Dim i As Integer = 0

        'content der eMail zusammenbauen:
        mailContent = "Ovdje ide tekst vase email poruke" & vbCrLf
        smtpClient.UseDefaultCredentials = True

        Dim mailMessage As New MailMessage()
        mailMessage.From = New MailAddress(My.Application.Info.AssemblyName & "@" & System.Net.Dns.GetHostName() & ".nekidomain.com")
		mailMessage.To.Add(mailTo)

        mailMessage.Subject = "Ovdje ide tema poruke"
        mailMessage.Body = mailContent
        mailMessage.Priority = MailPriority.Normal
		'mozete dodati i attach:
        If File.Exists(FileNameLoc) Then
            Dim attachFile = New Attachment(FileNameLoc)
            mailMessage.Attachments.Add(attachFile)
        End If

        smtpClient.Send(mailMessage)
        mailMessage.Dispose()

        mailMessage = Nothing
    End Sub

Ovo naravno mozete modificirati. Evo kako ja koristim ovo. Posto mailove iz aplikacije saljem
kao obavijesti korisnik, dakle jedna vrsta interakcije vazno mi je da eMail poruke kao
From adresu ima jedan vazeci unos. Stoga koristim ovo:

mailMessage.From = New MailAddress(My.Application.Info.AssemblyName & “@” & System.Net.Dns.GetHostName() & “.nekidomain.com”)
Dakle adresa bi bila imeaplikacije@imeservera.nekidomain.com.

Ostatak je prilicno jasan. Mogucnost dodavanja attachmenta, prioritet mozete postaviti i konacno poslati mail.
Vazna napomena je da ukoliko je SMTP server zaustavljen (unutar IIS-a) kod ce izbaciti exception.

Eto toliko za ovaj put.

Popularity: 6% [?]

VB.Net ,

  1. drago
    Travanj 16th, 2009 at 07:45 | #1

    POštovani gospodine!
    Ako vam je bila namjera naučiti one koji to već znaju to je u redu.
    Ali što je sa onima (u koje i sam spadam))i koji malo što razumiju ono što ste napisali.
    Teško je biti jednostavan ali ako postoji nekakav način koji će razumjeti i početnici ili stariji ljudi,to bi bilo dobro
    S poštovanjem!D.Marić

  2. Travanj 16th, 2009 at 08:39 | #2

    Postovani gospodije Maric,

    hvala na javljanju i komentaru. Istina radi se o članku napisanom za naprednije korisnike sa izvjesnim predzananjem.
    Ukoliko imate nekih pitanja jednostavno pitajte. Ukoliko imate konkretno potreba za nekim objasnjenjem javite nam se ovdje ili na forumu, rado ćemo napisati tečaj koji će vam to objasniti.

    srdačan pozdrav,
    Željko Kvesić

  3. Ivo
    Ožujak 5th, 2010 at 19:41 | #3

    Ivo :šta je to sad?

  1. No trackbacks yet.