您的位置:首页 > 编程语言 > Java开发

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点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: