Sunday - July 20, 2008

Home | Site Map | Channels | Profile | Press Room | Services | Contact 

currently 7 user(s) online

search 

   Latest News

»

sony-ak.com Luncurkan Kamus Teknologi Informasi (May 27, 2006)

»

sony-ak.com Luncurkan IT Event Calendar (May 20, 2006)

»

Web Chat Berbasis AJAX dari sony-ak.com (May 09, 2006)

»

sony-ak.com Advertising Program (May 01, 2006)

»

Sony AK di Tabloid PCplus (April 18, 2006)

news archives » 


   Random Article

»

Query untuk Database Delphi 7 (5497)

»

Menggunakan Alias pada MySQL (1869)

»

Tips Visual Basic: Membuat Kontrol TextBox Anda Menjadi Flat Dengan Windows API (3855)

»

Mengenal BIOS (6534)

»

Mencari Contoh Layout yang Bagus bagi Situs Anda Melalui Situs Client Perusahaan Web Design (4495)

   Newsletter

Join our newsletter, you will get alert about content updates

powered by Yahoo! Groups















Nedstat Basic - Free web site statistics

 
 
Mengirim E-Mail Melalui Server SMTP dengan C#

Author: Agus Kurniawan
Published: August 25, 2004
Visits: 3870 - Category: C#
 
     
 

Pendahuluan
Kata E-mail bukan merupakan kata baru dalam kamus dunia informasi. Setiap orang pengguna internet kebanyakan pernah mengirim email bahkan mempunyai account mail lebih dari satu, tetapi sebagian kecil orang belum mengetahui bagaimana proses pengirim email itu sendiri apalagi membuat program untuk mengirim mail.

Untuk dapat mengirim email maka kita memerlukan suatu server mail tertentu untuk mengirimnya. Server mail ini bekerja dengan protokol tertentu yang dikenal dengan protokol SMTP (Simple Mail Transprot Protocol) dan umumnya protokol ini menggunakan port 25 untuk akses data.

RFC 821
Bagaimana caranya kita berkomunikasi dengan server SMTP? Apakah setiap server SMTP mempunyai cara berbeda-beda dalam melakukan komunikasi ? Terus, bagaimana email yang kita kirim dapat sampai ke tempat tujuan? Mungkin banyak lagi pertanyaan Anda mengenai ini. Oleh sebab itu diperlukan suatu kesepakatan bersama dalam bagaimana cara melakukan koneksi dan berkomunikasi dengan server SMTP. Standar yang dipakai dalam hal yang berhubungan dengan Simple Mail Transfer Protocol (SMTP) adalah RFC 821 , RFC itu singkatan dari Request for Comments.


Gambar 1. Model SMTP

Dalam RFC 821 dibahas bagaimana kita berhubungan dengan server SMTP dan mengirim email melalui server tersebut. Pada gambar 1 merupakan model pemakaian SMTP. Model ini mengikuti model komunikasi pada umumnya yang mana antara pengirim dan menerima mail membuat koneksi satu sama lainnya.

Sintaks SMTP Berdasarkan RFC 821
Ada banyak sintak dalam SMTP tetapi ada sintak yang minimal ada dalam proses berkomunikasi dan mengirim mail:

Prosedur Pengiriman Email
Beikut ini proses transaksi pengiriman email antara pengirim dan penerima. Keterangan S = Pengirim dan R = penerima , diasumsikan kita telah terhubung dengan server SMTP:

Bila penerima email lebih dari satu maka kita cukup melakukan looping pada sintak RCPT saja.

Implementasi Dalam Program Aplikasi Dengan C#
Bahasa C# merupakan bagian dari Framework .NET dan bahasa C# itu sendiri adalah bahasa pemrograman baru yang diperkenalkan oleh Microsoft. Penulis akan memperkenalkan bagaimana mengirim mail lewat SMTP dengan bahasa C# dengan mudah. Dalam aplikasi kali ini kita tidak menggunakan sintak low level (Win32 programming) ataupun pemrograman socket melainkan menggunakan kelas SmtpMail yang meng-encapsulate dari fungsi-fungsi dalam socket dan kelas MailMessage serta kelas MailAttachment merupakan kelas utilities untuk format message dan file yang di attachment.

