JavaMail 使用总结 java/jsp发邮件 带附件
2009-07-19 08:46
387 查看
因为项目中有一个功能要自动发送邮件。之前没有接触过,便研究一番,现在讲一些代码供大家分享。其实这些代码也是在网上找到的,修改了。
网上的代码很多都是太繁琐了,其实不过就几条语句罢了。很多所谓的高手还把他们封装成一个个函数,一个个类,生怕别人不理解。
废话少说,先准备好需要的jar包 javamail包 activation包这些你在网上都能下载。如果用MyEclipse,里面自动集成好了。各位看官请看代码:
view plaincopy to clipboardprint?
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import javax.activation.*;
public class Mail {
public static void main(String[] args) {
Properties props = System.getProperties();
// 设置smtp服务器
props.setProperty("mail.smtp.host", "smtp.163.com");
// 现在的大部分smpt都需要验证了
props.put("mail.smtp.auth", "true");
Session s = Session.getInstance(props);
// 为了查看运行时的信息
s.setDebug(true);
// 由邮件会话新建一个消息对象
MimeMessage message = new MimeMessage(s);
try {
// 发件人
InternetAddress from = new InternetAddress("test@163.com");
message.setFrom(from);
// 收件人
InternetAddress to = new InternetAddress("test@126.com");
message.setRecipient(Message.RecipientType.TO, to);
// 邮件标题
message.setSubject("test");
String content = "测试内容";
// 邮件内容,也可以使纯文本"text/plain"
message.setContent(content, "text/html;charset=GBK");
/****下面代码是发送附件******
String fileName = "d://hello.txt";
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("Hi");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(fileName);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(fileName);
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);*/
message.saveChanges();
Transport transport = s.getTransport("smtp");
// smtp验证,就是你用来发邮件的邮箱用户名密码
transport.connect("smtp.163.com", "test", "pwd");
// 发送
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
以上就是一个完整的用javamail发送邮件的code,只要你修改stmp,发件人,用户名,密码
就能直接运行了。
当然,你可以根据自己的需要去扩展功能。比如:
你最近在泡一个mm,为了感动她,你决心每天发一封email情书感动她。
你可以先写好情书列表,用Java的定时器,每天凌晨定时发送,坚持让程序跑几个月,知道泡到mm。
情书可以这样写的:
亲爱的xx:
由于想你睡不着,又不敢手机骚扰,唯有将情思赋予信件给你
想你的00
凌晨3点
网上的代码很多都是太繁琐了,其实不过就几条语句罢了。很多所谓的高手还把他们封装成一个个函数,一个个类,生怕别人不理解。
废话少说,先准备好需要的jar包 javamail包 activation包这些你在网上都能下载。如果用MyEclipse,里面自动集成好了。各位看官请看代码:
view plaincopy to clipboardprint?
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import javax.activation.*;
public class Mail {
public static void main(String[] args) {
Properties props = System.getProperties();
// 设置smtp服务器
props.setProperty("mail.smtp.host", "smtp.163.com");
// 现在的大部分smpt都需要验证了
props.put("mail.smtp.auth", "true");
Session s = Session.getInstance(props);
// 为了查看运行时的信息
s.setDebug(true);
// 由邮件会话新建一个消息对象
MimeMessage message = new MimeMessage(s);
try {
// 发件人
InternetAddress from = new InternetAddress("test@163.com");
message.setFrom(from);
// 收件人
InternetAddress to = new InternetAddress("test@126.com");
message.setRecipient(Message.RecipientType.TO, to);
// 邮件标题
message.setSubject("test");
String content = "测试内容";
// 邮件内容,也可以使纯文本"text/plain"
message.setContent(content, "text/html;charset=GBK");
/****下面代码是发送附件******
String fileName = "d://hello.txt";
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("Hi");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(fileName);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(fileName);
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);*/
message.saveChanges();
Transport transport = s.getTransport("smtp");
// smtp验证,就是你用来发邮件的邮箱用户名密码
transport.connect("smtp.163.com", "test", "pwd");
// 发送
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
以上就是一个完整的用javamail发送邮件的code,只要你修改stmp,发件人,用户名,密码
就能直接运行了。
当然,你可以根据自己的需要去扩展功能。比如:
你最近在泡一个mm,为了感动她,你决心每天发一封email情书感动她。
你可以先写好情书列表,用Java的定时器,每天凌晨定时发送,坚持让程序跑几个月,知道泡到mm。
情书可以这样写的:
亲爱的xx:
由于想你睡不着,又不敢手机骚扰,唯有将情思赋予信件给你
想你的00
凌晨3点
相关文章推荐
- Java程序中使用JavaMail发送带图片和附件的邮件
- JavaMail基础知识7-JavaMail API使用之附件的处理
- Jsp+servlet+javabean使用Lucene3.6.2做一个简单数据库搜索的总结(2)
- Java Web知识点总结——JavaBean在JSP中的使用
- Jsp+servlet+javabean使用Lucene3.6.2做一个简单数据库搜索的总结(1)
- spring javamail发邮件附件中文名乱码的解决方案总结
- 『JAVA基础』使用JavaMail发邮件的实例
- 『JAVA基础』使用JavaMail发邮件的实例 (转载)
- Java中使用JavaMail多发邮件及邮件的验证和附件实现
- ACM-ICPC java(大数)使用总结
- 【工具使用】【文本编辑】使用editplus学习java的快捷键使用总结
- jsp使用自定义标签taglib分页系列——ColumntextTag.java
- javaWeb 使用jsp开发 foreach 标签
- java enum(枚举)使用详解 + 总结
- jsp页面使用Cookie---总结
- java web(jsp + servlet + javabean)学习心得总结
- 使用JSP构建的JavaWeb站点结构
- Java关键字final、static使用总结
- java中集合的使用总结
- Java关键字final、static使用总结