בבלוג זה תלמדו כיצד ליצור הודעות דואר אלקטרוני של Outlook (כולל MSG, EML, EMLX או MHTML) ב-C#. כמו כן, נדגים כיצד לשלוח מיילים באופן סינכרוני או אסינכרוני באמצעות C# ב-.NET או .NET Core.

C# שלח דואל של Outlook

האימייל הפך למקור עיקרי להחלפת הודעות ושיתוף תוכן כגון מסמכים, תמונות או סוגים אחרים של קבצים. תדירות השימוש במיילים היא יותר בתוך המערכות המקוונות לשיתוף התראות או מסמכים חשובים עם מספר ישויות. במקרים כאלה, הכנת תבנית ושליחת מיילים למספר מחזיקי עניין באופן ידני עשויה להיות משימה שגוזלת זמן וקדחתנות.

כאן מגיע הצורך בשירות אוטומציה של דוא"ל באמצעותו תוכל ליצור ולשלוח אימיילים בצורה חלקה. אז במאמר זה, אני הולך ללמד אותך כיצד ליצור הודעות דואר אלקטרוני בפורמטים פופולריים של Outlook ולהפוך את תהליך שליחת הדוא"ל לאוטומטי באופן פרוגרמטי. לאחר קריאת מאמר זה, תוכל:

  • צור ושמור הודעת דואר אלקטרוני ב-C#,
  • צור אימייל עם גוף HTML ב-C#,
  • צור אימייל עם קידוד מסוים ב-C#,
  • לשלוח מיילים באופן סינכרוני באמצעות SMTP ב-C#,
  • לשלוח מיילים באופן אסינכרוני באמצעות SMTP ב-C#,
  • ושליחת דואר אלקטרוני בכמות גדולה ב-C#.

C# API ליצירה ושליחה של הודעות דוא"ל של Outlook

על מנת להפוך את תהליך היצירה והשליחת של הודעות דוא"ל לאוטומטיות, נשתמש ב-Aspose.Email for .NET שהוא ממשק API רב עוצמה למניפולציה ועיבוד דוא"ל. הוא תומך בפורמטים פופולריים של דואר אלקטרוני כולל הודעות MS Outlook כגון MSG, EML/EMLX וכו’. ניתן להוריד ישירות את ה-API של DLL או להתקין אותו דרך NuGet Package Manager או Package Manager Console ב-Visual Studio .

PM> Install-Package Aspose.Email

לאחר שיצרת יישום C# (Console, ASP.NET וכו’) והתקנת את Aspose.Email עבור .NET, תוכל להתחיל ליצור ולשלוח את המיילים ב-C#.

צור דוא"ל של Outlook ב-C#

על מנת ליצור או לתפעל הודעות דואר אלקטרוני של Outlook, Aspose.Email מספקת את המחלקה MailMessage. מחלקה זו מאפשרת לך להגדיר את כל המאפיינים של הודעת דוא"ל (נושא, אל, מאת וגוף), להוסיף קבצים מצורפים ולשמור את ההודעה בפורמטים שונים של דוא"ל כגון EML, MSG, MHTML וכו’. להלן השלבים ליצירת הודעת מייל:

  • צור מופע של מחלקה MailMessage.
  • הגדר את מאפייני ההודעה.
  • שמור את הודעת הדואר האלקטרוני באמצעות שיטת MailMessage.Save() .

דוגמת הקוד הבאה מראה כיצד ליצור ולשמור הודעת דואר אלקטרוני ב-C#.

// צור מופע חדש של מחלקה MailMessage
MailMessage message = new MailMessage();

// הגדר את נושא ההודעה, גוף ופרטי השולח
message.Subject = "New message created by Aspose.Email for .NET";
message.Body = "This is the body of the email.";
message.From = new MailAddress("from@domain.com", "Sender Name", false);

// הוסף לנמענים ולנמעני CC
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));
message.CC.Add(new MailAddress("cc1@domain.com", "Recipient 3", false));

