`

common-mail 测试

 
阅读更多
package cas.mdm.opermanage.fileload.service;

import java.util.Map;

import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;

public class EmailTool {
	//smtp服务器域名
	private String hostName = "smtp.longshine.com";
	//目的地email地址
	private String destEmail;
	
	private String destName = "sir";
	//已方email地址
	private String fromEmail = "caoyitian@longshine.com";
	private String fromName = "caoyitian";
	private String subject = "a";
	private String content = "Hello";
	//用户名
	private String userName = "";
	//密码
	private String password = "";
	private MultiPartEmail  multiEmail;
	
	private  String obj2String(Object o){
		return o==null?"":o.toString();
	}
	public void applyProperty(Map map){
		this.hostName = this.obj2String(map.get("hostName"));
		this.destEmail = this.obj2String(map.get("destEmail"));
		this.destName = this.obj2String(map.get("destName"));
		this.fromEmail = this.obj2String(map.get("fromEmail"));
		this.fromName = this.obj2String(map.get("fromName"));
		this.subject = this.obj2String(map.get("subject"));
		this.userName = this.obj2String(map.get("userName"));
		this.password = this.obj2String(map.get("password"));
	}
	public EmailTool(){
		multiEmail = new MultiPartEmail();
	}
	public void addFile(String filePath,String decription,String name){
		if(multiEmail!=null){
			EmailAttachment attachment = new EmailAttachment();
			attachment.setPath(filePath);
			attachment.setName(name);
			attachment.setDescription(decription);
			attachment.setDisposition(EmailAttachment.ATTACHMENT);
			try {
				multiEmail.attach(attachment);
			} catch (EmailException e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void main(String[] args){
		EmailTool et = new EmailTool();
		et.addFile("d:/listenerDebug/a_b_03_yi01_20111120.xml", "", "xml file");
		System.out.println(et.send());
	}
	
	public boolean send(String dest){
		try {
			
			multiEmail.setHostName(hostName);
			multiEmail.addTo(dest, destName);
			multiEmail.setFrom(fromEmail, fromName);
			multiEmail.setSubject(subject);
			multiEmail.setMsg(content);
			multiEmail.setTLS(true);
			multiEmail.setAuthentication(userName, password);
		} catch (EmailException e) {
			e.printStackTrace();
			multiEmail = null;
		}
		if(multiEmail!=null){
			try{
				multiEmail.send();
				return true;
			}catch(Exception e){
				e.printStackTrace();
				return false;
			}
		}
		return false;
	}
	public boolean send(){
		return send(destEmail);
	}
	public String getHostName() {
		return hostName;
	}
	public void setHostName(String hostName) {
		this.hostName = hostName;
	}
	public String getDestEmail() {
		return destEmail;
	}
	public void setDestEmail(String destEmail) {
		this.destEmail = destEmail;
	}
	public String getDestName() {
		return destName;
	}
	public void setDestName(String destName) {
		this.destName = destName;
	}
	public String getFromEmail() {
		return fromEmail;
	}
	public void setFromEmail(String fromEmail) {
		this.fromEmail = fromEmail;
	}
	public String getFromName() {
		return fromName;
	}
	public void setFromName(String fromName) {
		this.fromName = fromName;
	}
	public String getSubject() {
		return subject;
	}
	public void setSubject(String subject) {
		this.subject = subject;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
}

 

分享到:
评论

相关推荐

    laravel-msgraph-mail:使用Microsoft的Graph API在Laravel中发送电子邮件

    经过不同公司(Microsoft 365商业)帐户的测试安装使用composer安装软件包: composer require wapacro/laravel-msgraph-mail将配置添加到您的mail.php配置文件中: 'mailers' => [ 'microsoft-graph' => [ '...

    VB 制作个人记事本

    '代码我已经测试好了 '也会给大家打包的 '下面来写入代码 '好了,这些是记事本最基本的应用 '希望大家可以写出一个属于自己的更多功能的记事本 '今天的教程就到这里了 '我们下次见 '以下是代码: '----------...

    【2021】UI自动化测试框架(Selenium3)

    适合人群: 【学习前提】 1. 具备python3语言基础 【学习人群】 1. 手工测试人员学习UI自动化测试技能 2. 开发人员转岗测试开发岗位 3. 如具有丰富的自动化测经验,本课程可能并不满足你 ...n Send_mail.py 发送邮件

    绝对好用的BI商务系统

    注:一定要填写你的E-mail地址,以更好的发挥我们的营销功能 4.安装成功 为了你更好的使用BIWEB WMS v5.8的所有功能,请按照以下方式配置: 1.注意config/global.inc.php中的两个语句。 define('__WEBCOMMON_ROOT',...

    新版Android开发教程.rar

    � 暂不具备 Push Mail 和 Office(DataViz 、 QuickOffice 计划近期推出 ) 功能,目前主要面向的是普通消费 者 用户,对商业用户支持尚弱。 Android Android Android Android 带来的影响 ANDROID 的推出后可能影响的...

    yii2-practical-enterprise-webapp-template:具备测试角色安全功能的企业应用程序模板,可以满足所有Web应用程序的需求

    Yii 2实用企业Webapp模板 Yii 2 Practical Enterprise Webapp Template是一个框架 Web应用程序模板,可供企业使用。 该模板旨在在团队开发环境中工作。 它支持在不同环境中部署应用程序。... mail/

    RegTestServiceBot:Registon LLC的测试服务机器人

    Yii 2高级项目模板 Yii 2 Advanced Project Template是应用程序,最适合... mail/ contains view files for e-mails models/ contains model classes used in both backend and frontend tests/ contains tests for

    softkomi_yii2_test:Softkomi测试YII2存储库

    目录结构common config/ contains shared configurations mail/ contains view files for e-mails models/ contains model classes used in both backend and frontend tests/ contains tests fo

    PHP基础教程 是一个比较有价值的PHP新手教程!

    你可以在苍蝇上画图,编写程序下载或者显示e-mail。你甚至可以完成网络相关的功能。最好的是,你可以选择你的PHP安装版本需要哪些功能。引用Nissan的Xterra的话来说就是PHP可以做到你想让它做到的一切而且无所不能! ...

    高清监控系统兼容所有网络摄像机

    Common User=普通用户 New User=新帐户 User already exist please check the input!=用户已存在请检查用户名! Please input user and password!=请输入用户名和密码! The confirm passwd is different from ...

    jsp探针 ver0.1

    Class.forName("javax.mail.Message"); supportMail = true; } catch (ClassNotFoundException ex) { } try { Class.forName("org.apache.commons.beanutils.MethodUtils"); supportBeanUtils = true; } catch ...

    IBM_AIX RS/6000培训教材

    11.4 COMMON DESKTOP ENVIRONMENT 58 11.4.1 Enabling and Disabling Desktop Autostart 58 11.4.2 手工启动CDE 58 11.4.3 手工停止CDE 58 第十二章 打印管理 59 12.1 创建一个打印队列 60 12.2 打印配置文件 60 ...

    计算机应用技术(实用手册)

    计算机应用技术 实用手册 Xnllz 2011.7.29 ...1.STANDARD CMOS SETUP(标准CMOS设定)用来设定日期、时间、软硬盘规格、工作类类型。...5.PNP/PCI Configurations 即插即用与PCI设备设定,一般为默认。...

    ZendFramework中文文档

    9.4.3. Basic Zend_Date Operations Common to Many Date Parts 9.4.3.1. List of Date Parts 9.4.3.2. List of Date Operations 9.4.4. Comparing Dates 9.4.5. Getting Dates and Date Parts 9.4.6. Working ...

    ASP.net实例光盘源码:

    Sample_03_05/Default.aspx 测试页面事件 Sample_03_05/GlobalClick.aspx 页面的事件 第4章(/ch04/) Sample_04_02/Connect.aspx 链接数据库 Sample_04_02/DataSetToXML.aspx 数据集转换...

Global site tag (gtag.js) - Google Analytics