`
qxmcool
  • 浏览: 92656 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

javamail的简单实现(不带附件)

阅读更多
实现javamail的方法
首先将activation.jar和mail.jar放入开发环境 并构建路径
activation.jar是在jaf框架的jar包

如果你使用了javaee的jar了只需要将activation.jar下载就ok了
新建一个web项目


1.信件jsp 不必多说了

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>

<html>
  <head>
   
    <title>My JSP 'sendmail.jsp' starting page</title>
  </head>
 
  <body>
  send mail
    <hr>
        <form action="Send" method="post">
    To:<input type="text" name="to"><br>
    title:<input type="text" name="title"><br>
    context:<textarea rows="3" cols="30" name=context>info</textarea>
    <input type="submit" value="submit">
    </form>
  </body>
</html>

2.一个发送的servlet
package com.qxm.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Send extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("gb2312");
String to = request.getParameter("to");
String from = "wps@163.com";
String title = request.getParameter("title");
String context = request.getParameter("context");
//得到系统的信息放入properties中
Properties prop = System.getProperties();
//输入要发送到的地址的主机
prop.put("mail.smtp.host", "smtp.163.com");
//需要验证
prop.put("mail.smtp.auth", "true");
//得到session需要验证本地的 也就是你发送的地址的帐号和密码
//如果是在本机测试的话需要启动iis服务器,或是安装一个服务器软件 例如cmailserver
//如果是在本机测试的话 主机地址就是你的计算机名称
//创建一个session 得到session 直接创建 还有一个方法是getInstance();是查看是否存在session 如果不存在的话再创建一个session
Session session = Session.getDefaultInstance(prop,
new Authenticator() {
protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
return new javax.mail.PasswordAuthentication(
"wps@163", "123");//form的帐号密码
}
});
//用于测试 能够打印相关信息出来

session.setDebug(true);
//信件的信封 封装信件的所有信息 如果有附件或是多媒体信息最终都封装在这个类中
Message msg = new MimeMessage(session);
//设置发送人的地址
msg.setFrom(new InternetAddress(from));
//设置要发送的地址
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
//设置信件的标题
msg.setSubject(title);
//设置信件的内容
msg.setText(context);
msg.saveChanges();

Transport transport=session.getTransport("smtp");
transport.connect("smtp.163.com","要发送到的地址的邮箱","邮箱的密码");//以smtp方式登录邮箱
transport.sendMessage(msg,msg.getAllRecipients());//发送邮件,其中第二个参数是所有已设好的收件人地址
//发送

ransport.close();

out.print("send successful");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}


注意:163这个邮箱的服务器是挺特殊的 他对于发送来的邮件需要验证你的发送放的ip地址
如果你的ip地址和你的主机名称一致才能允许你发送 否则他认为是垃圾邮件 总是报一个验证失败的异常 所以在本机上测试是比较不错的
分享到:
评论

相关推荐

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

    本教程将详细讲解如何使用JavaMail API在Gmail上发送邮件,包括不带附件和带有一个附件的情况。 首先,JavaMail是一个开源的Java库,它提供了用于处理邮件的标准API。在使用JavaMail发送邮件前,你需要在项目中引入...

    james和javamail实现邮件收发(带发送附件)

    在这个例子中,我们将深入探讨如何利用James服务器和JavaMail API来实现这一目标,同时处理中文内容和附件。 首先,James(Apache James)是一个开源的邮件服务器,它支持SMTP、POP3和IMAP协议,可以作为企业级的...

    javamail发邮件(带附件)

    ### JavaMail 发送带附件的电子邮件 在Java开发过程中,经常需要通过程序自动发送电子邮件,尤其是在需要进行用户通知、密码重置或者系统日志报告等场景。JavaMail API提供了非常强大的功能来支持这些需求,包括...

    javamail发送邮件(带附件)

    这个资源提供了一个具体的示例,展示了如何使用JavaMail API 来发送带有附件的邮件。以下是对这个主题的详细解释: 首先,你需要理解JavaMail的核心组件。`javax.mail` 和 `javax.mail.internet` 包含了发送邮件所...

    JavaMail简易教程

    - **JavaMail API中的应用**: JavaMail API支持MIME标准,可以轻松处理带有附件的复杂邮件。 #### 四、总结 JavaMail API为Java开发者提供了一个强大的工具集,可以轻松实现邮件的发送、接收和其他管理功能。通过...

    使用jsp实现javaMail邮箱功能开发

    如果需要发送带有附件的邮件,JavaMail API提供了`Multipart`类,可以将邮件内容和附件一起封装在`MimeMessage`中。 通过以上步骤,你可以利用JSP和JavaMail API开发出一个能够从Web界面发送邮件的应用。在实践中...

    Android使用Javamail发送Email群发加附件

    本篇文章将详细介绍如何使用JavaMail API在Android中发送带有附件并进行群发的电子邮件。首先,我们需要理解JavaMail API的工作原理以及如何将其集成到Android项目中。 1. **集成JavaMail库** 在Android项目中,...

    Java web中javamail邮件发送实现案例.docx

    如果需要发送带附件的邮件,可以使用MimeBodyPart和Multipart类来构建复杂的邮件结构。首先,创建一个Multipart对象作为邮件的内容容器,然后添加MimeBodyPart对象,每个MimeBodyPart可以代表一个文本或附件。最后,...

    javamail.pdf

    在上面的代码中,postMail 方法用于发送邮件,它支持发送带附件和不带附件的邮件。 postMail 方法的实现过程如下: 1. 首先,获取 EmailData 对象的属性,如发件人、收件人、邮件主题、邮件内容等。 2. 然后,创建...

    基于JavaMail邮件系统的设计与实现 论文

    JavaMail API是一个开源的、跨平台的库,它提供了与各种邮件服务器通信的能力,支持SMTP(简单邮件传输协议)、POP3(邮局协议版本3)和IMAP(因特网消息访问协议)等多种邮件协议。 首先,让我们深入了解一下相关...

    jsp/servlet javamail 发送邮件 可发送多个附件

    在这个场景下,我们讨论的是一个使用JSP和Servlet实现的邮件发送系统,该系统具备发送带有多个附件的功能。这个系统可能基于JavaMail API来实现邮件的发送,而JavaMail是一个强大的开源库,可以处理复杂的邮件服务...

    javamail jar包

    在Java应用程序中集成JavaMail可以方便地实现邮件功能,比如发送带有附件的邮件、接收邮件、管理邮箱等。 `mail.jar` 文件是JavaMail的核心库,包含了处理邮件的各种类和接口。这些类包括`javax.mail.Session`,它...

    JavaMail API详解.txt

    无论是简单的文本邮件还是复杂的带有附件的邮件,JavaMail API都能够轻松应对。 总之,JavaMail API是一个功能全面且易于使用的邮件处理工具,它极大地简化了在Java应用程序中实现邮件发送和接收功能的过程。

    javaMail 源码

    这个库使得开发者能够轻松地实现文本、HTML、带附件等多种类型的邮件发送功能,大大简化了邮件编程的工作。现在,我们将深入探讨JavaMail源码中的核心概念和实现细节。 首先,JavaMail的核心API包含`javax.mail`和`...

    javamail 邮件系统

    总的来说,JavaMail是一个强大且灵活的邮件处理库,适合在各种Java应用中集成邮件功能,无论是简单的文本邮件还是复杂的HTML邮件,甚至带有多个附件的邮件。结合提供的`JavaMailUtil`工具类,开发者可以轻松地在自己...

    Javamail 两个jar包

    通过这些API,开发者可以实现发送带有或不带附件的邮件,检索邮件,管理邮件箱,甚至处理邮件中的嵌套MIME对象。JavaMail还支持SSL和TLS加密,确保邮件传输的安全性。 使用JavaMail时,首先需要在项目中引入这两个...

    javamail-jar包.zip

    总的来说,`javamail-jar包.zip` 提供的 JavaMail 库对于任何需要在 Java 应用中处理邮件的开发者来说都是必不可少的。无论你是构建企业级应用,还是简单地发送确认邮件,JavaMail 都能提供稳定且功能强大的邮件处理...

    javamail 1.4.3

    通过JavaMail 1.4.3的示例代码(Demo)和文档,开发者可以学习如何配置邮件会话、创建和发送邮件、处理附件,以及如何使用不同的邮件协议。对于需要在Java应用程序中集成邮件功能的开发者来说,这是一个必不可少的...

    java邮件实现jar包(Javamail)

    此外,JavaMail API 提供了丰富的API和示例代码,帮助开发者处理复杂的邮件需求,如HTML邮件、带附件的邮件、多部分消息体等。 总之,JavaMail是一个强大的工具,对于任何需要在Java应用程序中集成邮件功能的开发者...

Global site tag (gtag.js) - Google Analytics