Contoh yang saya buat ini menggunakan ASP.NET 4.0, Visual Studio 2010, dan VB 10. Anda harus menyesuaikan versi bahasa VB yang digunakan, karena disini saya menggunakan beberapa fitur baru di VB 10 seperti Collection Initializer dan Implicit Line Continuation. Fitur-fitur baru di VB 10 dapat dilihat di artikel berikut ini : First Look Of Some New Beta 1 VB 10 Language Features.
a. Buat sebuah asp.net web project template. Tambahkan ScriptManager, UpdatePanel, UpdateProgress, Button, Label dan sebuah file image yang akan digunakan sebagai progressbar kedalam web form :
b. Lakukan imports terhadap namespace berikut :
Imports System.Net.Mail
c. Ketikkan kode berikut untuk button diatas :
Protected Sub btnSendMailSync_Click() Handles btnSendMailSync.Click
Dim myMail = New MailMessage() With {
.From = New MailAddress("rully@yulianmf.com",
"Rully Yulian MF"),
.Subject = "Email from ASP.NET",
.Body = "Hello, sent at : " & Now.ToLongDateString
}
myMail.To.Add("rully@native-enterprise.net")
Dim mailClient = New SmtpClient With {
.Host = "smtp.gmail.com",
.Port = 587,
.DeliveryMethod = SmtpDeliveryMethod.Network,
.EnableSsl = True
}
Try
mailClient.Send(myMail)
lblInfoSync.Text = "Success"
Catch ex As Exception
lblInfoSync.Text = ex.Message
End Try
End Sub
Dari kode diatas dapat dilihat bahwa untuk membuat pesan yang akan dikirim dibuat dengan menggunakan class MailMessage. Kita definisikan alamat email pengirim, subject, body dan alamat email yang dituju terhadap class tersebut. Sedangkan untuk mengirim pesan tersebut dibutuhkan SmtpClient class yang mendefinisikan smtp server yang digunakan, port number, dan fitur Ssl untuk security. Informasi port, smtp server harus disesuaikan dengan email yang anda gunakan, dan dapat dicari di internet. Pengiriman email secara synchronous dilakukan dengan memanggil prosedur Send dari SmtpClient object.
d. Buka file web.config dan tambahkan elemen berikut di antara elemen <configuration> :
<system.net>
<mailSettings>
<smtp>
<network defaultCredentials="false"
userName="rully@yulianmf.com"
password="rahasia_dong" />
</smtp>
</mailSettings>
</system.net>
Setting di web.config tersebut digunakan untuk menyimpan data user name dan password email yang digunakan sebagai mail sender.
e. Jalankan web site nya, klik button synchronous mail :


f. Cek email anda :

2. Pengiriman Email Secara Synchronous (web.config setting)
a. Buka file web.config diatas, lakukan modifikasi seperti berikut ini :
<system.net>
<mailSettings>
<smtp deliveryMethod="Network"
from="Rully Yulian MF < rully@yulianmf.com >">
<network defaultCredentials="false"
host="smtp.gmail.com"
port="587"
enableSsl="true"
userName="rully@yulianmf.com"
password="rahasia_dong" />
</smtp>
</mailSettings>
</system.net>
b. Modifikasi code behind untuk button send mail synchronous menjadi seperti dibawah ini :
Protected Sub btnSendMailSync_Click() Handles btnSendMailSync.Click
Dim myMail = New MailMessage() With {
.Subject = "Email from ASP.NET",
.Body = "Hello, sent at : " & Now.ToLongDateString
}
myMail.To.Add("rully@native-enterprise.net")
Dim mailClient = New SmtpClient
Try
mailClient.Send(myMail)
lblInfoSync.Text = "Success"
Catch ex As Exception
lblInfoSync.Text = ex.Message
End Try
End Sub
c. Jalankan web site, kirim email dengan klik button send mail.
d. Cek email anda :

Dari kode diatas dapat kita lihat bahwa beberapa kode yang sebelumnya ditempatkan di code behind button send mail dipindahkan ke file web.config. Pada artikel berikutnya saya akan membuat contoh pengiriman email dengan teknik asynchronous. Selamat mencoba :)