Java sendemail

jar 在下面自己下载
package org.mail;

import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;

/**
* 本程序用java来实现Email的发送,所用到的协议为:SMTP,端口号为25;<br>
* 方法:用Socket进行实现,打开客户端的Socket,并连接上服务器:<br>
* 如:Socket sockClient = new Socket("smtp.hanyastar.com",23);<br>
* 这表示发件方连接的是QQ邮箱的服务器,端口号为23
*
*/
public class Email {
/**
* 整个MIME邮件对象
*/
private MimeMessage mimeMsg;
/**
* 专门用来发送邮件的Session会话
*/
private Session session;
/**
* 封装邮件发送时的一些配置信息的一个属性对象
*/
private Properties props;
/**
* 发件人的用户名
*/
private String username;
/**
* 发件人的密码
*/
private String password;
/**
* 用来实现附件添加的组件
*/
private Multipart mp;

/**
* 发送参数初始化,有的服务器不需要用户验证,所以这里对用户名和密码进行初始化""
*
* @param smtp
* SMTP服务器的地址,比如要用QQ邮箱,哪么应为:"smtp.hanyastar.com",163为:"smtp.163.com"
*/
public Email(String smtp) {
username = "service@kssip.com";
password = "mimabugaoshuini";
// 设置邮件服务器
setSmtpHost(smtp);
// 创建邮件
createMimeMessage();
}

/**
* 设置发送邮件的主机(JavaMail需要Properties来创建一个session对象。
* 它将寻找字符串"smtp.hanyastar.com",属性值就是发送邮件的主机);
*
* @param hostName
*/
public void setSmtpHost(String hostName) {
System.out.println("设置系统属性:smtp.exmail.qq.com = " + hostName);
if (props == null)
props = System.getProperties();
props.put("mail.smtp.host", hostName);
}

/**
* (这个Session类代表JavaMail 中的一个邮件session. 每一个基于
* JavaMail的应用程序至少有一个session但是可以有任意多的session。 在这个例子中,
* Session对象需要知道用来处理邮件的SMTP 服务器。
*/
public boolean createMimeMessage() {
try {
System.out.println("准备获取邮件会话对象!");
// 用props对象来创建并初始化session对象
session = Session.getDefaultInstance(props, null);
} catch (Exception e) {
System.err.println("获取邮件会话对象时发生错误!" + e);
return false;
}
System.out.println("准备创建MIME邮件对象!");
try {
// 用session对象来创建并初始化邮件对象
mimeMsg = new MimeMessage(session);
// 是否回执
//mimeMsg.setHeader("Disposition-Notification-To","1");
// 生成附件组件的实例
mp = new MimeMultipart();
} catch (Exception e) {
System.err.println("创建MIME邮件对象失败!" + e);
return false;
}
return true;
}

/**
* 设置SMTP的身份认证
*/
public void setNeedAuth(boolean need) {
System.out.println("设置smtp身份认证:mail.smtp.auth = " + need);
if (props == null) {
props = System.getProperties();
}
if (need)
props.put("mail.smtp.auth", "true");
else
props.put("mail.smtp.auth", "false");
}

/**
* 进行用户身份验证时,设置用户名和密码
*/
public void setNamePass(String name, String pass) {
System.out.println("程序得到用户名与密码");
username = name;
password = pass;
}

/**
* 设置邮件主题
*
* @param mailSubject
* @return
*/
public boolean setSubject(String mailSubject) {
System.out.println("设置邮件主题!");
try {
mimeMsg.setSubject(mailSubject);
} catch (Exception e) {
System.err.println("设置邮件主题发生错误!");
return false;
}
return true;
}

/**
* 设置邮件内容,并设置其为文本格式或HTML文件格式,编码方式为UTF-8
*
* @param mailBody
* @return
*/
public boolean setBody(String mailBody) {
try {
System.out.println("设置邮件体格式");
BodyPart bp = new MimeBodyPart();
bp.setContent(
"<meta http-equiv=Content-Type content=text/html; charset=UTF-8>"
+ mailBody, "text/html;charset=UTF-8");
// 在组件上添加邮件文本
mp.addBodyPart(bp);
} catch (Exception e) {
System.err.println("设置邮件正文时发生错误!" + e);
return false;
}
return true;
}

/**
* 增加发送附件
*
* @param filename
* 邮件附件的地址,只能是本机地址而不能是网络地址,否则抛出异常
* @return
*/
public boolean addFileAffix(String filename) {
System.out.println("增加邮件附件:" + filename);
try {
BodyPart bp = new MimeBodyPart();
FileDataSource fileds = new FileDataSource(filename);
bp.setDataHandler(new DataHandler(fileds));
// 发送的附件前加上一个用户名的前缀
bp.setFileName(fileds.getName());
// 添加附件
mp.addBodyPart(bp);
} catch (Exception e) {
System.err.println("增加邮件附件:" + filename + "发生错误!" + e);
return false;
}
return true;
}

/**
* 设置发件人地址
*
* @param from
* 发件人地址
* @return
*/
public boolean setFrom(String from) {
System.out.println("设置发信人!");
try {
mimeMsg.setFrom(new InternetAddress(from));
} catch (Exception e) {
return false;
}
return true;
}

/**
* 设置收件人地址
*
* @param to
* 收件人的地址
* @return
*/
public boolean setTo(String to) {
System.out.println("设置收信人");
if (to == null)
return false;
try {
mimeMsg.setRecipients(javax.mail.Message.RecipientType.TO,
InternetAddress.parse(to));
} catch (Exception e) {
return false;
}
return true;
}

/**
* 发送附件
*
* @param copyto
* @return
*/
public boolean setCopyTo(String copyto) {
System.out.println("发送附件到");
if (copyto == null)
return false;
try {
mimeMsg.setRecipients(javax.mail.Message.RecipientType.CC,
InternetAddress.parse(copyto));
} catch (Exception e) {
return false;
}
return true;
}

/**
* 发送邮件
*
* @return
*/
public boolean sendout() {
try {
mimeMsg.setContent(mp);
mimeMsg.saveChanges();
System.out.println("正在发送邮件....");
Session mailSession = Session.getInstance(props, null);
Transport transport = mailSession.getTransport("smtp");
// 真正的连接邮件服务器并进行身份验证
transport.connect((String) props.get("service@kssip.com"),
username, password);
// 发送邮件
transport.sendMessage(mimeMsg, mimeMsg
.getRecipients(javax.mail.Message.RecipientType.TO));
System.out.println("发送邮件成功!");
transport.close();
} catch (Exception e) {
System.err.println("邮件发送失败!" + e.getMessage());
e.printStackTrace();
return false;
}
return true;
}
}

