our notes for our youngers

December 3, 2009

Sending Email From ASP.NET

Filed under: ASP.NET, Other — Tags: , , , , — sevenlamp @ 4:55 PM

ကြၽန္ေတာ္ဗ်ာ ရံုးက frontend system ထဲမွာ email ပို႔တဲ႔ အပိုင္းေလး မရေတာ့လို႔ ျပန္လုပ္လိုက္ရတာ ေတာ္ေတာ္ေလးကို ပင္ပန္းသြားတယ္။ အခ်ိန္လည္း ၂ရက္ ေလာက္ကုန္သြားတယ္။ ( ရသြားလို႔ ေတာ္ပါေသးရဲ႕ :D ) ညီတို႔လည္း email sending အပိုင္းေလး ေရးဖို႔လိုအပ္လာရင္ ဒီပိုဒ့္ေလးက အသံုး၀င္မွာပါ။

အရင္ဆံုး သိထားရမွာက ျမန္မာနိုင္ငံထဲမွာေတာ့ ဒီ program ကို run လို႔မရဘူးေနာ္ :)

ကြၽန္ေတာ္တို႔ email ပို႔ဖို႔အတြက္ smtp server လိုပါတယ္။ ကြၽန္ေတာ္တို႔ domain hosting ယူထားတဲ႔ ဆီကေန smtp အတြက္ပါ ေတာင္းလို႔ရပါလိမ့္မယ္။ ျပီးရင္ email အေကာင့္တစ္ခုလည္း ရွိဖို႔လိုပါတယ္။ ဥပမာဗ်ာ ကြၽန္ေတာ့္မွာ www.sevenlamp.com ဆိုတဲ႔ domain ၀ယ္ထားျပီဆိုရင္။ smtp server က smtp.sevenlamp.com ေပါ့။ port no လည္း သိရမယ္ဗ်။ မ်ားေသာအားျဖင့္ေတာ့ port no က 25, 464,587 စသည္ျဖင့္ တစ္ခုခုျဖစ္ပါလိမ့္မယ္။ email account ကေတာ့ admin@sevenlamp.com ဆိုျပီး ရွိတယ္လို႔ သေဘာထားလိုက္ဗ်ာ။ (အဲ့ဒါေတြ မသိဘူးဆိုရင္ domain hosting ယူတဲ႔ company ကိုေမးလိုက္ေပါ့ေနာ္) ဒါဆိုရင္ေတာ့ ကြၽန္ေတာ္တို႔ program မွာ email ပို႔တာ ေရးလို႔ ရပါျပီ။

အရင္တုန္းကေတာ့ dotnetopenmail ဆိုတဲ႔ third party component ကို သံုးၾကတယ္ဗ်။ အခု ေနာက္ပိုင္းမွာေတာ့ System.Net.Mail ကိုပဲသံုးပါတယ္။ System.Web.Mail ဆိုတာလည္း ရွိေသးတယ္ဗ်။ အဲ့ဒီေကာင္က .net frameword 1.1 မွာ သံုးခဲ႔တာ။ System.Net.Mail ကေတာ့ v2.0 မွာမွ ပါတာ။ အခုကြၽန္ေတာ္တို႔ သံုးမွာက System.Net.Mail ပါ။ သူ႔ကိုသံုးဖို႔အတြက္ ကြၽန္ေတာ္တို႔program ရဲ႕ web.config file မွာ setting နည္းနည္းသြားထည့္ေပးရတယ္။

<system.net>

    <mailSettings>

        <smtp from="admin@sevenlamp.com">

            <network  host="smtp. sevenlamp.com"

                   password="password"

                   port="465"

                   userName=" admin@sevenlamp.com " />

        </smtp>

    </mailSettings>

</system.net>

ျပီးရင္ UI မွာ ဒီလို design ခ်လိုက္ပါမယ္။

pic_1

pic_1

အခုေနာက္ဆံုးေတာ့ btnSend ရဲ႕ click event မွာ အခုလို႔ ေရးလိုက္ပါမယ္။

protected void btnSend_Click(object sender, EventArgs e)
{
    System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
    msg.From = new System.Net.Mail.MailAddress(txtFrom.Text);
    msg.To.Add(txtTo.Text);
    msg.Subject = txtSubject.Text;
    msg.Body = txtMessage.Text;

    System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
    try
    {
        client.Send(msg);
    }
    catch (Exception ex)
    {
        Response.Write(ex.Message);
    }
}

Coding က အရမး္ရွင္းလြန္းေနတဲ႔ အတြက္ ကြၽန္ေတာ္ ထပ္ျပီး ရွင္းျပစရာ မလိုဘူးထင္ပါတယ္။ သိခ်င္တာရွိရင္ ေကာမန္႔မွာ ထပ္ျပီးေမးပါခင္ဗ်ာ။

The Silver is the New Black Theme. Create a free website or blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.