`
lupingui
  • 浏览: 159231 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

根据邮件地址获得邮件服务器

阅读更多
	/**
	 * 根据邮件地址,获得邮件服务器
	 * @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];
		}
	}

 

分享到:
评论
1 楼 q345080370 2010-08-11  
这个可以转换成C# 的语法吗?

相关推荐

    IMail邮件服务器

    2. **创建域**:安装完成后,你需要在IMail管理界面创建邮件域,这将定义邮件服务器可以处理的邮件地址空间。例如,你可以创建一个“example.com”的域,这样所有以@example.com结尾的邮箱都将由IMail服务器管理。 ...

    搜索的邮件地址搜索的邮件地址

    2. **域名和邮件服务器**:域名部分通常指的是邮件服务器的地址,如 `gmail.com` 或 `outlook.com`。这些大型服务提供商拥有强大的邮件处理系统,负责接收、发送和存储邮件。 3. **搜索邮件地址**:在需要大量寻找...

    如何让SynologyNAS成为邮件服务器.docx

    静态IP地址对于邮件服务器的稳定性和可靠性至关重要,推荐为邮件服务器分配一个静态IP。如果使用动态IP,可能需要通过DDNS(动态域名解析服务)来保证邮件的可靠传递。 其次,设置DNS记录是必要的,特别是MX记录和A...

    U-Mail邮件服务器软件最新windows版本

    【U-Mail邮件服务器软件最新windows版本】是一款专为Windows操作系统设计的专业邮件服务器软件,其最新版本为V9.8.57。这款软件提供免费下载,旨在为企业和个人用户提供高效、安全的邮件通信解决方案。 U-Mail邮件...

    基于Linux的邮件服务器的构建

    Linux作为开源且高度可定制的操作系统,是搭建邮件服务器的理想选择,因为其稳定性和灵活性都得到了广泛认可。 首先,我们需要了解电子邮件的工作原理。电子邮件系统主要遵循SMTP(Simple Mail Transfer Protocol)...

    树莓派安装postfix邮件服务1

    按照这些教程的步骤,你将得到一个高效、安全且易于管理的邮件服务器。不仅可以拥有个性化的电子邮件地址,还可以随时随地通过手机、平板或电脑安全地收发邮件。最重要的是,你的通信数据完全掌控在自己手中,不必...

    易邮件地址验证大师 V4.10.05

    如果邮件服务器返回成功响应,说明邮件地址可以正常接收邮件。 4. **邮件地址过滤**:软件还可以识别常见的邮件地址陷阱,如“noreply”或“abuse”等,这些地址通常不用于接收营销邮件,避免被标记为垃圾邮件。 5...

    测试邮件服务器性能的程序

    在IT行业中,测试电子邮件服务器的性能是至关重要的,因为邮件服务是企业通信的基础。这个“测试邮件服务器性能的程序”显然是一种专为Linux系统设计的工具,用于评估邮件服务器在处理大量邮件、并发连接和不同负载...

    邮件服务器解决方案

    邮件服务器解决方案是现代企业信息化建设的关键组成部分,它不仅提供了电子邮件服务,而且是构建协作平台的基础。邮件服务器通常采用标准的三层架构,确保高效稳定的数据处理和应用运行。 在这一架构中,最底层的...

    基于Java的邮件服务器的设计与实现

    ### 基于Java的邮件服务器的设计与实现 #### 引言 随着互联网技术的发展,邮件作为信息交流的重要工具,在日常生活中扮演着不可或缺的角色。为了提高邮件系统的性能、可维护性和扩展性,本文提出了一种基于Java...

    python实现下载pop3邮件保存到本地

    Python实现下载pop3邮件保存到本地的知识点涉及到使用Python进行网络编程,利用poplib模块与邮件服务器交互,以及使用正则表达式处理邮件内容。以下是详细介绍: 1. poplib模块介绍: poplib是Python标准库的一部分...

    用Delphi2010 实现邮件附件收发功能

    Host :指定邮件服务器,一般为pop3邮件服务器的地址,如 pop3.126.com。 Username :用户名,也就是邮箱名,如billanking2002@126.com。 Password :邮箱密码,在进行收发邮件时组件需要凭密码进行登录。 其它...

    ArGoSoft Mail Server 1.8.9.6 注册版(内附注册机) 邮箱服务器 邮件服务器 天涯浪子

    ArGoSoft Mail Server 1.8.9.6 是一款专为Windows操作系统设计的全功能邮件服务器软件。这款邮件服务器提供了POP3、SMTP以及FINGER等主要的互联网邮件协议服务,使得用户能够在本地环境中建立自己的邮件系统,进行...

    浅析Linux邮件服务器配置.pdf

    在安装时,需要配置 Sendmail 的基本配置文件sendmail.cf,包括设置域名、IP 地址、邮件服务器名称等信息。 四、邮件服务器配置 邮件服务器配置需要满足以下条件: * 配置 DNS 的 MX 记录,指向邮件服务器的域名...

    企业邮件服务器系统

    【企业邮件服务器系统】 企业邮件服务器系统是企业内部通信与外部交流的重要基础设施,它负责处理、存储和转发电子邮件,确保信息传递的安全、高效和稳定。邮件服务器系统在现代商业环境中扮演着不可或缺的角色,...

    imail8.2邮件服务器架设工具

    【imail8.2邮件服务器架设工具】是一款专业用于构建企业级邮件服务器的软件,它为用户提供了高效、安全的邮件通信环境。在本文中,我们将深入探讨imail8.2的主要功能、安装配置过程以及它在企业邮件管理中的应用。 ...

    本科毕设论文-—windows下构建邮件服务器.doc

    我们需要在DNS服务器中设置邮件服务器的域名和IP地址,以便用户可以通过域名来访问邮件服务器。 知识点7:实现邮件系统的搭建 在实现邮件系统的搭建时,我们需要将所有组件整合起来,包括邮件服务器、DNS服务器和...

Global site tag (gtag.js) - Google Analytics