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

JavaEmail的使用之邮件发送

2012-10-26 10:58 537 查看
    有时我们在做程序的时候需要用到收发邮件这件事了...所以一下是JavaEmail这个组件邮件发送的用法了.

首先要导入javamail1_4_4.zip中的几个包...大家可以到官网下载!

package com.zuxia.test;

import java.util.Date;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class SendMessage {

public static void main(String[] args) {
//创建Session对象
Properties prop=new Properties();
prop.put("mail.smtp.auth", "true");
Session session=Session.getDefaultInstance(prop);

//创建一封邮件
MimeMessage msg=new MimeMessage(session);

//设置相关参数
try {

//发件人
msg.setFrom(new InternetAddress("发件人的地址"));

//收件人
msg.setRecipient(RecipientType.TO, new InternetAddress("收件人的地址"));

//主题
msg.setSubject("这是我用程序所发送的邮件哦......o.o这是带有html内容的哦...");

//内容1
//msg.setText("这是普通的文本内容...");

//内容2(html内容)这是带有html的内容哦
BodyPart content=new MimeBodyPart();
String str="我是邮件内容哦,这是带有html的内容哦...点击我连接到<a href='http://www.baidu.com'>百度</a>";
str+="<img src='http://t2.baidu.com/it/u=455668578,3458935872&fm=25&gp=0.jpg' />";

content.setContent(str, "text/html;charset=UTF-8");//设置文本的样式以及编码的格式

//内容3(这是带有附件形式的)

//            BodyPart attachment=new MimeBodyPart();
//            //文件源
//            FileDataSource fds=new FileDataSource("e:/a.xls");
//
//            attachment.setDataHandler(new DataHandler(fds));//设置句柄
//
//            //设置附件的名字
//            attachment.setFileName(MimeUtility.encodeText(fds.getName(), "UTF-8", null));
//

//必须将内容转换成邮件中指定的类型
Multipart mp=new MimeMultipart();
mp.addBodyPart(content);
//mp.addBodyPart(attachment);

msg.setContent(mp);

//msg.setContent(mp);

//发送时间
msg.setSentDate(new Date());

//准备发送
Transport tran=session.getTransport("smtp");

//连接到服务器
tran.connect("发件人所在的服务器", "发件人的用户名", "发件人的密码");

//发送
tran.sendMessage(msg, msg.getAllRecipients());

tran.close();

System.out.println("发送成功了....");

} catch (Exception e) {
e.printStackTrace();
}

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