04 พฤศจิกายน 2551

How to configure free SMTP (GMail) for .NET application.

สำหรับคนที่จะพัฒนา .NET Application ที่จะต้องมีการส่งอีเมล์ด้วย ถ้าไม่มี SMTP ตาม Host ต่างๆ สามารถที่จะใช้บริการ Free SMTP ของ GMail ได้ โดยทำตามขั้นตอนต่างๆ ดังนี้

1. ก่อนอื่นต้องมี account ของ GMail ก่อน ถ้ายังไม่มีสมัครได้ที่
http://www.google.co.th/
2. จากนั้นต้องรู้ข้อมูลสำหรับการ connect ไปยัง GMail SMTP Server

  • Host: smtp.gmail.com
  • Port: 587

3. ตัวอย่าง code (C#.NET)
อย่าลืมเพิ่ม using System.Net.Mail;

SmtpClient client = new SmtpClient();
MailMessage mail = new MailMessage();

client.Host = [host]; -> SMTP Host ในขั้นตอนที่ 2
client.Port = [port]; -> SMTP Port ในขั้นตอนที่ 2
client.Credentials = new System.Net.NetworkCredential([GMail User Name],[password]); -> อันที่ไปสมัครมาในขั้นตอนแรก
client.EnableSsl = true;

MailAddress fromAddress = new MailAddress([Sender Email],[Text to be displayed]);
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.From = fromAddress;
mail.Subject = [subject];
mail.Body = [body];
mail.Priority = MailPriority.High;
mail.IsBodyHtml = false; -> ถ้าอยากให้ content เป็น HTML ก็ set เป็น true
try
{
client.Send(mail);
}
catch (Exception ex)
{
//Error Handler
}

4. สำหรับคนที่จะใช้ Password Recovery Control และ Change Password Control แล้วต้องการการส่งอีเมล์จาก control เหล่านี้จะไม่สามารถใช้ GMail ได้เลยทันทีเพราะ GMail ต้องการ Secure Connection จะต้องมีการ Configure Relay SMTP ใน IIS ก่อนแล้วเวลาส่งยิงเข้า local IIS จากนั้น Relay service จะทำการส่งต่อไปยัง GMail ให้ (อันนี้ใครสนใจก็บอกนะ....ว่างๆ จะจัดให้ พร้อมมาเลี้ยงข้าวคนสอนมื้อนึงด้วย)

2 ความคิดเห็น:

  1. ไม่ระบุชื่อ10 พฤศจิกายน, 2551 11:07

    ขอบคุณมากๆนะคะ

    กำลังหาอยู่เลยค่ะ

    ขอไปลองทำตามก่อนนะ แล้วจะมาบอกผล อิอิ

    ตอบลบ
  2. อยากได้วิธีในข้อ 4 ด้วยค่ะ จัดให้หน่อยได้มั๊ยคะ
    ปล.จะให้เลี้ยงข้าวต้องบินมาเองนะ

    ตอบลบ