java实现简单邮件发送,采用Spring mail

本文详细介绍了如何使用Spring框架结合JavaMail API发送邮件,包括配置SMTP服务器、设置邮件内容和触发定时任务进行邮件发送的过程。同时,还提供了解决在JDK1.5环境下找不到相关邮件库的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单邮件发送采用Spring自动mail

在网上收集了一些资料,看了一下,做了一个简单的邮件发送(采用163的邮件服务器,各位也可以采用自己公司的,替换host和端口号及邮件帐户信息即可),新注册了一个163的邮箱,然后开始行动。

1.感谢网上的各位大侠,简单学习了一下,作了如下代码,感觉就像站在各位巨人的肩上:
 public static void sentMail(Host host) {

JavaMailSenderImpl senderimpl = new JavaMailSenderImpl();

Properties properties = new Properties();
properties.setProperty("mail.smtp.auth", "true");
senderimpl.setJavaMailProperties(properties);
// 设定mail server
senderimpl.setHost("smtp.163.com");
//设置用户名和密码
senderimpl.setUsername("lenovo*******");
senderimpl.setPassword("*********");
//建立邮件消息

SimpleMailMessage mailmessage = new SimpleMailMessage();
//设置收件人
String[] array = new String[]{"*******@lenovomobile.com"};
mailmessage.setTo(array);
//设置寄件人
mailmessage.setFrom("lenovo******@163.com");
//设置邮件主题
mailmessage.setSubject(host.getUrl() + " 服务异常警告");
//设置邮件内容
mailmessage.setText(host.getDns() + ":" + host.getPort() + " 服务异常警告");
//发送邮件
senderimpl.send(mailmessage);

System.out.println("Send Mail success.....");


}


简单说明一下,Host 是自己作的一个对象,带过来一些自己设置的属性。

2.调用
for (int i = 0; i < hostlist.size(); i++) {
Host host = (Host) hostlist.get(i);
try {
Socket s = new Socket(host.getDns(), Integer.parseInt(host.getPort()));
System.out.println(s.getLocalAddress() + "可以访问" + host.getUrl() + "上的端口" + host.getPort() + "的服务");
s = null;
//return true;
} catch (Exception e) {
e.printStackTrace();
//this.cms.insertPingDetail(host);
Helper.sentMail(host);
}
}


这是一段监测服务器端口号的程序,出现异常是则通过调用Helper.sentMail(host);方法来发送邮件。

3.关于定时触发:采用了quartz的触发方式,在servlet文件中配置。
<property name="cronExpression" value="0 42 7,11,14,16,18 * * ?" />

这里给出触发时间的配置,即每天的7,11,14,16,18点的42分触发。

4.关于在jdk1.5下找不到的javax.mail.*的文件的问题,请将附件的中mail.jar和activation.jar 这两个包引入到jdk1.5\jre\lib\ext的文件夹中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值