Trouver hôte SMTP et le port connaître l'adresse e-mail à l'aide de l'API JAVA

J'ai fait une simple application pour envoyer des e-mails à l'aide de l'API Java et avez une question:

Est-il un moyen de trouver l'hôte SMTP connaître l'adresse e-mail de celui qui va se connecter pour envoyer un e-mail? Et aussi le port?

Par exemple, si l'expéditeur de l'e-mail est [email protected], l'hôte SMTP est smtp.gmail.com et le port 465. Si l'expéditeur de l'e-mail est [email protected], l'hôte SMTP est smtp.yahoomail.com et le port 25.

À supposer que je ne sais pas cela, est-il possible de trouver cette information à l'aide de Java les classes de l'API? Veuillez noter que je suis nouveau à java 🙂

Merci d'avance,

Andreea


Merci pour vos réponses. J'ai essayé de faire ce qui suit:

    public static String getMXRecordsForEmailAddress(String eMailAddress) { 

            String returnValue = null; 

            try { 
                String hostName = getHostNameFromEmailAddress(eMailAddress); 
                Record[] records = new Lookup(hostName, Type.MX).run(); 
                if (records == null) { 
             throw new RuntimeException("No MX records found for domain " + hostName + ".");
 } 

                //return first entry (not the best solution) 
                if (records.length > 0) { 
                        MXRecord mx = (MXRecord) records[0]; 
                        returnValue = mx.getTarget().toString(); 
                } 
            } catch (TextParseException e) { 
                throw new RuntimeException(e); 
            } 

            System.out.println("return value = "+returnValue);
            return returnValue; 
        } 

Mais, quelle que soit la valeur de nom d'hôte (par exemple. gmail.com, yahoo.com )
Record[] records = nouvelle de Recherche(nom d'hôte, le Type.MX).run(); toujours retourner la valeur null.

Je suis assez sûr que j'ai raté quelque chose, mais je ne sais pas quoi.
Vous s'il vous plaît m'aider avec cela? Pouvez-vous me dire ce que je fais mal?

Je vous remercie très beaucoup,

Andreea

  • Techniquement, vous pourriez faire une recherche des enregistrements mx, mais c'est probablement ne va pas être simple: exclamationsoft.com/exclamationsoft/netmailbot/help/website/....
  • Les enregistrements MX n'est pas nécessairement de l'aide. L'enregistrement MX vous dit quoi entrant serveur SMTP que vous devez contacter si vous essayez d'envoyer un message à une adresse donnée; mais cela ne veut pas dire quelle sortant serveur/port que vous devez utiliser lors de l'envoi d'un message à partir de cette adresse. Par exemple, dans le gmail cas, la MX est quelque chose comme gmail-smtp-in.l.google.com, mais le serveur SMTP sortant est smtp.gmail.com.
InformationsquelleAutor Ioja Andreea | 2012-04-21