用windows系统,smtp之类的软件没有安装,同时telnet mail 25,也不通,查看25端口也是没有启用的状态;
但是我用javamail调用本地服务器发送邮件,居然能发送出去;
根据资料显示,邮件发送一般的流程是mua -> mta ->mda -> 发信;
请问,javamail发信的mta是什么? javamail最终是调用什么发信的呢? 为什么25端口关闭了,仍然可以发信呢?求高手指点,谢谢.调用本地服务器代码如下:// DNS服务器,看看本机的DNS配置
String dns = "dns://192.168.0.1";
String email = "[email protected]";
if(args.length>0)
email = args[0];
String domain = email.substring(email.indexOf('@')+1);
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.dns.DnsContextFactory");
env.put(Context.PROVIDER_URL, dns);
DirContext ctx = new InitialDirContext(env);
Attributes attr = ctx.getAttributes(domain, new String[]{"MX" });
NamingEnumeration servers = attr.getAll();
// 列出所有邮件服务器:
while(servers.hasMore()) {
Attribute hosts = (Attribute)servers.next();
for(int i=0;i<hosts.size();i++){
String host = (String)hosts.get(i);
host = host.substring(host.indexOf(' ')+1);
System.out.print("Send mail to " + host + " ...");
sendMail(host, email);
System.out.println("OK");
}
}
但是我用javamail调用本地服务器发送邮件,居然能发送出去;
根据资料显示,邮件发送一般的流程是mua -> mta ->mda -> 发信;
请问,javamail发信的mta是什么? javamail最终是调用什么发信的呢? 为什么25端口关闭了,仍然可以发信呢?求高手指点,谢谢.调用本地服务器代码如下:// DNS服务器,看看本机的DNS配置
String dns = "dns://192.168.0.1";
String email = "[email protected]";
if(args.length>0)
email = args[0];
String domain = email.substring(email.indexOf('@')+1);
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.dns.DnsContextFactory");
env.put(Context.PROVIDER_URL, dns);
DirContext ctx = new InitialDirContext(env);
Attributes attr = ctx.getAttributes(domain, new String[]{"MX" });
NamingEnumeration servers = attr.getAll();
// 列出所有邮件服务器:
while(servers.hasMore()) {
Attribute hosts = (Attribute)servers.next();
for(int i=0;i<hosts.size();i++){
String host = (String)hosts.get(i);
host = host.substring(host.indexOf(' ')+1);
System.out.print("Send mail to " + host + " ...");
sendMail(host, email);
System.out.println("OK");
}
}
解决方案 »
- 出现Exception in thread "main" java.lang.NoClassDefFoundError:
- A B 2个JSP项目,一个地址请求从A项目里的一个servlet然后将请求转发到B的一个servlet
- 面试题,看你能做出多少
- 调用方法时 提示
- 一个hql语句的问题!
- web-info/lib下的jsp-api.jar与tomcat的lib下的jsp-api.jar 冲突
- weblogic懒汉模式远程调用ejb???
- 问个关于struts和javascript的菜鸟问题
- 帮忙看看ssh注入失败是什么原因?
- 工作中运用SAX解析XML问题,急!!
- 关于的Spring2.5的java.util.Hashtable的IOC问题,ecplise成功,tomcat失败!急求解!
- java中的通信问题
当你程序执行的时候,它会触发启动,没研究过,只是猜测你要自己验证一下,很简单的!