Domanda

Ho provato a inviare un'e-mail utilizzando il seguente codice:

MailMessage message = new MailMessage();

        message.From = new MailAddress(fromMailAddress.Trim());
        message.To.Add(new MailAddress(toMailAddress.Trim()));

        message.Subject = subject;
        message.Body = body;
        message.SubjectEncoding = System.Text.Encoding.UTF8;
        message.BodyEncoding = System.Text.Encoding.UTF8;
        SmtpClient client = new SmtpClient();
        try
        {
            client.Send(message);
        }
        catch(Exception e)
        {
            throw e;
        }

Tuttavia, ho ottenuto l'eccezione:

  

La risposta del server è stata: 5.5.4 Indirizzo non valido

La posta elettronica, l'e-mail, il nome host e la porta del server sono tutti corretti. Lo stesso identico codice, con gli stessi identici valori di input, funziona su un'altra macchina nel nostro ufficio

È stato utile?

Soluzione

Ho scoperto la risposta dopo un approfondito debug.

Si scopre che il nome della mia macchina ha un carattere "& # 229;" (carattere svedese non valido). Dopo averlo modificato, ha funzionato.

Altri suggerimenti

È stato rilasciato un KB per System.Net.Mail che ha interessato l'analisi degli indirizzi e Unicode, quindi il motivo per cui ha funzionato su un computer e non sull'altro era probabilmente la presenza di questo KB. .NET 4.0 ha anche alcuni miglioramenti significativi nell'analisi degli indirizzi e-mail.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top