测试类
package org.mail;

public class EmailTest{

// subject 主题
// bodyContent 内容
// to 收件人
public static boolean sendMailForJavaByBoLun(String subject , String filename , String to){
try{

Email themail = new Email("smtp.exmail.qq.com");
themail.setNeedAuth(true);
themail.setSubject(subject);
//themail.setBody(bodyContent);
themail.addFileAffix(filename);
themail.setTo(to);
// 填写邮件发件人信息描述。
themail.setFrom(new String("service@kssip.com"));
// 填写发件人邮箱与密码
themail.setNamePass("service@kssip.com", "mimabugaoshuini");
if(themail.sendout())
return true;
else
return false;
}catch(Exception e){
e.printStackTrace();
return false;
}
}
public static void main(String[] args){

sendMailForJavaByBoLun("Demon","C:/cdrbiao/downloadcdr.txt","1069897836@qq.com,19580882@qq.com");

}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园信息化系统解决方案旨在通过先进的信息技术,实现教育的全方位创新和优质资源的普及共享。该方案依据国家和地方政策背景,如教育部《教育信息化“十三五”规划》和《教育信息化十年发展规划》,以信息技术的革命性影响为指导,推进教育信息化建设,实现教育思想和方法的创新。 技术发展为智慧校园建设提供了强有力的支撑。方案涵盖了互连互通、优质资源共享、宽带网络、移动APP、电子书包、电子教学白板、3D打印、VR虚拟教学等技术应用,以及大数据和云计算技术,提升了教学数据记录和分析水平。此外,教育资源公共服务平台、教育管理公共服务平台等平台建设,进一步提高了教学、管控的效率。 智慧校园系统由智慧教学、智慧管控和智慧办公三大部分组成,各自具有丰富的应用场景。智慧教学包括微课、公开课、精品课等教学资源的整合和共享,支持在线编辑、录播资源、教学分析等功能。智慧管控则通过平安校园、可视对讲、紧急求助、视频监控等手段,保障校园安全。智慧办公则利用远程视讯、无纸化会议、数字会议等技术,提高行政效率和会议质量。 教育录播系统作为智慧校园的重要组成部分,提供了一套满足学校和教育局需求的解决方案。它包括标准课室、微格课室、精品课室等,通过自动五机位方案、高保真音频采集、一键式录课等功能,实现了优质教学资源的录制和共享。此外,录播系统还包括互动教学、录播班班通、教育中控、校园广播等应用,促进了教育资源的均衡化发展。 智慧办公的另一重点是无纸化会议和数字会议系统的建设,它们通过高效的文件管理、会议文件保密处理、本地会议的音频传输和摄像跟踪等功能,实现了会议的高效化和集中管控。这些系统不仅提高了会议的效率和质量,还通过一键管控、无线管控等设计,简化了操作流程,使得会议更加便捷和环保。 总之,智慧校园信息化系统解决方案通过整合先进的信息技术和教学资源,不仅提升了教育质量和管理效率,还为实现教育均衡化和资源共享提供了有力支持,推动了教育现代化的进程。
智慧校园信息化系统解决方案旨在通过先进的信息技术,实现教育的全方位创新和优质资源的普及共享。该方案依据国家和地方政策背景,如教育部《教育信息化“十三五”规划》和《教育信息化十年发展规划》,以信息技术的革命性影响为指导,推进教育信息化建设,实现教育思想和方法的创新。 技术发展为智慧校园建设提供了强有力的支撑。方案涵盖了互连互通、优质资源共享、宽带网络、移动APP、电子书包、电子教学白板、3D打印、VR虚拟教学等技术应用,以及大数据和云计算技术,提升了教学数据记录和分析水平。此外,教育资源公共服务平台、教育管理公共服务平台等平台建设,进一步提高了教学、管控的效率。 智慧校园系统由智慧教学、智慧管控和智慧办公三大部分组成,各自具有丰富的应用场景。智慧教学包括微课、公开课、精品课等教学资源的整合和共享,支持在线编辑、录播资源、教学分析等功能。智慧管控则通过平安校园、可视对讲、紧急求助、视频监控等手段,保障校园安全。智慧办公则利用远程视讯、无纸化会议、数字会议等技术,提高行政效率和会议质量。 教育录播系统作为智慧校园的重要组成部分,提供了一套满足学校和教育局需求的解决方案。它包括标准课室、微格课室、精品课室等,通过自动五机位方案、高保真音频采集、一键式录课等功能,实现了优质教学资源的录制和共享。此外,录播系统还包括互动教学、录播班班通、教育中控、校园广播等应用,促进了教育资源的均衡化发展。 智慧办公的另一重点是无纸化会议和数字会议系统的建设,它们通过高效的文件管理、会议文件保密处理、本地会议的音频传输和摄像跟踪等功能,实现了会议的高效化和集中管控。这些系统不仅提高了会议的效率和质量,还通过一键管控、无线管控等设计,简化了操作流程,使得会议更加便捷和环保。 总之,智慧校园信息化系统解决方案通过整合先进的信息技术和教学资源,不仅提升了教育质量和管理效率,还为实现教育均衡化和资源共享提供了有力支持,推动了教育现代化的进程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值