Не используйте этот класс.Сама документация предупреждает, что она устарела, и «настоятельно рекомендует» людям использовать MailKit или MimeKit.Он даже выдает предупреждение компиляции об этом.
Последняя версия MailKit для NuGet - 2.06 и предназначена для .NET Standard 1.3, 1.6 и 2.0, что означает, что она может использоваться с любым ядром .NETверсия.Если вы посмотрите на Github Repo проекта , вы увидите, что он предоставляет lot функций электронной почты, которые недоступны с System.Net.Mail.SmtpClient, например отправка сообщений MIME, HTMLтела и т. д.
Для облегчения миграции MailKit позволяет явно приводить System.Net.Mail.MailMessage к классу MimeMessage.В качестве первого шага вы можете использовать уже существующий код MailMessage и изменить только код, связанный с SmtpClient:
using (var client = new MailKit.Net.Smtp.SmtpClient ()) {
client.Connect ("mainserver.domain.com", 25, false);
// Note: only needed if the SMTP server requires authentication
client.Authenticate ("joey", "password");
var message=(MimeMessage)mail;
client.Send (message);
client.Disconnect (true);
}
В документах показано, как создавать более сложные сообщения , прикреплять изображения,файлы и т. д. с использованием MimeMessage напрямую.
Пример в документации показывает, как создать сообщение со встроенными изображениями, телом HTML и вложениями.Этот упрощенный пример показывает только то, что необходимо для добавления вложения:
var message = new MimeMessage ();
message.From.Add (new MailboxAddress ("Joey", "joey@friends.com"));
message.To.Add (new MailboxAddress ("Alice", "alice@wonderland.com"));
message.Subject = "How you doin?";
var builder = new BodyBuilder ();
// Set the plain-text version of the message text
builder.TextBody = @"Hey Alice,... ";
// We may also want to attach a calendar event for Monica's party...
builder.Attachments.Add (@"C:\Users\Joey\Documents\party.ics");
// Now we just need to set the message body and we're done
message.Body = builder.ToMessageBody ();