Java API を使用して電子メールを送信する簡単なアプリケーションを作成しましたが、質問があります。
電子メールを送信するためにログインする人の電子メール アドレスを知っている SMTP ホストを見つける方法はありますか? ポートも?
たとえば、送信者の電子メール アドレスが sender@gmail.com の場合、SMTP ホストは smtp.gmail.com で、ポートは 465 です。送信者の電子メール アドレスが sender@yahoo.com の場合、SMTP ホストは smtp です。 .yahoomail.com とポート 25。
私がこれを知らないと仮定すると、Java API クラスを使用してこの情報を見つける方法はありますか? 私はJavaが初めてであることに注意してください:)
前もって感謝します、
アンドレア
回答ありがとうございます。私は次のことを試みました:
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;
}
ただし、hostName の値に関係なく (gmail.com、yahoo.com など) Record[] records = new Lookup(hostName, Type.MX).run(); 常に null を返します。
私は何かを逃したと確信していますが、何がわかりません。これを手伝ってくれませんか?私が間違っていることを教えてもらえますか?
どうもありがとうございました、
アンドレア