/**
* 根据邮件地址,获得邮件服务器
* @param mail
* @return
* lupingui
* 2009-4-17
*/
public static String getSmtpHost(String mail){
//获得邮件Domain
int atMarkPosition = mail.indexOf("@");
if (atMarkPosition < 1){
return null;
}
String mailDomain = mail.substring(atMarkPosition + 1);
boolean isMxSuccessful = false;
//查询邮件交换记录
Lookup lookup = null;
try {
lookup = new Lookup(mailDomain, Type.MX);
lookup.run();
if(lookup.getResult() == Lookup.SUCCESSFUL){
isMxSuccessful = true;
}else{
lookup = new Lookup(mailDomain);
lookup.run();
if(lookup.getResult() != Lookup.SUCCESSFUL){
return null;
}
}
} catch (TextParseException ex) {
ex.printStackTrace();
return null;
}
//得到服务器列表
Record[] answers = lookup.getAnswers();
String[] hostArray = new String[answers.length];
for (int i = 0; i < answers.length; i++) {
Record record = answers[i];
Name name = record.getAdditionalName();
if(!isMxSuccessful){
name = record.getName();
}
int labelCount = name.labels();
StringBuffer sbf = new StringBuffer();
for (int j = 0; j < labelCount; j++) {
String labelString = name.getLabelString(j);
if(!labelString.equals("")){
sbf.append(labelString).append(".");
}
}
if(sbf.length() > 0 && sbf.charAt(sbf.length()-1) == '.'){
sbf.deleteCharAt(sbf.length()-1);
}
hostArray[i] = sbf.toString();
}
//返回,如果有多个则随机返回一个。
if(hostArray.length == 1){
return hostArray[0];
}else{
Random random = new Random();
int index = random.nextInt(hostArray.length);
return hostArray[index];
}
}
分享到:
相关推荐
2. **创建域**:安装完成后,你需要在IMail管理界面创建邮件域,这将定义邮件服务器可以处理的邮件地址空间。例如,你可以创建一个“example.com”的域,这样所有以@example.com结尾的邮箱都将由IMail服务器管理。 ...
2. **域名和邮件服务器**:域名部分通常指的是邮件服务器的地址,如 `gmail.com` 或 `outlook.com`。这些大型服务提供商拥有强大的邮件处理系统,负责接收、发送和存储邮件。 3. **搜索邮件地址**:在需要大量寻找...
静态IP地址对于邮件服务器的稳定性和可靠性至关重要,推荐为邮件服务器分配一个静态IP。如果使用动态IP,可能需要通过DDNS(动态域名解析服务)来保证邮件的可靠传递。 其次,设置DNS记录是必要的,特别是MX记录和A...
【U-Mail邮件服务器软件最新windows版本】是一款专为Windows操作系统设计的专业邮件服务器软件,其最新版本为V9.8.57。这款软件提供免费下载,旨在为企业和个人用户提供高效、安全的邮件通信解决方案。 U-Mail邮件...
Linux作为开源且高度可定制的操作系统,是搭建邮件服务器的理想选择,因为其稳定性和灵活性都得到了广泛认可。 首先,我们需要了解电子邮件的工作原理。电子邮件系统主要遵循SMTP(Simple Mail Transfer Protocol)...
按照这些教程的步骤,你将得到一个高效、安全且易于管理的邮件服务器。不仅可以拥有个性化的电子邮件地址,还可以随时随地通过手机、平板或电脑安全地收发邮件。最重要的是,你的通信数据完全掌控在自己手中,不必...
如果邮件服务器返回成功响应,说明邮件地址可以正常接收邮件。 4. **邮件地址过滤**:软件还可以识别常见的邮件地址陷阱,如“noreply”或“abuse”等,这些地址通常不用于接收营销邮件,避免被标记为垃圾邮件。 5...
在IT行业中,测试电子邮件服务器的性能是至关重要的,因为邮件服务是企业通信的基础。这个“测试邮件服务器性能的程序”显然是一种专为Linux系统设计的工具,用于评估邮件服务器在处理大量邮件、并发连接和不同负载...
邮件服务器解决方案是现代企业信息化建设的关键组成部分,它不仅提供了电子邮件服务,而且是构建协作平台的基础。邮件服务器通常采用标准的三层架构,确保高效稳定的数据处理和应用运行。 在这一架构中,最底层的...
### 基于Java的邮件服务器的设计与实现 #### 引言 随着互联网技术的发展,邮件作为信息交流的重要工具,在日常生活中扮演着不可或缺的角色。为了提高邮件系统的性能、可维护性和扩展性,本文提出了一种基于Java...
Python实现下载pop3邮件保存到本地的知识点涉及到使用Python进行网络编程,利用poplib模块与邮件服务器交互,以及使用正则表达式处理邮件内容。以下是详细介绍: 1. poplib模块介绍: poplib是Python标准库的一部分...
Host :指定邮件服务器,一般为pop3邮件服务器的地址,如 pop3.126.com。 Username :用户名,也就是邮箱名,如billanking2002@126.com。 Password :邮箱密码,在进行收发邮件时组件需要凭密码进行登录。 其它...
ArGoSoft Mail Server 1.8.9.6 是一款专为Windows操作系统设计的全功能邮件服务器软件。这款邮件服务器提供了POP3、SMTP以及FINGER等主要的互联网邮件协议服务,使得用户能够在本地环境中建立自己的邮件系统,进行...
在安装时,需要配置 Sendmail 的基本配置文件sendmail.cf,包括设置域名、IP 地址、邮件服务器名称等信息。 四、邮件服务器配置 邮件服务器配置需要满足以下条件: * 配置 DNS 的 MX 记录,指向邮件服务器的域名...
【企业邮件服务器系统】 企业邮件服务器系统是企业内部通信与外部交流的重要基础设施,它负责处理、存储和转发电子邮件,确保信息传递的安全、高效和稳定。邮件服务器系统在现代商业环境中扮演着不可或缺的角色,...
【imail8.2邮件服务器架设工具】是一款专业用于构建企业级邮件服务器的软件,它为用户提供了高效、安全的邮件通信环境。在本文中,我们将深入探讨imail8.2的主要功能、安装配置过程以及它在企业邮件管理中的应用。 ...
我们需要在DNS服务器中设置邮件服务器的域名和IP地址,以便用户可以通过域名来访问邮件服务器。 知识点7:实现邮件系统的搭建 在实现邮件系统的搭建时,我们需要将所有组件整合起来,包括邮件服务器、DNS服务器和...