C# : How Send E-Mail

source_code_visual_basic

في بعض الأحيان نحتاج لبرمجة كود لإرسال إيميل من داخل البرنامج الى عنوان ايميل أخر، هذه الفكرة جيدة للقيام ببرمجة برنامج يقوم بإرسال الإيميلات إلى عناوين معينة، أو إرسال إيميل لإبلاغ المبرمج بوجود خطأ برمجي ما، أو كما خطرت ببالي لإرسال ملف قاعدة البيانات إلى عنوان بريد الكتروني معين لأغراض الحفظ الإحتياطي أو تبادل البيانات، أو تجميع قواعد البيانات في مكان مركزي بالإنترنت.

هنا مثال لكود إرسال رسالة إلكتروني لبريد إلكتروني معين مع إستخدام أحد الخدمات المجانية (Yahoo, Hotmail, GMail) مع ملاحظة إستخدام بيانات الارسال حسب القيم التالية.

إسم الخدمة : Yahoo! عنوان الخادم  SMTP الخاص بالخدمة : smtp.mail.yahoo.com

إسم الخدمة : GMail عنوان الخادم  SMTP الخاص بالخدمة : smtp.gmail.com

إسم الخدمة : Hotmail عنوان الخادم  SMTP الخاص بالخدمة : smtp.live.com

كل الخدمات تستخدم Port رقم 587  مع توفر خدمة SSL

كود الارسال:

using System.Net;
using System.Net.Mail;

string smtpAddress = "smtp.mail.yahoo.com";
int portNumber = 587;
bool enableSSL = true;

string emailFrom = "email@yahoo.com";
string password = "abcdefg";
string emailTo = "someone@domain.com";
string subject = "Hello";
string body = "Hello, I'm just writing this to say Hi!";

using (MailMessage mail = new MailMessage())
{
    mail.From = new MailAddress(emailFrom);
    mail.To.Add(emailTo);
    mail.Subject = subject;
    mail.Body = body;
    mail.IsBodyHtml = true;
    // Can set to false, if you are sending pure text.

    mail.Attachments.Add(new Attachment("C:\\SomeFile.txt"));
    mail.Attachments.Add(new Attachment("C:\\SomeZip.zip"));

    using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber))
    {
        smtp.Credentials = new NetworkCredential(emailFrom, password);
        smtp.EnableSsl = enableSSL;
        smtp.Send(mail);
    }
}

المصدر

This entry was posted in C#, Developer and tagged , , , , , . Bookmark the permalink.

التعليقات مغلقة