相关疑难解决方法(0)

使用JAVA API查找知道电子邮件地址的SMTP主机和端口

我做了一个简单的应用程序来使用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 …
Run Code Online (Sandbox Code Playgroud)

java jakarta-mail java-api

6
推荐指数
1
解决办法
1万
查看次数

Java DNSLookup MX记录列表.像MXToolBox一样

我正在构建一个程序来列出域的所有MX记录.它起初似乎工作正常,但在与在线工具http://mxtoolbox.com/进行比较后.MXToolbox可以有程序无法获取MX记录的域.

我不确定是什么原因或任何需要的配置.

非常感谢;

这是我的代码.

import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.InitialDirContext;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Hashtable;

public class DNSLookup
{
    private InitialDirContext iDirC;

    public DNSLookup ()
    {
         Hashtable<String, String> env = new Hashtable<String, String>();
         //env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
         //env.put(Context.PROVIDER_URL, "ldap://localhost:389/o=JNDITutorial");
         env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.dns.DnsContextFactory");
         //env.put(Context.PROVIDER_URL, "dns://google.com");
         // get the default initial Directory Context
         try {
            iDirC = new InitialDirContext(env);
        } catch (NamingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    private void lookup (String host, String …
Run Code Online (Sandbox Code Playgroud)

java dns mx-record

3
推荐指数
1
解决办法
8598
查看次数

标签 统计

java ×2

dns ×1

jakarta-mail ×1

java-api ×1

mx-record ×1