La autenticación C # SMTP falló pero las credenciales son correctas

Aquí está mi problema: escribí el siguiente programa para probar si puedo enviar un correo electrónico:

class Program
{
    static void Main(string[] args)
    {
        try {
            Console.WriteLine("Mail To");
            MailAddress to = new MailAddress("[email protected]");

            Console.WriteLine("Mail From");
            MailAddress from = new MailAddress("[email protected]");

            MailMessage mail = new MailMessage(from, to);

            Console.WriteLine("Subject");
            mail.Subject = "test";

            Console.WriteLine("Your Message");
            mail.Body = "test";

            SmtpClient smtp = new SmtpClient();
            smtp.Host = "mail.domain.it";
            smtp.Port = 25;

            smtp.Credentials = new NetworkCredential(
                "username", "password");
            smtp.EnableSsl = false;
            Console.WriteLine("Sending email...");
            smtp.Send(mail);
        }catch(Exception e)
        {
            Console.WriteLine(e.Message);
            Console.WriteLine(e.StackTrace);
        }
    }
}

Las credenciales son correctas (las probé usando telnet, outlook y la aplicación k9mail en Android funciona correctamente), el programa funciona si pongo la configuración smtp de gmail. Realmente no puedo entender la causa de este error.

Usando wireshark he descubierto lo que está sucediendo: S: 220 server1.business.it Servidor SMTP listo
C: EHLO pc14
S: 250 server1.stargatenet.it Hola [87.28.219.65] | 250 TUBERÍAS | 250 TAMAÑO 25000000 | 250 8BITMIME | 250 BINARYMIME | 250 CHUNKING | 250 AUTH LOGIN CRAM-MD5 DIGEST-MD5 | 250 ok
C: inicio de sesión AUTH Usuario: UsernameBase64
S: 334 VXNlcm5hbWU6
C: Pass: PasswordBase64
S: 334 UGFzc3dvcmQ6

Parece que el programa no ingresa las credenciales cuando se le solicita. ¿Cómo es eso posible?

Respuestas a la pregunta(1)

Su respuesta a la pregunta