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 }

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

 

时间: 2024-09-17 04:14:47

javaMail发邮件的相关文章

struts2集成javamail发邮件示例详解

 这篇文章主要介绍了struts2集成javamail发邮件示例,需要的朋友可以参考下 一.代码预览 这两天在做struts2上的邮件发送.以前的项目有用到spring,用spring提供的邮件支持类很方便可以完成这个功能,但是现在只用struts2的话,就碰到了一系列的问题.   请先将自己下载的 mail.jar,及activation.jar加入到classpath    代码如下: package com.nerve.cloudoffice.common.util;   import j

javamail 发邮件个别字中文乱码

问题描述 最近遇到一个很奇怪的问题,折腾我好久了公司有自己的开发平台 发邮件是用Javamail写的我在用公司封装的发邮件的方法 发送邮件过程中 陈玘的"玘"字不能正常显示,一直显示的是"陈?" 在正文和标题中都不能正常显示所以想问问大家 这是什么原因,如果说公司封装的代码有问题 为什么其他的字都能正常就这一个字不正常,数据库的字符集也没问题 是oracle ZHS16GBK 解决方案 邮件发送编码问题,之前用gb2312测试了一下,发现确实变成了?号,现在改成UT

使用JAVAMAIL发邮件的一个例子

发邮件 首先引入j2ee的包路径到ClassPath,已经安装Jbuilder的可以在它的安装路径lib目录下找到mail.jar,activation.jar,将这两个包加入系统的环境变量,那么即使不用JBuilder开发的话也可以使用了. 程序: import java.io.*;import java.util.*;import javax.mail.*;import javax.mail.internet.*; /** * <p>Title: 简易MailBean</p>

用javamail发邮件(含附件),用jBuilder3实现

发邮件 //Title:        Your Product Name//Version:      //Copyright:    Copyright (c) 1999//Author:       Your Name//Company:      Your Company//Description:  Your description package Mail; import java.awt.*;import javax.swing.*;import java.awt.event.*;

struts2集成javamail发邮件示例详解_JSP编程

一.代码预览这两天在做struts2上的邮件发送.以前的项目有用到spring,用spring提供的邮件支持类很方便可以完成这个功能,但是现在只用struts2的话,就碰到了一系列的问题. 请先将自己下载的 mail.jar,及activation.jar加入到classpath 复制代码 代码如下: package com.nerve.cloudoffice.common.util; import java.util.List;import java.util.Properties; impo

JAVA/JSP学习系列之十(JavaMail API发邮件[servlet])

js|servlet|发邮件 我这里用的是1.2版本,将相关包(jar文件)加到CLASSPATH中 二:该程序非常简单,不需要我们考虑很多地层的东西,因为API都帮我们做好了这些事情,下面是一个简单的发邮件的Servlet:(对于熟悉的人来说,恐怕是再简单不过了的一个servlet) import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import sun.net.smtp.*; public class

extension-关于android里面发邮件的问题,下面是我运行时候的log,请各位帮我看一下。

问题描述 关于android里面发邮件的问题,下面是我运行时候的log,请各位帮我看一下. 04-07 14:06:05.294: I/System.out(2970): DEBUG: JavaMail version 1.4.104-07 14:06:05.294: I/System.out(2970): DEBUG: not loading file: /system/lib/javamail.providers04-07 14:06:05.298: I/System.out(2970):

发邮件时终于可以通过sina的smtp验证了(附代码)

sina|smtp|发邮件 import javax.mail.*;import javax.mail.internet.*;import java.util.*; public class sendMail{    public static void main(String args[]) throws Exception    {         String host = "smtp.sina.com.cn";        String from =  "javam

使用JavaMail创建邮件和发送邮件

欢迎加入QQ群交流:1群已满,请加2群466355109,技术不全没关系,只要有交流的心就尽管来吧 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两个部分,邮件头和邮件体之间使用空行分隔. 邮件头包含的内容有: from字段  --用于指明发件人 to字段      --用于指明收件人 subject字段  --用于说明邮件主题 cc字段     -- 抄送,将邮件发送给收件人的同时抄送给另一个收件人,收件人可以看到邮件