javaMail发邮件

简介:

使用javaMail发送电子邮件需要两个jar包:activation.jar和mail.jar。具体代码如下:

index.jsp:


1 <%@ page language=”java” import=”java.util.*” pageEncoding=”utf-8”%>
 2 <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
 3 
 4 
 5 
 6 
 7 
 8 
 9 

10

发送文本型邮件

11    

12      
13
14
15
18
19
20
21
24
25
26
27
30
31
32
33
36
37
38
39
42
43
44
45
48
49
50
53
54
55
60
61
                  
SMTP服务器
          	

16              
17            
        
                  
登录帐号
          	

22              
23            
        
                  
登录密码
          	

28              
29            
        
                  
发件人
          	

34              
35            
        
                  
收件人
          	

40              
41            
        
                  
主题
          	

46              
47            
        
                  

51              
52            
        
                  

56              


57                  
58              


59            
        
      

62    

63

 

64 

65

 

66 
67 

 

sendMail.jsp:

 1 <%@ page language=”java” import=”java.util.“ pageEncoding=”utf-8”%>
 2
 3 class=”com.email.SendTextMail”>
 4 <jsp:setProperty property=”“ name=”mySend”/>
 5
 6 <%
 7     //注意这里使用javaBean自省机制为属性赋值
 8     boolean status = mySend.send();
 9     if(status){
10         out.println(“恭喜你,发送邮件成功!”);
11     }else{
12         out.println(“对不起,发送邮件失败!”);
13     }
14 %>

SendTextMail.java:


  1 package com.email;
  2
  3 import java.util.Date;
  4 import java.util.Properties;
  5
  6 import javax.mail.Authenticator;
  7 import javax.mail.Message;
  8 import javax.mail.PasswordAuthentication;
  9 import javax.mail.Session;
 10 import javax.mail.Transport;
 11 import javax.mail.internet.InternetAddress;
 12 import javax.mail.internet.MimeMessage;
 13
 14 public class SendTextMail {
 15     String SMTPHost = “”;//SMTP服务器
 16     String user = “”;//登录SMTP服务器的帐号
 17     String password = “”;//密码
 18     String from = “”;
 19     String to = “”;
 20     String subject = “”;
 21     String content = “”;
 22
 23     public SendTextMail(){}
 24
 25     public String getSMTPHost() {
 26         return SMTPHost;
 27     }
 28
 29     public void setSMTPHost(String host) {
 30         SMTPHost = host;
 31     }
 32
 33     public String getUser() {
 34         return user;
 35     }
 36
 37     public void setUser(String user) {
 38         this.user = user;
 39     }
 40
 41     public String getPassword() {
 42         return password;
 43     }
 44
 45     public void setPassword(String password) {
 46         this.password = password;
 47     }
 48
 49     public String getFrom() {
 50         return from;
 51     }
 52
 53     public void setFrom(String from) {
 54         this.from = from;
 55     }
 56
 57     public String getTo() {
 58         return to;
 59     }
 60
 61     public void setTo(String to) {
 62         this.to = to;
 63     }
 64
 65     public String getSubject() {
 66         return subject;
 67     }
 68
 69     public void setSubject(String subject) {
 70         this.subject = subject;
 71     }
 72
 73     public String getContent() {
 74         return content;
 75     }
 76
 77     public void setContent(String content) {
 78         this.content = content;
 79     };
 80     /
 81       liuling476777389@sina.cn
 82         pop.sina.cn
 83      */
 84     public boolean send(){
 85         //创建一个属性对象
 86         Properties props = System.getProperties();
 87         //指定SMTP服务器
 88         props.put(“mail.smtp.host”, SMTPHost);
 89         props.put(“mail.smtp.auth”, “true”); //true一定要加引号
 90         try {
 91             //创建一个授权验证对象
 92             SmtpAuth auth = new SmtpAuth();
 93             auth.setAccount(user, password);
 94             //创建一个session对象
 95             Session mailSession = Session.getDefaultInstance(props,auth);
 96             mailSession.setDebug(true);
 97             //创建一个message对象
 98             Message message = new MimeMessage(mailSession);
 99             message.setFrom(new InternetAddress(from));//指定发件人
100             message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));//指定收件人
101             message.setSubject(subject);//指定主题
102             message.setText(content);//指定内容
103             message.setSentDate(new Date());//指定发送日期
104             //指定邮件等级1.紧急  3.普通  5.缓慢
105             message.setHeader(“X-Priority”, “1”);
106             message.saveChanges();
107             //创建一个Transport对象
108             Transport transport = mailSession.getTransport(“smtp”);
109             //连接SMTP服务器
110             transport.connect(SMTPHost, user, password);
111             //发送邮件
112             transport.sendMessage(message, message.getAllRecipients());
113             transport.close();
114             return true;
115         } catch (Exception e) {
116             e.printStackTrace();
117             return false;
118         }
119     }
120
121 }
122
123 class SmtpAuth extends Authenticator{
124     String user,password;
125     void setAccount(String user,String password){
126         this.user = user;
127         this.password = password;
128     }
129     //取得PasswordAuthentication对象
130     protected PasswordAuthentication getPasswordAuthentication(){
131         return new PasswordAuthentication(user,password);
132     }
133 }

经测试用过,能过成功发送邮件。 

 


相关文章
|
7月前
|
存储 Java API
JavaMail实现收发邮件
JavaMail 是一套用于发送和接收电子邮件的API,由Sun定义,但不包含在JDK中,属于JavaEE的一部分。它支持SMTP、POP3和IMAP等邮件协议,以及SSL加密传输。JavaMail需要JAF来处理非纯文本邮件内容,如MIME附件。关键对象包括Properties(存储服务器信息)、Session(配置信息集合和初始化环境)、Transport(发送邮件)和Store(接收邮件)。Message用于构建邮件内容,Address处理邮件地址,Authenticator处理认证。JavaMail API允许开发者自定义协议支持,如NNTP和S/MIME。
202 0
|
8月前
|
数据安全/隐私保护
JavaMail给QQ邮箱发邮件报错
JavaMail给QQ邮箱发邮件报错
|
Java
【知识积累】JavaMail实现发邮件功能
今天闲来没事,想着通过程序来给别人发邮件。于是,上网搜了一下,相应的资料也很多,刚开始完成了邮件的简单发送,后来想如何能发送附件,继续寻找 答案,但是遇到了一个问题是当我使用txt类型作为附件时,附件里的内容总是会显示在正文里面,并且还会出现正文乱码的现象,之后经过不断的查阅资料,终 于解决了问题,实现了我自己想要的功能。
103 0
|
安全 网络安全 数据安全/隐私保护
使用JavaMail发送邮件
使用JavaMail的API发送邮件~! 1 import org.apache.commons.collections.CollectionUtils; 2 import org.
2079 0
|
Java 数据安全/隐私保护