My Programming Notes

Here are Notes.... come from debugging

My Programming Notes

Here are Notes.... come from debugging

چهارشنبه, ۲۷ شهریور ۱۳۹۲، ۱۰:۴۰ ب.ظ

ارسال ایمیل /نرم افزار ارسال ایمیل

پس از یک تاخیر طولانی مدت ،دوباره برگشتم تا با انرژی بیشتر مطالب جدیدی را که آموختم در وبلاگم منتشر کنم.

بنا به درخواست یکی از دوستان تصمیم گرفتم نرم افزاری جهت ارسال ایمیل با محتوای کد html (مانند اکثر ایمل های تبلیغاتی) تهیه کنم.این نرم افزار باید با گرفتن یک لیست از آدرس های ایمیل ، متن ایمیل درخواستی را به همه آدرس های انتخاب شده ارسال نماید.
در اولین مرحله تحقیق کردم که چگونه می شود با زبان C# کدی را نوشت که پروسه ارسال ایمیل را انجام دهد.
شرح تحقیقات و دست آوردهای من! :
صرفا می توان از GMail برای این کار استفاده کرد. یعنی این Gmail هست که تنظیمات SMTP 1 مورد نظر را در اختیار ما قرار می دهد.
عدد پورت مربوط به Gmail ، 587 می باشد.
برای این کار از دو کلاس System.Net و System.Net.Mail  استفاده کنیم.پس حتما ابتدا using این دو کلاس را انجام دهید.
به کدهای زیر دقت کنید:

    MailMessage mail = new MailMessage();
            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
            mail.From = new MailAddress("YourGmailAccount@gmail.com", "اسمی که مایلید به جای آدرستون نمایش داده شود");
            mail.To.Add("Reciver Address");
            mail.Subject = "Subject";
mail.body = "متن ایمیل";
SmtpServer.Port = 587;
            SmtpServer.Credentials = new System.Net.NetworkCredential("Your Gmail Address", "Password");
            SmtpServer.EnableSsl = true;

            SmtpServer.Send(mail);
کد بالا موارد لازم برای ارسال یک ایمیل ساده را شرح می دهد. با یک متن عادی.
حالا اگر بخواهیم کد html داشته باشیم موضوع کمی متفاوت می شود.
قسمت Mail.body حذف می شود و ....
    mail.IsBodyHtml = true;
            var inlineLogo = new LinkedResource(@"C:\Users\...\MyPicture.jpg");//آدرس عکس مورد نظر موجود در کد html
            inlineLogo.ContentId = Guid.NewGuid().ToString();

           

                string body =string.Format( "html Mail body");
var view = AlternateView.CreateAlternateViewFromString(body, null, "text/html"); view.LinkedResources.Add(inlineLogo); mail.AlternateViews.Add(view);
 حالا می توانید یک ایمیل حاوی کد html  داشته باشید.
همچنین اگر فایلی و یا عکسی و.... دارید که می خواهید برای گیرنده پیوست کنید کد زیر را اضافه کنید:
 Attachment mailAttachment = new Attachment(آدرس کامل مسیر فایل);
    msg.Attachments.Add(mailAttachment);

البته این using را فراموش نکنید: System.Net.Mail.Attachment attachment


پ. ن : همچنان پیگیر پست هایی با موضوع نرم افزار ارسال ایمیل باشید.


نظرات  (۲)

۱۳ مهر ۹۲ ، ۰۰:۴۵ میثم هوشمند
سلام
گرچه بلاگمان خاک میخورد
اما منتظریم!
۱۶ مهر ۹۲ ، ۱۷:۲۲ احمد تاج بخش
سلام...
این برنامه خیلی خوبه...
امیدوارم در همایش بعدی بتوانیم از این دستاورد جدید استفاده کنیم...
پاسخ:
سلام.
انشالله.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی