<p>Pour faciliter le débogage, essayez de passer temporairement à <a href="https://github.com/jstedfast/MailKit">MailKit</a> et d’utiliser un extrait de code comme celui-ci :</p>
<pre><code class="lang-auto">using System;
using MailKit.Net.Smtp;
using MailKit.Security;
using MailKit;
using MimeKit;
namespace TestClient {
class Program
{
public static void Main (string[] args)
{
var message = new MimeMessage ();
message.From.Add (new MailboxAddress ("", "test.user@mydomain.com"));
message.To.Add (new MailboxAddress ("", "test.recipient@anotherdomain.com"));
message.Subject = "Test message";
message.Body = new TextPart ("plain") { Text = "This is the message body." };
using (var client = new SmtpClient (new ProtocolLogger ("smtp.log"))) {
client.Connect ("smtp.office365.com", 587, SecureSocketOptions.StartTls);
client.Authenticate ("test.user@mydomain.com", "password");
client.Send (message);
client.Disconnect (true);
}
}
}
}
</code></pre>
<p>Cela enregistrera l’intégralité de la transaction dans un fichier appelé « smtp.log » que vous pourrez ensuite consulter pour voir où les choses pourraient mal tourner.</p>
<p>Notez que smtp.log contiendra probablement une commande <code>AUTH LOGIN</code> suivie de quelques commandes encodées en base64 (ce sont votre utilisateur/mot de passe), donc si vous partagez le journal, assurez-vous de supprimer ces lignes.</p>
<p>Je m’attendrais à ce que cela produise la même erreur que celle que vous voyez avec System.Net.Mail, mais cela vous aidera à voir ce qui se passe.</p>
<p>En supposant que cela échoue (et je m’attends à ce que ce soit le cas), essayez de passer à <code>SecureSocketOptions.None</code> et/ou essayez de commenter le <code>Authenticate()</code>.</p>
<p>Observez comment cela modifie l’erreur que vous rencontrez.</p>