Bu blogda, C# dilinde Outlook e-posta mesajlarının (MSG, EML, EMLX veya MHTML dahil) nasıl oluşturulacağını öğreneceksiniz. Ayrıca, .NET veya .NET Core’da C# kullanarak e-postaların eşzamanlı veya eşzamansız olarak nasıl gönderileceğini göstereceğiz.

C# görünüm e-postası gönder

E-posta, mesaj alışverişinde bulunmak ve belgeler, resimler veya diğer dosya türleri gibi içerikleri paylaşmak için birincil kaynak haline geldi. E-posta kullanım sıklığı, önemli bildirimlerin veya belgelerin birden fazla kişiyle paylaşıldığı çevrimiçi sistemlerde daha fazladır. Bu gibi durumlarda, bir şablon hazırlamak ve birden fazla paydaşa manuel olarak e-posta göndermek zaman alıcı ve telaşlı bir iş olabilir.

Sorunsuz bir şekilde e-posta oluşturabileceğiniz ve gönderebileceğiniz bir E-posta Otomasyon Hizmeti ihtiyacı burada ortaya çıkıyor. Bu nedenle, bu makalede, size popüler Outlook biçimlerinde e-posta iletileri oluşturmayı ve programlı olarak e-posta gönderme sürecini otomatikleştirmeyi öğreteceğim. Bu makaleyi okuduktan sonra şunları yapabileceksiniz:

  • C# dilinde bir e-posta mesajı oluşturun ve kaydedin,
  • C# dilinde HTML gövdeli bir e-posta oluşturun,
  • C#’ta belirli bir kodlamaya sahip bir e-posta oluşturun,
  • C#’ta SMTP kullanarak senkronize olarak e-postalar gönderin,
  • C#’ta SMTP kullanarak e-postaları eşzamansız olarak gönderin,
  • ve C# dilinde toplu e-postalar gönderin.

Outlook E-postaları Oluşturmak ve Göndermek için C# API

E-posta mesajları oluşturma ve gönderme sürecini otomatikleştirmek için, güçlü bir e-posta işleme ve işleme API’si olan Aspose.Email for .NET kullanacağız. MSG, EML/EMLX vb. MS Outlook mesajları dahil olmak üzere popüler e-posta biçimlerini destekler. API’nin DLL dosyasını doğrudan indirebilir veya NuGet Paket Yöneticisi veya Visual Studio’daki Paket Yöneticisi Konsolu aracılığıyla yükleyebilirsiniz. .

PM> Install-Package Aspose.Email

Bir C# (Konsol, ASP.NET, vb.) uygulaması oluşturduktan ve Aspose.Email for .NET’i kurduktan sonra, e-postaları C# dilinde oluşturmaya ve göndermeye başlayabilirsiniz.

C# ile bir Outlook E-postası oluşturun

Aspose.Email, Outlook e-posta mesajlarını oluşturmak veya değiştirmek için MailMessage sınıfını sağlar. Bu sınıf, bir e-posta mesajının tüm özelliklerini (Konu, Alıcı, Kimden ve Gövde) ayarlamanıza, ekler eklemenize ve mesajı EML, MSG, MHTML vb. farklı e-posta biçimlerinde kaydetmenize olanak tanır. bir e-posta iletisi:

  • MailMessage sınıfının bir örneğini oluşturun.
  • Mesajın özelliklerini ayarlayın.
  • MailMessage.Save() yöntemini kullanarak e-posta mesajını kaydedin.

Aşağıdaki kod örneği, C# dilinde bir e-posta iletisinin nasıl oluşturulacağını ve kaydedileceğini gösterir.

// MailMessage sınıfının yeni bir örneğini oluşturun
MailMessage message = new MailMessage();

// Mesajın konusunu, gövdesini ve gönderen bilgilerini ayarlayın
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);

// Alıcılara ve CC alıcılarına ekle
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));
message.CC.Add(new MailAddress("cc1@domain.com", "Recipient 3", false));

// Ek ekle
message.Attachments.Add(new Attachment("word.docx"));

// Mesajı EML, EMLX, MSG ve MHTML formatlarında kaydedin
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);

C#’ta HTML Gövdesi ile Outlook E-postası Oluşturma

HTML etiketleri, e-postanın gövdesini daha yapılandırılmış, sunulabilir ve tablolar, resimler, listeler vb. gibi farklı öğelerle zenginleştirmek için kullanılır. HTML gövdeli bir e-posta oluşturmak istemeniz durumunda MailMessage.HtmlBody özelliğini kullanabilirsiniz. Aşağıdaki kod örneği, C# dilinde HTML gövdeli bir Outlook e-postasının nasıl oluşturulacağını gösterir.

// MailMessage sınıfının yeni bir örneğini oluşturun
MailMessage message = new MailMessage();

// Mesajın konusunu, Html gövdesini ve gönderen bilgilerini ayarlayın
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);

// Alıcılara ve CC alıcılarına ekle
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));
message.CC.Add(new MailAddress("cc1@domain.com", "Recipient 3", false));

// Mesajı EML/EMLX/MSG/MHTML formatında kaydet
message.Save("EmailMessage.eml", SaveOptions.DefaultEml);

C# Belirli Bir Kodlamaya Sahip Bir Outlook E-postası Oluşturun

