Perché viene visualizzato l'errore Indirizzo non valido 5.5.4?
-
05-07-2019 - |
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
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.