// הוסף קבצים מצורפים
message.Attachments.Add(new Attachment("word.docx"));

// שמור הודעה בפורמטים EML, EMLX, MSG ו- MHTML
message.Save("EmailMessage.eml", SaveOptions.DefaultEml);
message.Save("EmailMessage.emlx", SaveOptions.CreateSaveOptions(MailMessageSaveType.EmlxFormat));
message.Save("EmailMessage.msg", SaveOptions.DefaultMsgUnicode);
message.Save("EmailMessage.mhtml", SaveOptions.DefaultMhtml);

צור דוא"ל של Outlook עם גוף HTML ב-C#

תגיות ה-HTML משמשות כדי להפוך את גוף המייל למובנה יותר, ייצוגי ומועשר באלמנטים שונים כגון טבלאות, תמונות, רשימות וכדומה. במקרה שאתה רוצה ליצור אימייל עם גוף HTML, אתה יכול להשתמש במאפיין MailMessage.HtmlBody. דוגמת הקוד הבאה מראה כיצד ליצור דואר אלקטרוני של Outlook עם גוף HTML ב-C#.

// צור מופע חדש של מחלקה MailMessage
MailMessage message = new MailMessage();

// הגדר את נושא ההודעה, גוף HTML ופרטי השולח
message.Subject = "New message created by Aspose.Email for .NET";
message.HtmlBody = "<b>This line is in bold.</b> <br/> <br/>" + "<font color=blue>This line is in blue color</font>";
message.From = new MailAddress("from@domain.com", "Sender Name", false);

// הוסף לנמענים ולנמעני CC
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));
message.CC.Add(new MailAddress("cc1@domain.com", "Recipient 3", false));

// שמור הודעה בפורמט EML/EMLX/MSG/MHTML
message.Save("EmailMessage.eml", SaveOptions.DefaultEml);

C# צור דואר אלקטרוני של Outlook עם קידוד מסוים

אתה יכול גם לציין את תקן הקידוד הרצוי כדי לספר לדפדפן או לאפליקציית הדוא"ל כיצד לפרש את התווים בגוף האימייל. המאפיין MailMessage.BodyEncoding משמש למטרה זו. דוגמת הקוד הבאה מראה כיצד להגדיר קידוד גוף בעת יצירת דוא"ל של Outlook באמצעות C#.

// צור מופע חדש של מחלקה MailMessage
MailMessage message = new MailMessage();

// הגדר את נושא ההודעה, גוף HTML, שולח ופרטי נמען
message.Subject = "New message created by Aspose.Email for .NET";
message.HtmlBody = "<b>This line is in bold.</b> <br/> <br/>" + "<font color=blue>This line is in blue color</font>";
message.From = new MailAddress("from@domain.com", "Sender Name", false);
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));

// ציין קידוד 
message.BodyEncoding = Encoding.ASCII;

// שמור הודעה בפורמט EML/EMLX/MSG/MHTML
message.Save("EmailMessage.msg", SaveOptions.DefaultMsgUnicode);

שליחת דוא"ל של Outlook באופן סינכרוני או אסינכרוני ב-C#

כעת, לאחר שיצרת את הודעת הדואר האלקטרוני, תוכל לשלוח אותה לנמעניה באופן סינכרוני או אסינכרוני. המחלקה SmtpClient מאפשרת לך לשלוח את הודעות הדואר האלקטרוני של Outlook באמצעות SMTP (Simple Mail Transfer Protocol). להלן השלבים לשליחת דוא"ל ב-C# באמצעות Aspose.Email עבור .NET.

  • צור או טען הודעת דואר אלקטרוני באמצעות הכיתה MailMessage.
  • צור מופע של מחלקה SmtpClient והגדר מארח, שם משתמש, סיסמה ומספר יציאה.
  • שלח דוא"ל באופן סינכרוני או אסינכרוני באמצעות שיטת SmtpClient.Send או SmtpClient.SendAsync בהתאמה.