Langkah-langkah ini untuk membuat aplikasi pengiriman email dengan C# antara lain:

1. Membuat project baru C# dengan pilihan Windows Application dan beri nama project yaitu SMTPmail.

 
Gambar 2. Tampilan program

2. Rancang GUI dari project ini seperti pada gambar 2 dan jangan lupa menambahkan windows forms: OpenFileDialog dalam project.

3. Menambahkan Reference pada project dengan cara klik menu Project->Add Reference (seperti pada gambar 3). Kemudian pilih System.Web.dll yang diperlihatkan pada gambar 4 dan tekan tombol Select. Jika selesai tekan tombol OK.


Gambar 3. Menambah Reference dalam project


Gambar 4. Pilih Reference System.Web.dll

4. Setelah selesai maka kita melakukan proses coding. Klik dua kali tombol Send maka akan mengarah ke source code editing, berikut ini source code-nya:

try
{
  // prepare mail data
  MailMessage msg = new MailMessage();
  msg.From = m_sFrom.Text;
  msg.To = m_sTo.Text;
  msg.Cc = m_sCc.Text;
  msg.Bcc = m_sBcc.Text;
  msg.Subject = m_sSubject.Text;
  msg.Body = m_sMessage.Text;

  if(m_sAttachment.Text != "")
  msg.Attachments.Add(new MailAttachment(m_sAttachment.Text));

  // check if HTML mail format or not ?
  if(m_bHtml.Checked)
  {
    msg.BodyFormat = MailFormat.Html;
  } 
  else
  {
    msg.BodyFormat = MailFormat.Text;
  }
  // sending mail
  SmtpMail.SmtpServer = m_sSMTP.Text;
  SmtpMail.Send(msg); 

  MessageBox.Show("Mail has sent succesfully", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); 
}
catch(HttpException err)
{
  MessageBox.Show(err.Message,
  err.Source,
  MessageBoxButtons.OK,
  MessageBoxIcon.Error);
  return;
}

5. Agar dapat menggunakan kelas SmtpMail dan MailMessage maka harus ditambahka namespace pada bagian atas dari souce code (file SMTPmail.cs)

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Web; // add this line code
using System.Web.Mail; // add this line code

6. Sedangkan souce code pada saat tombol attachment (tombol ...) diklik:

if(openFileDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK)
{
  m_sAttachment.Text = openFileDialog1.FileName;
}

7. Sekarang kita melakukan proses debug dan run program. Isi semua data dalam EditBox yang mana Cc dan Bcc itu optional artinya boleh diisi atau tidak.

Jika ada yang masih ada dipertanyakan mengenai C# ini, anda dapat bergabung dalam mailing list C# Indonesia. Di mailing list ini, Anda dapat bertukar pikiran mengenai C# maupun .NET. Untuk bergabung cukup mengirim email kosong ke csharp_indo-subscribe@yahoogroups.com dengan subject subscribe atau kunjungi situs http://groups.yahoo.com/group/csharp_indo.

Source code lengkap bisa di download di smtpcsharp1.zip.

Reference
- MSDN .NET Framework
- RFC

Demikianlah tulisan singkat mengenai pengiriman e-mail dengan memanfaatkan protokol SMTP dan C#. Semoga bisa bermanfaat bagi semua pihak. Jika ada saran atau komentar bisa dikirimkan ke agusasia@yahoo.com. Untuk membaca tulisan menarik lainnya silakan saja langsung menuju ke www.sony-ak.com.

Terimakasih.




 Recommended articles
 

»

Mengamankan Mesin Linux Anda - Bagian II (3148)

»

Kunci Utama Sukses pada Bisnis Dunia Maya (3362)

»

Peranan dari Software Architect dan Domain Kompetensi yang Harus Dimilikinya (2801)

»

Mengenal Virus Komputer - Part I: Overview (13624)

»

Mengenal Portal Horizontal dan Portal Vertical (2567)

 Send your comments or suggestions
Full Name :
E-mail :
Comments :
 
 

  Privacy | Site Map | Advertise

  Copyright © 2003 - 2006 Sony AK Knowledge Center - all rights reserved

  info@sony-ak.com