`
123629996
  • 浏览: 294455 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

使用commos-email实现简单的邮件发送

阅读更多

在实际的工作开中,有时候肯定是有发送邮件的需求,所有先练习了下,这里使用的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邮件发送类

    通过以上介绍,我们可以看出"commos-email邮件发送类"是一个非常实用的工具,能够帮助开发者快速实现邮件发送功能,而无需深入了解底层的SMTP协议细节。在实际项目中,只要根据自身需求配置好邮件发送器,就可以轻松...

    commos -io,upload包

    在Java Web应用中,如果需要实现用户通过表单上传文件的功能,Apache Commons IO库是一个很好的选择,它可以与Servlet、Spring MVC等框架结合使用,提供稳健的文件上传解决方案。 总的来说,"commons-io,upload包...

    JAVA使用commos-fileupload实现文件上传与下载实例解析

    Java使用Apache Commons FileUpload实现文件上传与下载是一个常见的任务,特别是在开发Web应用程序时。Apache Commons FileUpload是一个专门处理HTTP协议中的多部分/形式数据(multipart/form-data)的库,这通常...

    commos日志

    Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现...它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工具

    commons-pool2-2.3.jar

    commons-pool2-2.3.jar

    commons-codec

    `sources.jar`通常包含了源代码,开发者可以查看和学习库的内部实现;而`.jar`文件是编译后的Java类库,可以直接在Java项目中引用,用于运行时调用。 使用这些库时,开发者需要导入对应的依赖,例如在Maven项目中,...

    commons-lang3-3.4-API文档-中英对照版.zip

    赠送jar包:commons-lang3-3.4.jar; 赠送原API文档:commons-lang3-3.4-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    org.apache.commosjar包

    以上只是Apache Commons 库中的一部分功能,实际上它还有更多模块,如Email、JXPath、Modeler等,覆盖了广泛的编程需求。使用这些工具,开发者可以更高效、更稳定地完成各种复杂的任务,同时减少代码的复杂性和错误...

    commons-io-1.2.jar

    commons-io-1.2.jar

    commons-io-2.6.jar

    commons-io-2.6.jar

    commons-codec-1.15.jar

    apache提供了一个加密包commons-codec,里面提供了常用的编解码方法。这里提供了commons-codec-1.15.jar文件,供大家使用。

    commons-io-2.6.jar下载

    - `ObjectInputStream` 和 `ObjectOutputStream` 的使用,允许对象的序列化到文件,以便于存储或传输,而 `deserialize()` 和 `serialize()` 方法提供了一种简单的接口来实现这一过程。 以上只是 `commons-io-2.6....

    java mail 开发用到的三个jar 包

    例如,首先通过`activation.jar`解析邮件格式,然后利用`commons-email-1.1.jar`构建邮件并设置各种属性,最后通过`mail.jar`连接邮件服务器并发送邮件。这些库的组合使用,使得在Java环境中处理邮件变得相当便捷。 ...

    文件上传的架包

    本主题主要关注如何实现文件上传,并介绍与之相关的两个关键库:Apache Commons IO和Apache Commons FileUpload。 首先,Apache Commons IO是Apache软件基金会的一个项目,提供了大量的Java输入/输出(I/O)类来...

    commons-dbcp2-2.7.0.jar

    commons-dbcp2-2.7.0.jar用于Java连接数据库的使用,方便操作,简化代码,对于新入手学习JDBC的朋友可以尝试使用,idea 用DBCP连接数据库时必备jar包

    commos包:包含所有,含源码

    总的来说,"commos包:包含所有,含源码"可能是一个全面的开源软件解决方案,其中"common"子目录可能是核心功能的实现。对于开发者来说,这样的资源包提供了极大的便利,他们可以通过研究源码学习新的技术,解决问题...

    commons-pool-1.5.6-bin.zip

    Apache commons-pool本质上是"对象池",即通过一定的规则来维护对象集合的容器;commos-pool在很多场景中,用来实现"连接池"/"任务worker池"等,大家常用的dbcp数据库连接池,也是基于commons-pool实现.

    commons-collections:Apache Commons 集合

    与 Apache Commons Collections 的使用相关的问题应该发布到。 我在哪里可以获得最新版本? 您可以从我们的下载源代码和二进制文件。 或者,您可以从中央 Maven 存储库中提取它: < groupId>org.apache....

    apache commos cli 1.4 源码

    - 使用`@Option`注解:通过在字段上添加`@Option`注解,可以简化配置,实现命令行参数与类字段的绑定。 7. **帮助和自动生成文档** - `HelpFormatter`类:用于格式化帮助信息,包括选项、参数和简短的使用示例。 ...

Global site tag (gtag.js) - Google Analytics