yo hicimos una sencilla aplicación para enviar mensajes de correo electrónico utilizando la API de Java y tiene una pregunta:anfitrión Finding SMTP y el puerto conocer la dirección de correo electrónico utilizando JAVA API
¿Hay alguna forma de averiguar el host SMTP sabiendo la dirección de correo electrónico de quien iniciará sesión para enviar un correo electrónico? Y también el puerto?
Por ejemplo, si la dirección de correo electrónico del remitente es [email protected], el host SMTP es smtp.gmail.com y el puerto 465. Si la dirección de correo electrónico del remitente es [email protected], el host SMTP es smtp.yahoomail.com y el puerto 25.
Supongamos que no sé esto, ¿hay alguna forma de encontrar esta información utilizando las clases de la API de Java? Tenga en cuenta que soy nuevo en java :)
Gracias de antemano,
Andreea
Gracias por sus respuestas. He tratado de hacer lo siguiente:
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;
}
Pero, independientemente del valor del nombre de host (por ejemplo, gmail.com, yahoo.com.) Record [] = new registros de búsqueda (nombre de host, Type.MX).correr(); siempre devuelve nulo.
Estoy bastante seguro de que me he perdido algo, pero no sé qué. ¿Podrías ayudarme con esto? ¿Puedes decirme qué estoy haciendo mal?
Gracias verry mucho,
Andreea
Técnicamente, podría hacer una búsqueda de registros mx, pero eso no será sencillo: http://www.exclamationsoft.com/exclamationsoft/netmailbot/help/website/HowToFindTheSMTPMailServerForAnEmailAddress.html. – mellamokb
Los registros MX no necesariamente ayudan. El registro MX le dice a qué servidor SMTP entrante debe contactar si está intentando enviar un mensaje * a * una dirección dada; pero eso no le dice qué servidor/puerto de salida debe usar al enviar un mensaje * desde * esa dirección. Por ejemplo, en el caso de Gmail, el MX es algo así como 'gmail-smtp-in.l.google.com', pero el servidor SMTP de salida es' smtp.gmail.com'. –