Since the OP mentioned that other solutions not using MailKit are also invited, and given the SMTP VRFY
command is almost useless nowadays, I would suggest to consider using an email verification service like Verifalia instead, which relies on multiple alternative algorithms to report whether a given email address exists or not - along with a lot of additional technical details.
using Verifalia.Api;
// Initialize the library
var verifalia = new VerifaliaRestClient("your-username", "your-password");
// Validate the email address under test
var validation = await verifalia
.EmailValidations
.SubmitAsync("batman@gmail.com", waitingStrategy: new WaitingStrategy(true));
// At this point the address has been validated: let's print
// its email validation result to the console.
var entry = validation.Entries[0];
Console.WriteLine("{0} => Classification: {1}, Status: {1}",
entry.InputData,
entry.Classification,
entry.Status);
// batman@gmail.com => Classification: Deliverable, Status: Success
Disclaimer: I am the CTO of Verifalia.