本文实例讲述了JavaMail实现邮件发送的方法。分享给大家供大家参考。具体如下:
下载 activation.jar 和 mail.jar
配置CLASSPATH,将上面两个jar包加入到CLASSPATH中。
JavaBean : "SendEmail.java"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
package cls;
import java.util.Date;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class SendEmail
{
String host;
String username;
String password;
String fromAddr;
String toAddr;
String subject;
String content;
public SendEmail()
{
// 变量初始化
host = "smtp.qq.com" ;
username = "" ;
password = "" ;
fromAddr = "@" ;
}
// 发送邮件
public boolean sendMail()
{
Properties prop;
Session session;
MimeMessage msg;
try
{
prop = new Properties(); // 存储连接参数
prop.put( "mail.smtp.host" ,host);
prop.put( "mail.smtp.auth" , "true" );
session = Session.getDefaultInstance(prop, null );
// 获得一个邮件的Session
msg = new MimeMessage(session); // 邮件信息
// 检查邮件地址是否合法
if (fromAddr == null || fromAddr.equals( "" ))
{
throw new Exception( "发件地址错误" );
}
if (toAddr == null || toAddr.equals( "" ))
{
throw new Exception( "目标地址错误" );
}
//设置源地址
msg.setFrom( new InternetAddress(fromAddr));
//设置目的地址
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(toAddr));
//设置主题
msg.setSubject(subject);
Multipart mp = new MimeMultipart(); //邮件内容
MimeBodyPart mbpContent = new MimeBodyPart();
mbpContent.setContent(content, "text/html" ); // 邮件格式
mp.addBodyPart(mbpContent);
msg.setContent(mp);
msg.setSentDate( new Date());
// 发送邮件
Transport transport = session.getTransport( "smtp" );
transport.connect((String)prop.get( "mail.smtp.host" ),username,password);
transport.sendMessage(msg,msg.getRecipients(MimeMessage.RecipientType.TO));
transport.close();
return true ;
}
catch (Exception e)
{
System.out.println(e);
return false ;
}
}
// getter and setter
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this .password = password;
}
public String getHost()
{
return host;
}
public void setHost(String host)
{
this .host = host;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this .username = username;
}
public String getFromAddr()
{
return this .fromAddr;
}
public void setFromAddr(String addr)
{
fromAddr = addr;
}
public String getToAddr()
{
return this .toAddr;
}
public void setToAddr(String addr)
{
toAddr = addr;
}
public String getSubject()
{
return subject;
}
public void setSubject(String sub)
{
subject = sub;
}
public String getContent()
{
return content;
}
public void setContent(String content)
{
this .content = content;
}
}
|
sendmail.jsp:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<%@ page language= "java" contentType= "text/html; charset=utf-8" pageEncoding= "utf-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
<html>
<head>
<title>Mail</title>
<meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" />
</head>
<body>
<center>
<jsp:useBean id= "email" class = "cls.SendEmail" scope= "page" />
<jsp:setProperty name= "email" property= "toAddr" value= "host" />
<jsp:setProperty name= "email" property= "fromAddr" value= "host" />
<jsp:setProperty name= "email" property= "username" value= "username" />
<jsp:setProperty name= "email" property= "password" value= "password" />
<jsp:setProperty name= "email" property= "subject" value= "mail test" />
<jsp:setProperty name= "email" property= "content" value= "hello world" />
<%=email.sendMail() %>
</center>
</body>
</html>
|
希望本文所述对大家的java程序设计有所帮助。