package common;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GetEmail {
public static int MAXEMAILLEN = 256;
/**
* 从指定的字符串中提取Email
*
*/
public static String parse(String content) {
String email = null;
if (content==null || content.length()<1) {
return email;
}
//找出含有@
int beginPos;
int i;
String token = "@";
String preHalf="";
String sufHalf = "";
beginPos = content.indexOf(token);
if (beginPos>-1) {
//前项扫描
String s = null;
i= beginPos;
while(i>0) {
s = content.substring(i-1,i);
if (isLetter(s))
preHalf = s+preHalf;
else
break;
i--;
}
//后项扫描
i= beginPos+1;
while( i<content.length()) {
s = content.substring(i,i+1);
if (isLetter(s))
sufHalf = sufHalf +s;
else
break;
i++;
}
//判断合法性
email = preHalf + "@" + sufHalf;
if (email.length()>MAXEMAILLEN) {
return null;
}
}
return email;
}
/**
* 判断是不是合法Email
*
*/
public static String isEmail(String email) {
try {
if (email==null || email.length()<1) {
return null;
}
String check = "^([0-9a-zA-Z]+[_.0-9a-zA-Z-]+)@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2,3})$";
Pattern regex = Pattern.compile(check);
Matcher matcher = regex.matcher(email);
boolean isMatched = matcher.matches();
if(isMatched) {
return email;
} else {
return null;
}
} catch (RuntimeException e) {
return null;
}
}
/**
* 判断是不是合法字符
*
*/
public static boolean isLetter(String c) {
boolean result = false;
if (c==null || c.length()<0)
return false;
//a-z
if (c.compareToIgnoreCase("a")>=0 && c.compareToIgnoreCase("z")<=0)
return true;
//0-9
if (c.compareToIgnoreCase("0")>=0 && c.compareToIgnoreCase("9")<=0)
return true;
//. - _
if (c.equals(".") || c.equals("-") || c.equals("_") )
return true;
return result;
}
}
分享到:
相关推荐
Java Email发送程序是一种常见的开发需求,特别是在企业级应用中,用于发送通知、验证邮件或客户服务。这个程序通常基于JavaMail API来实现,它是一个开源的Java库,允许开发者在Java应用中发送和接收电子邮件。本篇...
收集到的邮箱信息将被保存在名为`email.txt`的文件中,便于用户后续查看或进一步处理。 该工具的核心技术主要涉及以下几个方面: 1. **网络爬虫**:程序首先需要能够遍历网页,这通常通过网络爬虫技术实现。爬虫会...
标题中的“发送EMail的小程序”表明这是一个用于发送电子邮件的应用程序,可能是一个简单的桌面程序,体积为3200kb,意味着它不占用过多的磁盘空间,适合个人或小型团队使用。描述中的内容与标题相同,没有提供额外...
下面是一个简单的Python ESMTP邮件发送程序示例: ```python import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText # 设置SMTP服务器和端口 smtp_server = "smtp...
根据给定的小程序标题“小程序(在网页上找Email地址)”及描述“这个程序的作用是在任何一个网页上面得到源码,并且找到Email地址”,我们可以总结出以下相关知识点: ## 小程序功能概述 该小程序主要功能是抓取...
在Android平台上,开发一款能够发送电子邮件的应用程序,通常会利用Intent机制来实现。Intent是Android系统中的一个核心组件,它负责在应用程序之间传递消息,启动服务或者启动新的Activity。在这个场景下,我们主要...
在IT领域,C#是一种广泛使用的编程语言,尤其在开发Windows应用程序、Web应用程序以及服务器端应用时。在本场景中,我们关注的是使用C#来编写一个电子邮件发送程序。这通常涉及到.NET框架中的System.Net.Mail命名...
在给定的"用java编写的Email 源程序"中,我们可以看到这是一份使用Java实现的SMTP(Simple Mail Transfer Protocol)邮件发送功能的源代码。SMTP是互联网上用于发送电子邮件的标准协议。这个程序可能包含了设置、...
JavaMail API是一个开源的库,提供了丰富的类和接口来处理SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)等邮件服务。这些协议是电子邮件系统的核心,分别用于发送、接收和管理邮件。 ...
在处理MIME邮件时,我们还需要解析邮件中的MIME结构,这通常涉及到读取邮件头信息,识别MIME类型的边界,然后逐个处理每个部分。这可能包括解码Base64编码的数据,或者提取嵌入的资源。 开发这样的程序时,有几个...
4. `smtpDoc.cpp`和`smtpView.cpp`:在MFC(Microsoft Foundation Classes)框架中,`Doc`和`View`类分别代表文档和视图,这是MFC应用程序设计模式的一部分,用于处理数据和显示数据的界面。 5. `MainFrm.cpp`:...
具体实现细节可能在提供的文档`一份完完整整的发送email邮件的程序).doc`中有所阐述。 总之,创建一个电子邮件程序涉及网络编程、邮件协议的理解以及使用.NET框架中的相关类库。通过掌握这些知识,你可以构建出能够...
在VC++(Visual C++)开发环境中,"VC简单发EMAIL"是一个小型应用程序,它利用用户的默认电子邮件设置来实现自动发送邮件的功能。这个程序对于那些需要集成电子邮件发送功能的开发者来说,是一个简单易懂的起点。...
本资源“Email源码下载(一个接收邮件程序)”提供了一个实用的学习实例,帮助开发者深入理解邮件传输的过程以及相关网络协议。下面将详细阐述相关知识点。 1. **SMTP与POP3协议**:邮件的发送和接收主要依赖两种...
本示例是一个用C++语言编写的简易电子邮件程序,它使用户能够与SMTP(简单邮件传输协议)服务器进行交互,完成邮件的发送,同时也可能支持POP3或IMAP(邮局协议)来收取邮件。下面将详细介绍涉及的知识点。 1. **...
总的来说,这个“发送Email程序”展示了如何在C++ Builder环境中利用特定控件实现邮件服务功能。通过学习这个程序的源码,开发者可以掌握网络通信的基本原理,了解POP3和SMTP协议的运用,并提升在C++环境下进行网络...
在分析源码时,可以先从这几个关键部分入手,逐步理解Email程序如何与服务器通信、如何存储邮件数据、如何呈现用户界面以及如何处理用户的操作。通过阅读源码,我们可以学习到Android系统中如何设计和实现一个完整的...
`Email::Sender::Transport::Sendmail`则允许通过系统本地的sendmail程序发送邮件,这在某些环境可能更为方便。 在提供的压缩包文件`Perl Email Send`中,可能包含了示例的Perl脚本或配置文件,演示如何使用`Mail::...
【描述】这个Email程序源码专为Android设备设计,核心功能集中在邮件的发送上。虽然描述中没有提及接收邮件或其他高级功能,但我们可以推断,该源码可能提供了一个基础的、用户友好的界面,允许用户输入收件人、主题...
【自制发送Email程序】 在Android应用开发中,发送电子邮件是一个常见的功能,许多用户可能需要通过应用程序分享信息或者发送反馈。本教程将详细讲解如何利用Intent实现一个自制的发送Email程序。 1. **Intent基础...