一个通过JSP,JAVABEAN组合成功发送邮件的例子;需要的包有;mail.jar ,activation.jar;
java.sun.com中有下载的;
第一:通过163.com发送邮件时要验证用户,在这我们创建一个JAVABEAN 继承Authenticator类;
package zh;
/**
* @author Administrator
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class MyAuth extends Authenticator
{
private String userName = "";
private String password = "";
private PasswordAuthentication pass = null;
public MyAuth(String userName,String password)
{
pass = new PasswordAuthentication(userName,password);
}
public PasswordAuthentication getPasswordAuthentication()
{
return pass;
}
public static void main(String[] args) {
}
}
通过用户名和用户密码来创建一个验证类的实例MyAuth;
MyAuth my = MyAuth(String userName,String password);//userName 用户邮箱名;passowrd :用户邮箱登录密码;例:userName = chshanhaojuan ,password = *******;
第二:
创建一个JSP页面来发送邮件;
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="javax.mail.*"%>
<%@ page import="javax.mail.internet.*"%>
<%@ page import="javax.activation.*"%>
<%@ page import="javax.naming.NamingException"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="javax.naming.Context"%>
<%@ page import="java.util.*"%>
<%@ page import="java.net.*"%>
<%@ page import="zh.MyAuth"%>
<html>
<head>
<title>OA</title>
</head>
<body topmargin=0 leftmargin=0 bgcolor="#ffffff">
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr height=24>
<td width=100% colspan=2 align="left" valign="middle" style="font-size:12px;padding-left:10px" background="images/bgcolor.gif">
<img src="images/handle.gif"> 公共信息->公共通讯簿
</td>
</tr>
<tr height=500>
<td width=60% align="left" valign="top">
<%
try{
Properties props = new Properties ();
/**在这mail.smtp.host 是邮件服务器的地址,比喻smtp.163.com 是163的接收邮件的服务器一般用smtp.163.com 就可以了但是,在我的AIX操作系统中不能解析这个地址,所以用220.181.12.16,
你也可以通过在dos底下用ping smtp.163.com 来得到一个IP地址
*/
props.put("mail.smtp.host", "220.181.12.16");
/**
mail.transport.protocol 是邮件传输协议中的接收协议;smtp既可;
*/
props.put("mail.transport.protocol","smtp");
/**
是否通过验证;一般为true 。false不能通过验证;
*/
props.put("mail.smtp.auth","true");
//mail.user 为用户邮箱登陆名;
props.put("mail.user", "chshanhaojuan");
//mail.password 邮箱登陆密码;
//props.put("mail.password", "******");
Session sendMailSession;
//用户验证使用的实例;
MyAuth auth = new MyAuth("chshanhaojuan","******");
//根据用户验证和当前属性来创建一个会话对象;
sendMailSession = Session.getDefaultInstance(props,auth);
sendMailSession.setDebug(false);
Transport tran = sendMailSession.getTransport("smtp");
tran.connect();
out.println(tran.isConnected());//测试连接是否成功;
Message mess = new MimeMessage(sendMailSession);//通过会话
//发送邮件的邮件地址;
mess.setFrom(new InternetAddress("chshanhaojuan@163.com"));
//接收邮件的邮件地址;
mess.setRecipient(Message.RecipientType.TO,new InternetAddress("xkg2001@163.com"));
//接收邮件的邮件地址;
//mess.addRecipient(Message.RecipientType.TO,new InternetAddress("chshanhaojuan@yahoo.com.cn"));
//发送的内容;
mess.setText("现在开始测试发送文件是否成功");
//发送时间;
mess.setSentDate(new Date());
//内容主题;
mess.setSubject("现在开始测试发送文件是否成功");
mess.saveChanges();
Address[] ad = new Address[1];
//接收邮件的地址;
ad[0] = new InternetAddress("xkg2001@163.com");
//发送邮件;
tran.sendMessage(mess,ad);
out.println("发送成功");
/*
//接收邮件;
Properties props = new Properties ();
//接收邮件邮件的服务器地址;mail.pop3.host ;220.181.12.113 同上面的一样;就不多说了;
props.put("mail.pop3.host", "220.181.12.113");
props.put("mail.store.protocol","pop3");//接收邮件的协议mail.store.protocol = pop3
props.put("mail.password", "chshanhaojuan");
props.put("mail.user", "******");//用户密码;
props.put("mail.port", "110"); //接收邮件服务器开的端口;163.com的端口是110;
Session sendMailSession;
sendMailSession = Session.getInstance(props,null);
Provider pro = sendMailSession.getProvider("pop3");
//默认的不能创建Store store = sendMailSession.getStore();创建不出来;为NULL异常;
Store store = sendMailSession.getStore(pro);
//先建立连接才能接收邮件;
store.connect("220.181.12.113",110,"chshanhaojuan","******");
//是否连接成功;
out.println(store.isConnected());
//打开收件箱,得到一个目录;
Folder folder = store.getFolder("INBOX");
//打开目录;只读方式打开;
folder.open(Folder.READ_ONLY);
从收件箱中提出邮件;
Message[] mess = folder.getMessages();
//底下应该看的懂了;
out.println(mess.length);
out.println(mess[0].getSubject());
out.println(mess[0].getSentDate().toString());
*/
}catch(NullPointerException e)
{
out.println(e.getMessage()+"异常");
}catch(Exception ex)
{
out.println(ex.getMessage()+"异常");
}
%>
</td>
</tr>
</table>
</body>
</html>
分享到:
相关推荐
在这个例子中,我们将详细探讨如何使用JavaMail发送邮件,包括SMTP认证、添加附件以及发送HTML内容的邮件。 首先,为了使用JavaMail API,我们需要引入相应的库。在这个例子中,`javamail`和`JAF`(JavaBeans ...
下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...
### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...
使用 JavaMail 库可以轻松地在 Java 应用程序中发送电子邮件。JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件协议,例如 SMTP、POP3 和 ...
基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...
以下是使用JavaMail发送邮件的基本代码示例(简化版): ```java import javax.mail.*; import javax.mail.internet.*; public class EmailSender { public static void main(String[] args) { String from = ...
下面是一个简单的JavaMail发送邮件的步骤: 1. **导入必要的库**:首先,在项目中导入`mail.jar`和`activation.jar`,确保编译和运行时能够访问到这些库。 2. **配置邮件会话**:创建一个`Properties`对象,设置...
这个例子展示了如何使用JavaMail发送带附件的邮件。需要注意的是,实际应用中应处理各种异常,确保邮件发送的健壮性。此外,如果你的邮件服务器需要身份验证,还需要提供一个Authenticator来处理登录信息。 总的来...
【JavaMail发送邮件】 JavaMail 是一个开源的Java库,用于处理电子邮件的发送、接收和其他相关操作。在Java中,我们可以使用JavaMail API来构建发送邮件的功能。以下是从提供的文件内容中提取的关键知识点: 1. **...
这个标题"JavaMail发送邮件(文本、html、附件)"涵盖了使用JavaMail API发送不同格式邮件的核心功能。下面将详细介绍如何利用JavaMail发送文本、HTML和包含附件的邮件,以及在实际应用中需要注意的配置步骤。 1. *...
以下是一个简单的JavaMail发送邮件的示例代码: ```java import javax.mail.*; import javax.mail.internet.*; public class JavaMailTest { public static void main(String[] args) { String to = "recipient@...
总结起来,Spring结合JavaMail API发送邮件的过程主要包括:配置`JavaMailSender` bean,创建邮件消息对象,设置邮件内容和属性,最后通过`JavaMailSender`实例发送邮件。通过这种方式,开发者可以轻松地在Spring...
首先,要使用JavaMail发送邮件,你需要引入相关的依赖库,通常是`javax.mail`和`javax.mail-api`。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.sun.mail</groupId> <artifactId>...
Java/javamail发送邮件是Java开发中常见的任务之一,它涉及到网络通信和电子邮件协议的知识。在Java中,JavaMail API提供了发送和接收电子邮件的功能。这个API遵循了JavaBeans Activation Framework (JAF) 和 ...
JavaMail 是一个开源库,它提供了在 Java 应用程序中发送和接收电子邮件的功能。它扩展了 Java EE 的 javax.mail 包,提供了更强大的邮件处理能力。在标题和描述中提到的,我们将讨论如何使用 JavaMail 实现发送邮件...
这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这个主题的详细解释: 1. **JavaMail API**: JavaMail API 是一组接口和类...
8. **使用JavaMail发送HTML邮件**:通过设置`MimeMessage`的`setContent()`方法,可以发送包含HTML的邮件。 ```java message.setContent("<h1>HTML邮件标题</h1><p>这是HTML邮件正文。</p>", "text/html;charset=...
下面是一个使用JavaMail发送邮件的详细示例代码: ```java import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class EmailSender { public ...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送...以上就是使用JavaMail发送邮件的详细过程,以及与文本编辑器KindEditor的集成方式。在开发过程中,记得根据具体需求调整和优化代码,以满足不同的业务场景。
JavaMail 是一个强大的 Java 库,它允许开发者在应用程序中实现电子邮件的发送和接收功能。这个库支持多种邮件协议,如 SMTP(简单邮件传输协议)用于发送邮件,POP3(邮局协议)和 IMAP(因特网消息访问协议)用于...