Tuesday, April 7, 2015

Cara kirim email dari vb.net

Selamat datang di bahasaprogramvb.blogspot.com, kalai ini admin akan share cara kirim email dengan vb.net. Teori dasar dalam pengiriman email ini adalah dengan memanfaatkan SMTP(Simple Mail Transfer Protocol) yang ada dalam vb.net.
untuk dapat mengakses SMPT ini kita harus melakukan import namespace dari vb itu sendiri yaitu System.Net.Mail. Port SMPT ini secara default adalah 25 namun dalam server email port ini bisa bervariasi . Dalam kasus ini kita hanya bisa kirim email hanya ke format gmail, SMPT gmail server adalah smtp.gmail.com dan untuk mengirim email kita bisa mengakses port pengiriman 587 ,  disini untuk autentikasi berbasis password kita harus menggunakan  NetworkCredential. Untuk lebih jelasnya dapat dicari di oppung(bahasa batak) google.com

langsung saja ikuti langkah-langkah dibawah ini :
1. Buat project baru
2. Buat form seperti di gambar dibawah ini


3. Kita akan menuliskan kode di dalam form ini

Imports System.Net.Mail

Public Class Form1

    Private Sub BtnKirim_Click(ByVal sender As System.Object, ByVal e As              System.EventArgs) Handles BtnKirim.Click
        Try
            Dim SMTP_SERVER As New SmtpClient()
            Dim EMAIL As New MailMessage()

If txtKepada.Text = "" Or txtSubject.Text = "" Or txtIsiPesan.Text = "" Then
MessageBox.Show("Data belum lengkap", "", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Exit Sub
            Else
                If My.Computer.Network.IsAvailable = True Then
                    SMTP_SERVER.Credentials = New Net.NetworkCredential("email anda", "Password")

                    SMTP_SERVER.Port = 587
                    SMTP_SERVER.Host = "smtp.gmail.com"
                    EMAIL = New MailMessage()
                    EMAIL.From = New MailAddress("erwinpasaribu69@gmail.com")
                    SMTP_SERVER.UseDefaultCredentials = False

                    EMAIL.To.Add(txtKepada.Text)
                    EMAIL.Subject = txtSubject.Text
                    EMAIL.Body = txtIsiPesan.Text
                    SMTP_SERVER.Send(EMAIL)
                Else
MessageBox.Show("Koneksi bemasalah","",MessageBoxButtons.OK, MessageBoxIcon.Error)
                    Exit Sub
                End If
            End If
MessageBox.Show("Email anda berhasil dikirim", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub

    Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As            System.EventArgs) Handles BtnKeluar.Click
        Me.Close()
    End Sub
End Class


::Penjelasan Kode ::

Kode diatas pertama sekali menginport library "
Imports System.Net.Mail" yang fungsinya adalah agar kita bisa mengakses librari dalam pengiriman email seperti yang sudah kita pakai di atas "SmtpClient, MailMessage " dan masih banyak lagi.
setelh itu kita mendeklarasikan 2 variabel yaitu 
SMTP_SERVER yang bertipe SmtpClient dan variabel EMAIL yang bertipe MailMessage.

Selanjutnya kita melakukan pengecekan terhadapt textbox yang nilainya tidak boleh kosong "
If txtKepada.Text = "" Or txtSubject.Text = "" Or txtIsiPesan.Text = "" Then"
dan jika nilainya tidak kosong maka kita mengecek koneksi internet komputer kita yaitu If My.Computer.Network.IsAvailable = True Then
dan jika koneksi internet dalam keadaan terkoneksi maka kita mulai memasukkan email dan password kita "
SMTP_SERVER.Credentials = New Net.NetworkCredential ("email anda""Password email anda")"

kemudian membuat email tujuan dengan kode :
EMAIL.From = New MailAddress("alamat_email_tujuan")

Jika berhasil maka akan muncul pesan "Email anda berhasil dikirim"