Tarayıcıya veya e-posta uygulamasına e-posta gövdesindeki karakterlerin nasıl yorumlanacağını bildirmek için istediğiniz kodlama standardını da belirtebilirsiniz. MailMessage.BodyEncoding özelliği bu amaçla kullanılır. Aşağıdaki kod örneği, C# kullanarak bir Outlook e-postası oluştururken gövde kodlamasının nasıl ayarlanacağını gösterir.

// MailMessage sınıfının yeni bir örneğini oluşturun
MailMessage message = new MailMessage();

// Mesajın konusunu, Html gövdesini, gönderen ve alıcı bilgilerini ayarlayın
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));

// kodlamayı belirtin 
message.BodyEncoding = Encoding.ASCII;

// Mesajı EML/EMLX/MSG/MHTML formatında kaydet
message.Save("EmailMessage.msg", SaveOptions.DefaultMsgUnicode);

Outlook E-postalarını C# ile Eşzamanlı veya Eşzamansız Olarak Gönderin

Şimdi, e-posta mesajını oluşturduktan sonra, alıcılarına eşzamanlı veya eşzamansız olarak gönderebilirsiniz. SmtpClient sınıfı, Outlook e-posta mesajlarını SMTP (Basit Posta Aktarım Protokolü) kullanarak göndermenizi sağlar. Aspose.Email for .NET kullanarak C# dilinde bir e-posta gönderme adımları aşağıdadır.

  • MailMessage sınıfını kullanarak bir e-posta iletisi oluşturun veya yükleyin.
  • SmtpClient sınıfının bir örneğini oluşturun ve ana bilgisayarı, kullanıcı adını, parolayı ve bağlantı noktası numarasını ayarlayın.
  • Sırasıyla SmtpClient.Send veya SmtpClient.SendAsync yöntemini kullanarak eşzamanlı veya eşzamansız olarak e-posta gönderin.

C# ile Eşzamanlı Olarak Outlook E-postası Gönderme

// MailMessage örneği oluşturun. Yeni bir mesaj oluşturabilir veya önceden oluşturulmuş bir mesaj dosyasını (eml, msg vb.)
MailMessage msg = MailMessage.Load("EmailMessage.msg");

// SmtpClient sınıfının bir örneğini oluşturun
SmtpClient client = new SmtpClient();

// Posta Sunucunuzu, Kullanıcı Adınızı, Parolanızı, Bağlantı Noktası # ve Güvenlik seçeneğinizi belirtin
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;
try
{
	// Bu e-postayı gönder
	client.Send(msg); 
}
catch (Exception ex)
{
	Trace.WriteLine(ex.ToString());
}

C#’ta Eşzamansız Olarak Outlook E-postası Gönderme

// MailMessage örneği oluşturun. Yeni bir mesaj oluşturabilir veya önceden oluşturulmuş bir mesaj dosyasını (eml, msg vb.)
MailMessage msg = MailMessage.Load("EmailMessage.msg");

// SmtpClient sınıfının bir örneğini oluşturun
SmtpClient client = new SmtpClient();

// Posta Sunucunuzu, Kullanıcı Adınızı, Parolanızı, Bağlantı Noktası # ve Güvenlik seçeneğinizi belirtin
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

// Posta Sunucunuzu, Kullanıcı Adınızı, Parolanızı, Bağlantı Noktası # ve Güvenlik seçeneğinizi belirtin
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit; 

// Mesaj yolla
client.SendAsync(msg);

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

msg.Dispose(); 

C# ile Toplu E-posta Gönderin

Ayrıca e-postaları toplu olarak oluşturabilir ve gönderebilirsiniz. MailMessageCollection sınıfı, göndermek istediğiniz e-posta mesajlarının koleksiyonunu içermek için kullanılır. Aşağıdaki kod örneği, C# dilinde toplu e-postaların nasıl gönderileceğini gösterir.

// SmtpClient oluşturun ve sunucu, bağlantı noktası, kullanıcı adı ve parolayı belirtin
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");

// MailMessage sınıfının örneklerini oluşturun ve Kime, Kimden, Konu ve Mesajı belirtin
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?");

// Bir MailMessageCollection örneği oluşturun ve buna e-posta mesajları ekleyin
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.Add(message1);
manyMsg.Add(message2);
manyMsg.Add(message3);
 
try
{  
	// Mesaj yolla
	client.Send(manyMsg); 
}
catch (Exception ex)
{
	Trace.WriteLine(ex.ToString());
}

Aspose Email API for C# - Canlı Demolar

Çözüm

Bu makalede, C# dilinde Outlook e-postalarının nasıl oluşturulacağını öğrendiniz. Ayrıca, .NET uygulamalarından e-postaları senkronize veya senkronize olmayan şekilde nasıl göndereceğinizi gördünüz. API hakkında daha fazla bilgi edinmek için Aspose.Email for .NET’in belgelerini inceleyebilirsiniz.

Ayrıca bakınız

C# dilinde MS Exchange Sunucusunda Gelen Kutusu Kuralları Ekleme ve GüncellemeJava’da MS Exchange Dağıtım Listelerine Üye Ekleme ve KaldırmaWord Belgesini C# kullanarak E-posta Gövdesinde Gönder
Java’da MS Exchange Sunucusunda Gelen Kutusu Kuralları Ekleme ve GüncellemeC# dilinde Microsoft Exchange Server’dan Kişi Ekleme, Güncelleştirme ve SilmeJava’da Microsoft Exchange Sunucusundan Kişi Ekleme, Güncelleme ve Silme
C# dilinde MS Exchange Dağıtım Listelerine Üye Ekleme ve KaldırmaE-postaları Python’da SMTP aracılığıyla gönderin