`
hulin
  • 浏览: 61750 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用JavaMail发送文本型邮件

    博客分类:
  • java
阅读更多
     文本型邮件是应用是广泛的一种邮件类型,本实例将使用JavaMail发送文本型邮件。用户通过在邮件书写页面textMail.htm中填写表单,然后提交给邮件发送页面sendMail.jsp,由sendMail.jsp调用封装邮件发送功能的SendTextMail实现邮件的发送
    首先导入activation.jar和mail.jar
文本型邮件书写页面textMail.htm
   <html>
<head>
<title>发送文本型邮件</title>
</head>
<body>
<h2>
发送文本型邮件
</h2>
<hr>
<form name="form1" method="post" action="sendMaill.jsp">
SMTP服务器:
<input type="text" id="SMTPHost" name="SMTPHost">
<br>
登录帐号:
<input type="text" id="user" name="user">
<br>
登录密码:
<input type="password" id="password" name="password">
<br>
<br>
发件人邮箱:
<input type="text" id="from" name="from">
<br>
收件人邮箱:
<input type="text" id="to" name="to">
<br>
邮件标题:
<input type="text" id="subject" name="subject">
<br>
邮件内容:
<textarea id="content" name="content" rows="5" cols="40"></textarea>
<br>
<br>
<input type="submit" name="submit" value="发送">
&nbsp;
<input type="reset" name="reset" value="重填">
</form>
</body>
</html>

封装发送文本型邮件功能的SendTextMail.java
package test;

import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import java.util.*;

public class SendTextMail {
String SMTPHost = ""; // SMTP服务器

String user = ""; // 登录SMTP服务器的帐号

String password = "";// 登录SMTP服务器的密码

String from = ""; // 发件人的邮箱

String to = ""; // 收件人的邮箱

String subject = ""; // 邮件标题

String content = ""; // 邮件内容

public SendTextMail() {
}

public String getContent() {
return content;
}

public void setContent(String content) {
try {
content = new String(content.getBytes("ISO8859-1"), "gb2312");
} catch (Exception ex) {
ex.printStackTrace();
}
this.content = content;
}

public String getFrom() {
return from;
}

public void setFrom(String from) {
this.from = from;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getSMTPHost() {
return SMTPHost;
}

public void setSMTPHost(String host) {
SMTPHost = host;
}

public String getSubject() {
return subject;
}

public void setSubject(String subject) {
try {
subject = new String(content.getBytes("ISO8859-1"), "gb2312");
} catch (Exception ex) {
ex.printStackTrace();
}
this.subject = subject;
}

public String getTo() {
return to;
}

public void setTo(String to) {
this.to = to;
}

public String getUser() {
return user;
}

public void setUser(String user) {
this.user = user;
}

public boolean send() {
// 创建一个属性对象
Properties props = new Properties();
// 指定SMTP服务器
props.put("mail.smtp.host", SMTPHost);
// 指定是否需要SMTP验证
props.put("mail.smtp.auth", "true");
try{
//创建一个授权验证对象
SmtpAuth auth = new SmtpAuth();
auth.setAccount(user,password);

//创建一个Session对象
Session mailSession = Session.getDefaultInstance(props,auth);
mailSession.setDebug(true);

//创建一个Message对象
Message message=new MimeMessage(mailSession);

//指定发件人邮箱
message.setFrom(new InternetAddress(from));
//指定收件人邮箱
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
//指定邮件主题
message.setSubject(subject);
//指定邮件内容
message.setText(content);
//指定邮件发送日期
message.setSentDate(new Date());
//指定邮件优先级 1:紧急 3:普通 5:缓慢
message.setHeader("X-Priority","1");
message.saveChanges();

//创建一个Transport对象
Transport transport = mailSession.getTransport("smtp");
//连接SMTP服务器
transport.connect(SMTPHost, user, password);
//发送邮件
transport.sendMessage(message, message.getAllRecipients());
transport.close();
return true;
} catch (Exception ex) {
ex.printStackTrace();
return false;
}

}

// 定义一个SMTP授权验证类
static class SmtpAuth extends Authenticator {
String user, password;

// 设置帐号信息
void setAccount(String user, String password) {
this.user = user;
this.password = password;
}

// 取得PasswordAuthentication对象
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password);
}
}
}
发送文本型邮件的Jsp页面sendMail.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="test.SendTextMail"%>
<jsp:useBean id="mySend" class="test.SendTextMail"></jsp:useBean>
<jsp:setProperty property="*" name="mySend" />
<%
boolean status = mySend.send();
if (status) {
out.println("恭喜你邮件发送成功");
} else {
out.println("对不起邮件发送失败");
}
%>

  完成!!你可以到textMail.htm看效果了
分享到:
评论
1 楼 ray_linn 2008-07-04  
饿...通常这个是用freemarker或velocity来做做tempalte,用spring来简化培植.

相关推荐

    JavaMail发送邮件(文本、html、附件)

    3. **发送文本邮件** - 创建`MimeMessage`实例,并设置发件人、收件人、主题和正文。 - 示例代码: ```java MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress("from@...

    javamail入门1--发送简单的文本邮件

    这个简单的示例演示了如何使用 JavaMail 发送文本邮件。对于更复杂的邮件,如包含 HTML 内容、附件或嵌入图片,你可以扩展 `MimeMessage`,使用 `MimeBodyPart` 和 `Multipart` 类来构建复杂的邮件结构。 总的来说...

    javamail发送、接收邮件

    通过解析给定文件的标题、描述、标签及部分内容,我们可以深入探讨javamail发送与接收邮件的详细教程,以及如何利用JavaMail API实现邮件功能。 ### javamail发送、接收邮件 JavaMail API是由Sun Microsystems开发...

    javamail发送邮件.zip

    这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这个主题的详细解释: 1. **JavaMail API**: JavaMail API 是一组接口和类...

    用javaMail发送邮件

    以上就是使用JavaMail发送邮件的基本过程。在实际开发中,可能还需要处理更多复杂情况,如SSL/TLS加密、HTML邮件、多部分消息等。JavaMail API提供了丰富的功能来应对这些需求,让开发者能够灵活地构建邮件系统。 ...

    使用javaMail发送邮件

    这篇博客文章“使用javaMail发送邮件”可能是介绍如何使用JavaMail API来构建邮件发送功能的教程。下面我们将深入探讨JavaMail的相关知识点。 首先,JavaMail API是Java社区开发的一个开源库,用于处理电子邮件。它...

    Spring javaMail发送文本邮件实例

    导入到Myeclipse 即可运行 测试使用的是QQ邮箱 在application.xml中配置的发送邮箱 要到邮箱中设置 POP3/SMTP服务为开。项目不部署到tomcat后启动服务,然后运行test.java 就发送了,。绝对可以发送

    Gmail邮件通过JavaMail发送(不带附件与带一个附件)

    在使用JavaMail发送邮件前,你需要在项目中引入相关的依赖包。在描述中提到的"javamail"可能是指JavaMail的jar包,这是进行邮件操作的基础。确保你的项目已包含以下两个关键的JavaMail库: 1. `javax.mail-api.jar`...

    javamail发送html邮件

    ### JavaMail 发送 HTML 格式邮件的知识点详解 ...综上所述,使用 JavaMail 发送 HTML 格式的邮件涉及到邮件服务器的配置、邮件内容的构建等多个方面,通过合理的类设计和代码实现可以有效地完成这一任务。

    使用javamail发送邮件

    下面我们将详细探讨如何使用JavaMail发送邮件,以及涉及的关键知识点。 首先,要发送邮件,你需要配置一些必要的参数,包括邮箱账号、密码和SMTP服务器地址(SERVERHOST)。例如,如果你使用的是 Gmail 邮箱,SMTP ...

    java使用javaMail发送邮件

    10. **使用JavaMail发送HTML邮件** 如果邮件需要包含HTML格式,可以使用`MimeMessage`的`setContent`方法传入`MimeMultipart`对象,其中包含一个`MimeBodyPart`来设置HTML内容。 11. **高级特性** JavaMail还支持...

    javamail发送邮件实例

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送...以上就是使用JavaMail发送邮件的详细过程,以及与文本编辑器KindEditor的集成方式。在开发过程中,记得根据具体需求调整和优化代码,以满足不同的业务场景。

    android使用javamail发送邮件jar包

    3. **编写邮件发送代码**:下面是一个简单的示例,展示了如何使用JavaMail发送一封纯文本邮件: ```java Properties props = new Properties(); props.put("mail.smtp.host", "smtp.example.com"); props.put(...

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

    以下是一个简单的示例,展示如何使用JavaMail发送只包含文本的邮件: ```java public class Sendmail { public static void main(String[] args) throws Exception { Properties prop = new Properties(); prop....

    用Java类实现JavaMail发送邮件的例子

    在这个例子中,我们将详细探讨如何使用JavaMail发送邮件,包括SMTP认证、添加附件以及发送HTML内容的邮件。 首先,为了使用JavaMail API,我们需要引入相应的库。在这个例子中,`javamail`和`JAF`(JavaBeans ...

    Android中使用JavaMail发送邮件

    例如,`setReceiver()`方法用于设置收件人的邮箱地址,`setSubject()`用于设置邮件主题,`setTextBody()`用于设置纯文本邮件内容,而`addAttachment()`方法可以用来添加附件。 5. 构建和发送邮件: 通过`...

    JavaMail发送和接受邮件的一个小例子

    JavaMail是Java编程语言中用于处理电子邮件的API,它提供了丰富的功能,包括发送、接收邮件以及处理复杂的邮件格式,如文本、图片和附件。在这个小例子中,我们将深入探讨如何利用JavaMail API来实现这些功能。 ...

    javamail发送邮件小程序,类以及写好,只要放包,下载一个就可以

    JavaMail 是一个开源的 Java 库,用于在 Java 应用程序中实现电子邮件的发送和接收。这个小程序可能包含了一套完整的类,可以帮助开发者快速构建邮件发送功能,无需从头开始编写所有必需的代码。 JavaMail 提供了对...

    javamail 发送邮件 实例

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。这个库提供了一组API,使得开发者能够轻松地在Java应用程序中实现SMTP...在这个实例中,我们学习了如何使用JavaMail发送文本邮件以及带有附件的邮件。

    利用JavaMail发送邮件的实例,可以直接运行

    8. **使用JavaMail发送HTML邮件**:通过设置`MimeMessage`的`setContent()`方法,可以发送包含HTML的邮件。 ```java message.setContent("&lt;h1&gt;HTML邮件标题&lt;/h1&gt;&lt;p&gt;这是HTML邮件正文。&lt;/p&gt;", "text/html;charset=...

Global site tag (gtag.js) - Google Analytics