通过开源软件dnsjava来获取
try{
Lookup lookup=new Lookup("foxmail.com",Type.MX);
lookup.setResolver(new SimpleResolver("172.19.5.35"));
lookup.run();
System.out.println(lookup.getErrorString());
if(lookup.getResult()!=Lookup.SUCCESSFUL){
System.out.println("ERROR!");
}else{
Record[] result=lookup.getAnswers();
for(int i=0;i<result.length;i++){
String host=result[i].getAdditionalName().toString();
System.out.println(host);
}
}
}catch(TextParseException e){
e.printStackTrace();
}
通过JNDI来获取
private String[] getSMTPServerByJNDI(String host) throws Exception {
Properties jndiEnvironmentProperties = new Properties();
jndiEnvironmentProperties.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
DirContext initialDirContext = new InitialDirContext(jndiEnvironmentProperties);
Attributes attributes = initialDirContext.getAttributes(host, new String[] {"MX"});
Attribute attribute = attributes.get("MX");
String[] servers = new String[attribute.size()];
for (int i = 0; i < attribute.size(); i++) {
servers[i] = attribute.get(i).toString();
servers[i]=servers[i].substring(servers[i].indexOf(" ") + 1, servers[i].length() -1);
System.out.println(servers[i]);
}
return servers;
}
分享到:
相关推荐
因此,需要找到一种方式来直接发送电子邮件,而不需要SMTP服务器中转。 第二部分:使用Foxmail中的“特快专递” Foxmail中的“特快专递”功能可以直接将电子邮件发送到对方的邮件服务器上,而不需要经过SMTP服务器...
SMTP是一种基于TCP/IP的应用层协议,其主要任务是在两台计算机之间传递邮件。它定义了邮件服务器如何交换邮件的格式、命令和响应。SMTP服务器通常运行在25号端口上。使用SMTP,用户可以通过邮件客户端或者编程接口向...
2. 实现SMTP服务器:可以使用Apache James、JAMES (Java Apache Mail Enterprise Server) 或者自定义开发SMTP服务器。这些服务器通常会监听SMTP端口,接收客户端的邮件发送请求,并根据SMTP协议规则处理。 3. 使用...
SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)是互联网上用于电子邮件传输的两种主要协议。在给定的标题和描述中,我们关注的是如何使用VC++编程语言来实现这两个协议,以便于...
- **POP3**:即邮局协议第3版,是一种电子邮件接收协议,用于用户从邮件服务器上获取邮件。它支持离线邮件处理,用户可以从服务器下载邮件到本地计算机后断开网络进行阅读。 - **SMTP**:即简单邮件传输协议,主要...
SMTP服务认证扩展定义了一种方法,通过这种方法,SMTP客户端可以向服务器表明其支持的认证机制,并与服务器协商一种安全层,用于后续的协议交互。这一扩展基于Simple Authentication and Security Layer (SASL)框架...
本文旨在深入探讨SMTP(简单邮件传输协议)与POP3(邮局协议第三版)这两种核心协议的工作原理及其实际应用。 #### 1. SMTP协议详解 ##### 1.1 概述 SMTP协议最早于1982年制定,作为ARPANET上的电子邮件标准。它...
- 创建`Properties`对象,设置SMTP服务器的属性,如主机名和端口号。 - 使用`Session.getInstance()`方法创建`Session`对象,将属性传递进去。 - 创建`Message`对象,通常是`MimeMessage`实例,设置发件人、收件...
SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)是互联网上用于发送和接收电子邮件的两种主要协议。了解这两种协议的工作原理对于构建一个基于SMTP和POP3的邮件转发器至关重要。 ...
1. 配置SMTP服务器:设置SMTP服务器地址、端口号、认证方式(如用户名和密码)。 2. 创建邮件消息:使用`javax.mail.Message`类创建邮件对象,设置发件人、收件人、抄送人、密送人、主题和邮件内容。 3. 发送邮件:...
在本资源包中,我们重点关注的是如何使用Wireshark来分析SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)两种电子邮件传输协议。 SMTP是互联网上传输电子邮件的标准协议,它负责将...
发送SMTP客户端在用户发送邮件请求后,首先判断邮件目的地,如果是本地则直接投递,否则查询DNS获取远程邮件服务器的MX记录,建立与接收SMTP服务器的连接。SMTP命令由发送方发出,响应由接收方返回。典型的SMTP交互...
5. **POST与GET功能**: 提到的"post"和"get"功能可能指的是HTTP的两种请求方法,但在SMTP邮件客户端中,它们并不直接适用。不过,如果你在源码中看到类似的概念,可能是开发者自定义的一些功能,比如"post"可能表示...
SMTP协议使用TCP端口25进行通信,当客户端想要发送电子邮件时,会与SMTP服务器建立连接,然后将电子邮件传递给SMTP服务器。SMTP服务器会对电子邮件进行处理,然后将其传递给下一个邮件服务器,直到电子邮件到达最终...
1. **SMTP的两种应用场景**: - 客户机到服务器:当用户在本地邮件客户端撰写邮件后,SMTP协议被用来将邮件从客户的计算机发送到他们的邮件服务器。 - 服务器到服务器:当邮件需要从一个邮件服务器传递到另一个...
标题中的“发送邮件的两种方式”指的是在编程中通过代码实现邮件发送的两种常见方法。在IT领域,发送电子邮件是常见的通信方式,特别是在自动化任务、通知用户或进行系统间通信时。下面将详细介绍这两种方法。 一、...
SMTP查询器能够帮助用户获取正确的SMTP服务器地址,以便在发送邮件时进行正确的设置。 在实际使用中,用户可能需要查询POP3和SMTP服务器信息的情况包括更换邮件客户端、设置新的电子邮件账户或解决邮件发送和接收...
SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)是互联网上用于电子邮件传输的两种主要协议。在你的项目中,你已经实现了这两个协议的C++类,这使得在Linux环境下发送和接收邮件变...
6. **SSL/TLS安全连接**: 许多SMTP服务器要求使用SSL或TLS协议来加密连接。JavaMail API提供了启用这些安全协议的方法。 7. **Applet安全限制**: 使用Java Applet需要注意浏览器的安全沙箱限制。由于Applet运行在...
PHPMailer支持SSL和TLS两种加密方式来安全地传输这些敏感信息。 2. **初始化PHPMailer对象**:在PHP代码中,我们需要创建一个新的PHPMailer实例,然后设置必要的参数,如发件人地址、收件人地址、邮件主题和内容。 ...