Для этого потребуется TLS, что означает использование SMTP MailKit.Вы можете получить его, используя менеджер пакетов NuGet в Visual Studio.Ищите MailKit по Джеффри Стедфасту.
Документация также здесь .
Как только у вас есть все ссылки на месте, используйте MailKit.Net.Smtp.SmtpClient class:
- Установить "smtp.office365.com" в качестве хоста
- Использовать порт 587.
Вам потребуетсядобавьте эту строку после создания экземпляра smtp, поскольку у вас нет токена OAuth:
smtp.AuthenticationMechanisms.Remove("XOAUTH2");
Это будет делать то, что вам нужно.
Вот пример того, как все это должно выглядеть:
string FromPseudonym = "MySite Support";
string FromAddress = "admin@MySite.com";
var message = new MimeMessage();
message.From.Add(new MailboxAddress(FromPseudonym, FromAddress));
message.To.Add(new MailboxAddress("Recipient Pseudonym", "RecipientAddress@somewhere.com"));
message.Subject = "Testing Email";
var bodyBuilder = new BodyBuilder();
string MsgBody = "Message Body stuff goes here";
bodyBuilder.HtmlBody = MsgBody;
message.Body = bodyBuilder.ToMessageBody();
using (var client = new SmtpClient())
{
client.Connect("smtp.office365.com", 587);
client.AuthenticationMechanisms.Remove("XOAUTH2");
client.Authenticate(FromAddress, "Your super secret password goes here");
client.Send(message);
client.Disconnect(true);
}
Вам понадобятся следующие пространства имен:
using MimeKit;
using MimeKit.Utils;
using MailKit.Net.Smtp;