Domanda

Quando i clienti entrano indirizzi e-mail con caratteri non-ASCII come AUO nostro SMTP rifiuta di elaborarli.

Quindi penso che potrebbe essere ci sia una soluzione per gestire tali domini me stesso e convertirli in punyocode.

C'è un modo semplice di farlo utilizzando c #?

Sarebbe questo lavoro in ogni caso?

È stato utile?

Soluzione

È possibile utilizzare Uri.DnsSafeHost convertire in Punycode :

using System;

class Test
{
    static void Main()
    {
        Console.WriteLine(ConvertToPunycode("caf\u00e9.com"));
    }

    static string ConvertToPunycode(string domain)
    {
        Uri uri = new Uri("http://"+domain);
        return uri.DnsSafeHost;
    }
}

In app.config:

<configuration>
  <uri>
    <idn enabled="All" />
  </uri>
</configuration>

Risultato:

xn--caf-dma.com

Altri suggerimenti

Il problema di questo approccio è che sarete in cambiando gli indirizzi e-mail.

L'indirizzi e-mail e bevan@example.com bevän@example.com sono diverso indirizzi e-mail, per quanto essi appaiono lo stesso.

Fare il cambiamento suggerisci sarà rompere e-mail -. Persone potrebbero ricevere i messaggi, ma non saranno in grado di rispondere alle loro

Il server SMTP che non gestisce i caratteri accentati suona come un dinosauro. Molto come potrebbe essere un dolore nel proverbiale, la sostituzione e / o l'aggiornamento è probabile che la soluzione migliore.

È probabile che in grado di ottenere l'assistenza più appropriata sopra su ServerFault .

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