RSS



ارسال ايميل در asp.net قسمت اول

در طي چند مقاله قصد دارم كه بحث شيرين ارسال ايميل را به شما دوستان عزيز آموزش بدهم .

مقدمه:

فضای نام System.Net.Mail

System.Net.Mail یک فضای نام که برای ارسال ایمیل در دات نت 2 استفاده میشود.بر خلاف system.web.mail که در دات نت 1 معرفی شده، System.Net.Mail بر پایه کتابخانه های CDO/CDOSYS ساخته نشده است.در عوض زمینه ساخت آن بر اساس عدم استفاده از Com Introp بوده،یعنی بر اساس هیچ نوع کتابخانه ی Com ساخته نشده است

System.Net.Mail یک کلاس کاملا جدید برای ساخت و ارسال ایمیل معرفی کرده است
گرچه بعضی از ویژگیهای system.web.mail حذف شده، اما فضای نام System.Net.Mail بسیار فراگیر تر و تطبیق پذیر تر از system.web.mail است که وابسته به کتابخانه CDO میباشد


برای ارسال ایمیل در دات نت به چه چیزی نیازمندیم؟

قبل از هر چیزی لازم است که دات نت فریم ورک را نصب کنید
سپس system.dll را به عنوان مرجع (reference) به صفحه معرفی کنید(به صورت اتوماتیک به صفحات اضافه میشود).
برای ایجاد و ارسال ایمیل از فضای نام System.Net.Mail استفاده میشود
در این مرحله شما با برنامه نویسی ،به پیکربندی برنامه خود میپردازید
شما نیازمند یک سرور واسط برای ارسال ایمیل هستید
یک سرور واسط (Relay Server) که یک سرور ایمیل(Email Server) یا یک SMTP سرور /سرویس است که ارسال ایمیل را مدیریت میکند.(Handle)
System.Net.Mail بسادگی ایمیل را برای سرور ارسال میکند و سرور ایمیل مسئول رساندن ایمیل به مقصد نهایی میباشد

سرور واسط

یک واسط یک سرویس است،که به شما اجازه میدهد ایمیل ارسال کنید
واسط به طور معمول یک سرور ایمیل (Mail Server)کامل است یا برای سرویس SMTP پیکربندی شده است
بطور مثال:

ایمیل سرور ها(Mail Server):

Microsoft Exchange
IMail by IPSwitch
Mail Enable by Mail Enable
سرویس های SMTP:

سرویس SMTP که بر روی IIS نصب میشود
(System.Net.Mail) SNM ایمیل را برای سرور واسط ارسال میکند و سرور ایمیل مسئول رساندن ایمیل به مقصد نهایی میباشد
زمانی که ایمیل برای سرور واسط ارسال میگردد،شما باید اجازه دسترسی به آن سرور را داشته باشید.دلیل این امر مسئله SPAM ها میباشد
دسترسی به سرورهای واسط به طور طبیعی یا از طریق IP Address یا username/password امکان پذیر میباشد

سرویس SMTP در IIS

سرویس IIS SMTP یک سرویس برای ارسال ایمیل میباشد
این سرویس تمام سرویس های زیر را مدیریت میکند


MX Record (Mail server location) lookups
SMTP connections to remote mail servers
Retries
Failures


اطلاعات بیشتر را میتوانید از سایت مایکروسافت بخواهید
http://www.microsoft.com/mind/1299/smtp2000/smtp2000.asp

آیا با استفاده از System.Net.Mail میتوانیم ایمیل هایمان را بخوانیم؟

جواب نه میباشد.با استفاده از SNM فقط میتوانید ایمیل ارسال کنید
برای خواندن ایمیل میتوانید از Mime parsing component یا POP3 component استفاده کنید


نگاهی به کلاس های فضای نام System.Net.Mail:

MailMessage Class
MailAddress Class
Attachment Class
SmtpClient Class
AlternateView Class
Linked Resource

کلیه کلاس های فوق به طور کامل شرح داده خواهند شد

کلاس MailMessage:

کلاس MailMessage ساخت و مدیریت پیغام ایمیل را تامین میکند
سایر کلاسها به نوعی با این کلاس در ارتباط هستند
برخی از ویژگی های(Properties) کلاس MailMessage به شرح زیر میباشند


توضیحات تکمیلی در
http://msdn2.microsoft.com/en-us/library/system.net.mail.mailmessage.aspx
[C#]

        MailMessage mail = new MailMessage();
        mail.From = new MailAddress("me@mycompany.com");
        mail.To.Add("you@yourcompany.com");
        mail.Subject = "This is an email";
        mail.Body = "this is the body content of the email.";

[VB]

        Dim mail As New MailMessage()
        mail.From = New MailAddress("me@mycompany.com")
        mail.To.Add("you@yourcompany.com")
        mail.Subject = "This is an email"
        mail.Body = "this is the body content of the email."
این نکته در کد بالا قابل توجه است که:
به این نوع ایمیل که بدنه(Body) آن شامل متن ساده است در اصطلاح Plain Text گفته میشود
اما بدنه (Body) میتواند شامل تگ های HTML نیز باشد
جهت استفاده از این امکان باید خاصیت IsBodyHtml را برابر True کنیم
به مثال زیر توجه کنید:
[C#]

MailMessage mail = new MailMessage();

mail.From = new MailAddress("me@mycompany.com");
mail.To.Add("you@yourcompany.com");

mail.Subject = "This is an email";
mail.Body = "this is a sample body with html in it. This is
bold
This is blue";
mail.IsBodyHtml = true;

SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.Send(mail);

[VB]

Dim mail As New MailMessage()

mail.From = New MailAddress("me@mycompany.com")
mail.To.Add("you@yourcompany.com")

mail.Subject = "This is an email"
mail.Body = "this is a sample body with html in it. This is
bold
This is blue"
mail.IsBodyHtml = True

Dim smtp As New SmtpClient("127.0.0.1")
smtp.Send(mail)
 
 

تاريخ : چهارشنبه 13 آذر 1387   ساعت : 1:05:10 AM    نويسنده : مهرداد قاسمي | نظرات




منوي اصلي

معرفی تصویری شرکت  


آموزش پروژه ای C#.Net



شرکت ساینا مبتکر شیوه نوین آموزش تحت پروژه برگزار می کند

C#,ASP.Net,ADO.Net,SQL Server
66494685-66405702 : تلفن

لینک روزانه


 اولین وسایل الکترونیکی ساخته شده در دنیا (555)
 Dropbox با ۲۵ میلیون کاربر و دویست میلیون اشتراک فایل روزانه (756)
 امکان جدید گوگل : استفاده از تصاویر اختصاصی در ساخت تم جی میل (697)
 مجموعه طراحی های استاد مرتضی کاتوزیان (1036)
 خلاقیت در طراحی سی دی (1089)
  آشنایی با ۲۲ برنامه ضروری تحت ویندوز برای طراحان وب  (1482)
 آموزش دکمه های جهانی برای وب سایت شما در فتوشاپ  (1300)
 ارسال فایل بدون اینترنت  (1188)
 25 ترفند حرفه ای فتوشاپ (1138)
 چت رایگان با ایرانسل (1429)
  ادامه آرشيو لينك روزانه «

پربازدیدترین مطالب


آرشیو موضوعی


آرشیو ماهانه


لینک دوستان

     CodeProject
     CoderSource
     w3schools
     مرجع برنامه نویسی AVR


جستجو در سایت