|
توسط :
الهه حمامی تتماج
(1386/10/24) | بازدید :
2978
یکی از اموری که همواره برنامه نویسان وب با آن درگیر بوده اند ارسال ایمیل از برنامه می باشد. ارسال کلمه عبور از طریق ایمیل ، ارسال خبرنامه ، ارسال فرم ها مانند فرم تماس توسط بازدیدکننده در سایت های کوچک از موارد قابل استفاده این تکنیک است.
پس از ظهور Asp.Net 2.0 استفاده از کلاس های موجود در فضا نام System.Net.Mail به جای System.Web.Mail جهت ارسال ایمیل پیشنهاد شد.
از کلاس MailMessage برای ساخت پیام و از کلاس SmtpClient جهت ارسال پیام ساخته شده ، استفاده می شود. برای استفاده از این کلاسها باید فضا نام System.Net.Mail را در صفحه فراخوانی کنید.
[C#]
using System.Net.Mail; |
[VB]
Import System.Net.Mail |
ساخت پیام توسط کلاس MailMessage :
[C#]
MailMessage mail = new MailMessage();
mail.From = new MailAddress("info@aspcode.ir");
mail.To.Add("elahe_totmaj@yahoo.com");
mail.To.Add("alireza.esmram@yahoo.com");
mail.Subject = "the subject of your email";
mail.Body = "the body of your email."; |
[VB]
Dim mail As New MailMessage()
mail.From = New MailAddress("info@aspcode.ir ")
mail.To.Add("elahe_totmaj@yahoo.com")
mail.Subject = "the subject of your email"
mail.Body = "the body of your email." |
با استفاده از این دستورات شی mail از کلاس MailMessage ساخته می شود.
همانطور که مشاهده می کنید ، خاصیت From يک ايميل حقيقي و ارسال کننده نامه است (يعني يک ايميل را به عنوان فرستنده باید معرفي کرد).
خاصیت To یک یا مجموعه ای از آدرس هایی را شامل می شود که گیرنده اصلی ایمیل هستند و با To.Add به کلکسیون اضافه می شوند. همچنین خاصیت Subject همان موضوع ایمیل است. Body متن یا بدنه پیغام است. بدنه پیغام می تواند ساده و یا دارای تگ های Html باشد که در اینصورت بایدخاصیت IsBodyHtml را True کنیم.
|
[C#]
mail.Body = ""the body of your email with html in it. <b>This is bold</b><font color=#336699>This is blue font</font>";
mail.IsBodyHtml = true;
|
|
[VB]
mail.Body = " the body of your email with html in it.. <b>This is
bold</b> <font color=#336699>This is blue font</font>"
mail.IsBodyHtml = True
|
ارسال پیام توسط کلاس SmtpClient :
در پایان با فراخوانی متد Send از کلاس SmtpClient به کار خود پایان می دهیم.
[C#]
SmtpClient smtp = new SmtpClient();
smtp.Send(mail); |
[VB]
Dim smtp As New SmtpClient()
smtp.Send(mail) |
تنظیمات Web.Config جهت ارسال ايميل - تنها نکته باقی مانده :
<configuration>
<system.net>
<mailSettings>
<smtp from="info@aspcode.ir">
<network host="Your Smtp Server" port="25" userName="user" password="pass"/>
// example for network host : mail.aspcode.ir
</smtp>
</mailSettings>
</system.net>
</configuration> |
خاصیت host یک میل سرور است که روی آن باید یک حساب معتبر داشته باشید و به ترتیب username و password گرفته شده در ادامه تنظیمات ، جهت اعتبار سنجی حساب فوق الذکر (آدرس ایمیل) می باشد.
پی نوشت :
اضافه کردن header هاي دلخواه به ايميل:
آيا تا به حال به هدرهاي ايميلي که براي شما ارسال مي گردد دقت کرده ايد ؟
اين هدرها داراي اطلاعات جالب و مفيدي از ارسال کننده ايميل مي باشند. برخي از اين هدرها ثابت و برخي ديگر به وسيله فرستنده قابل تغيير مي باشند.حتي شما قادر خواهيد بود اطلاعات دلخواه خود را در هدر ايميل هاي ارسالي قرار دهيد. براي اضافه کردن هدر به ايميل از کلاس MailMessage استفاده مي کنيم.
mail.Headers.Add("Website","www.aspcode.ir");
mail.Headers.Add("Location", "Karaj"); |
تنظيم اولويت (Priority) ايميل:
در فضاي نام System.Net.Mail تعيين اولويت پيغام جزو ويژگي هاي شي ايجاد شده از کلاس MailMesseage مي باشد. ويژگي Priority ميتواند مقادير زير را دريافت کند :
1. High = ایمیل دارای اولویت بالا
2. Low = ایمیل دارای اولویت پایین
3. Normal = ایمیل دارای اولویت معمولی
| mail.Priority = MailPriority.High; |
اضافه کردن Reply-To به هدر ايميل :
Reply-To نيز توسط شي ايجاد شده از MailMesseage در هدر قابل تنظيم مي باشد. از اين ويژگي جهت تعيين ايميلي به عنوان گيرنده پاسخ استفاده مي شود. تا گیرنده ایمیل بتواند پاسخ ایمیل را بدهد. (برای مثال ارسال کننده مدیر شرکت است و شخصی که پاسخ ایمیل را دریافت می کند منشی شرکت). مقدار دهی این خاصیت بصورت زیر است :
|
mail.ReplyTo = new MailAddress("alireza.esmram@yahoo.com");
|
همه مقالات
کلیات Asp.Net
را ببینید.
|