שלח דוא"ל של Outlook באופן סינכרוני ב-C#

// צור מופע MailMessage. אתה יכול ליצור הודעה חדשה או לטעון קובץ הודעה שכבר נוצר (eml, msg וכו')
MailMessage msg = MailMessage.Load("EmailMessage.msg");

// צור מופע של מחלקה SmtpClient
SmtpClient client = new SmtpClient();

// ציין את מארח הדיוור שלך, שם משתמש, סיסמה, יציאה # ואפשרות אבטחה
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;
try
{
	// שלח את המייל הזה
	client.Send(msg); 
}
catch (Exception ex)
{
	Trace.WriteLine(ex.ToString());
}

שלח דוא"ל של Outlook באופן אסינכרוני ב-C#

// צור מופע MailMessage. אתה יכול ליצור הודעה חדשה או לטעון קובץ הודעה שכבר נוצר (eml, msg וכו')
MailMessage msg = MailMessage.Load("EmailMessage.msg");

// צור מופע של מחלקה SmtpClient
SmtpClient client = new SmtpClient();

// ציין את מארח הדיוור שלך, שם משתמש, סיסמה, יציאה # ואפשרות אבטחה
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

// ציין את מארח הדיוור שלך, שם משתמש, סיסמה, יציאה # ואפשרות אבטחה
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit; 

// לשלוח הודעות
client.SendAsync(msg);

Console.WriteLine("Sending message..."); 

msg.Dispose(); 

שלח אימיילים בכמות גדולה ב-C#

אתה יכול גם ליצור ולשלוח הודעות דוא"ל בכמות גדולה. המחלקה MailMessageCollection משמשת להכיל את אוסף הודעות האימייל שברצונך לשלוח. דוגמת הקוד הבאה מראה כיצד לשלוח הודעות דוא"ל בכמות גדולה ב-C#.

// צור SmtpClient וציין שרת, יציאה, שם משתמש וסיסמה
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");

// צור מופעים של מחלקת MailMessage וציין אל, מאת, נושא והודעה
MailMessage message1 = new MailMessage("msg1@from.com", "msg1@to.com", "Subject1", "message1, how are you?");
MailMessage message2 = new MailMessage("msg1@from.com", "msg2@to.com", "Subject2", "message2, how are you?");
MailMessage message3 = new MailMessage("msg1@from.com", "msg3@to.com", "Subject3", "message3, how are you?");

// צור מופע של MailMessageCollection והוסף לו הודעות דואר אלקטרוני
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.Add(message1);
manyMsg.Add(message2);
manyMsg.Add(message3);
 
try
{  
	// לשלוח הודעות
	client.Send(manyMsg); 
}
catch (Exception ex)
{
	Trace.WriteLine(ex.ToString());
}

Aspose Email API עבור C# - הדגמות חיות

סיכום

במאמר זה, למדת כיצד ליצור הודעות דוא"ל של Outlook ב-C#. יתר על כן, ראית כיצד לשלוח מיילים באופן סינכרוני או אסינכרוני מתוך יישומי NET. אתה יכול לחקור את התיעוד של Aspose.Email עבור .NET כדי ללמוד עוד על ה-API.

ראה גם

הוסף ועדכן כללי תיבת דואר נכנס ב-MS Exchange Server ב-C#הוסף והסר חברים ברשימות הפצה של MS Exchange ב-Javaשלח מסמך Word בגוף האימייל באמצעות C#
הוסף ועדכן כללי תיבת דואר נכנס ב-MS Exchange Server ב-Javaהוסף, עדכן ומחק אנשי קשר מ-Microsoft Exchange Server ב-C#הוסף, עדכן ומחק אנשי קשר מ-Microsoft Exchange Server ב-Java
הוסף והסר חברים ברשימות הפצה של MS Exchange ב-C#שלח אימיילים באמצעות SMTP ב-Python