在实际的工作开中,有时候肯定是有发送邮件的需求,所有先练习了下,这里使用的commos-emai组件和Java mail的jar包来实现的。顺便将这个应用写成Java swing程序,就算是复习swing开发了,小工具只能支持最简单的邮件发送,目前还不能上传附件。以后会跟进!
这部分就是发送邮件的核心方法,还是很easy的
public void sendMail(String hostName,String emailAddress,String password,String addTo,String addBcc,String addCc,String subject,String msg,String showName,boolean ischeck) throws EmailException{
SimpleEmail email = new SimpleEmail();
email.setTLS(ischeck);
email.setHostName(hostName);//邮件服务器
email.setAuthentication(emailAddress, password);//smtp认证的用户名和密码
email.addTo(addTo);
if(addCc != null && !"".equals(addCc)){
email.addBcc(addCc);
}
if(addBcc != null && !"".equals(addBcc)){
email.addBcc(addBcc);//密送者
}
if(showName !=null && !"".equals(showName)){
email.setFrom(emailAddress, showName);//发信者
}else{
email.setFrom(emailAddress);//发信者
}
email.setSubject(subject);
email.setCharset("UTF-8");//编码格式
email.setMsg(msg);
email.send();
}
下面就是swing的东西了,主要是书写繁琐。难道不大,展示部分代码
public void showFrame(){
//实现中心显示
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = ((int)d.width - 400) / 2;
int y = ((int)d.height - 450) / 2;
this.setBounds(x, y, 400, 450);
this.setTitle("邮件发送客户端");
this.setVisible(true);
this.setResizable(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
/**
* 验证操作
* @return Boolean
*/
private Boolean check() {
boolean flag = true;
emailaddress = this.emailText.getText();
addto = this.addtoText.getText();
password = new String(this.passwordField.getPassword());
subject = this.subjectText.getText();
msg = this.textAreaMsg.getText();
if(emailaddress == null || "".equals(emailaddress)){
JOptionPane.showMessageDialog(this, "Email地址不能为空");
flag = false;
}else if(password == null || "".equals(password)){
JOptionPane.showMessageDialog(this, "密码不能为空");
flag = false;
}else if(addto == null || "".equals(addto)){
JOptionPane.showMessageDialog(this, "收件人邮箱不能为空");
flag = false;
}else if(subject == null || "".equals(subject)){
JOptionPane.showMessageDialog(this, "主题不能为空");
flag = false;
}else if(msg == null || "".equals(msg)){
JOptionPane.showMessageDialog(this, "邮件内容不能为空");
flag = false;
}else{
flag = true;
}
return flag;
}
if(e.getActionCommand().equals("发送")){
if(check()){
SendMail sendMail = new SendMail();
try {
sendMail.sendMail(hostName, emailaddress, password, addto, addBcc, addCc, subject, msg, showName, ischeck);
JOptionPane.showMessageDialog(this, "邮件发送成功!");
} catch (EmailException e1) {
JOptionPane.showMessageDialog(this, "邮件发送失败!"+ e1.getMessage());
}
}
}
ok,主要就这么多了,工程在附件里
分享到:
相关推荐
通过以上介绍,我们可以看出"commos-email邮件发送类"是一个非常实用的工具,能够帮助开发者快速实现邮件发送功能,而无需深入了解底层的SMTP协议细节。在实际项目中,只要根据自身需求配置好邮件发送器,就可以轻松...
在Java Web应用中,如果需要实现用户通过表单上传文件的功能,Apache Commons IO库是一个很好的选择,它可以与Servlet、Spring MVC等框架结合使用,提供稳健的文件上传解决方案。 总的来说,"commons-io,upload包...
Java使用Apache Commons FileUpload实现文件上传与下载是一个常见的任务,特别是在开发Web应用程序时。Apache Commons FileUpload是一个专门处理HTTP协议中的多部分/形式数据(multipart/form-data)的库,这通常...
Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现...它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工具
commons-pool2-2.3.jar
`sources.jar`通常包含了源代码,开发者可以查看和学习库的内部实现;而`.jar`文件是编译后的Java类库,可以直接在Java项目中引用,用于运行时调用。 使用这些库时,开发者需要导入对应的依赖,例如在Maven项目中,...
赠送jar包:commons-lang3-3.4.jar; 赠送原API文档:commons-lang3-3.4-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
commons-io-2.6.jar
以上只是Apache Commons 库中的一部分功能,实际上它还有更多模块,如Email、JXPath、Modeler等,覆盖了广泛的编程需求。使用这些工具,开发者可以更高效、更稳定地完成各种复杂的任务,同时减少代码的复杂性和错误...
commons-io-1.2.jar
commons-codec-1.16.0.jar Base64编码和解码
- `ObjectInputStream` 和 `ObjectOutputStream` 的使用,允许对象的序列化到文件,以便于存储或传输,而 `deserialize()` 和 `serialize()` 方法提供了一种简单的接口来实现这一过程。 以上只是 `commons-io-2.6....
apache提供了一个加密包commons-codec,里面提供了常用的编解码方法。这里提供了commons-codec-1.15.jar文件,供大家使用。
例如,首先通过`activation.jar`解析邮件格式,然后利用`commons-email-1.1.jar`构建邮件并设置各种属性,最后通过`mail.jar`连接邮件服务器并发送邮件。这些库的组合使用,使得在Java环境中处理邮件变得相当便捷。 ...
本主题主要关注如何实现文件上传,并介绍与之相关的两个关键库:Apache Commons IO和Apache Commons FileUpload。 首先,Apache Commons IO是Apache软件基金会的一个项目,提供了大量的Java输入/输出(I/O)类来...
用于压缩/解压缩的java开发工具包,基本上主流格式全包含,其中apache-common-compress内有5个jar包,两个是test的不用管,剩余三个,一个是源码包,一个是开发包另一个是javadoc。解压除RAR外的所有格式。...
commons-dbcp2-2.7.0.jar用于Java连接数据库的使用,方便操作,简化代码,对于新入手学习JDBC的朋友可以尝试使用,idea 用DBCP连接数据库时必备jar包
总的来说,"commos包:包含所有,含源码"可能是一个全面的开源软件解决方案,其中"common"子目录可能是核心功能的实现。对于开发者来说,这样的资源包提供了极大的便利,他们可以通过研究源码学习新的技术,解决问题...
Apache commons-pool本质上是"对象池",即通过一定的规则来维护对象集合的容器;commos-pool在很多场景中,用来实现"连接池"/"任务worker池"等,大家常用的dbcp数据库连接池,也是基于commons-pool实现.