在jsp中发送email

在jsp中发送email

一、我们可以通过任何支持sun规范中的sun.net.smtp包的JSP引擎(如JSWDK)发送mail。
(警告:使用内置的internal Sun规范包,这将影响到你的jsp程序的可移植性。)

以下scriptlet利用SmtpClient类在jsp文件中发送email。

二、 JavaMail是官方的 Java mail API,可参考 http://java.sun.com/products/javamail/。虽然该API比 sun.net.smtp.SmtpClient更丰富或者说更复杂,但它是可移植的。这里重新创建了一个 MailSender类,它包含了 JavaMail API。如下所示:

// ms_ prefix is for MailSender class variables
// str prefix is for String
// astr prefix is for array of Strings
// strbuf prefix is for StringBuffers, etc.
public MailSender(
String strFrom, // sender
String[] astrTo, // recipient(s)
String[] astrBCC, // bcc recipient(s), optional
String strSubject, // subject
boolean debugging)
{
ms_strFrom = strFrom; // who the message is from
ms_astrTo = astrTo; // who (plural) the message is to
ms_debugging = debugging; // who (plural) the message is to

// set the host
Properties props = new Properties();
props.put(\"mail.smtp.host\", ms_strSMTPHost);

// create some properties and get the default Session
Session session = Session.getDefaultInstance(props, null);
session.setDebug(ms_debugging);

try {
// create a message
ms_msg = new MimeMessage(session);

// set the from
InternetAddress from = new InternetAddress(strFrom);
ms_msg.setFrom(from);

// set the to
InternetAddress[] address = new InternetAddress[astrTo.length];
for (int i = 0; i astrTo.length; ++i)
{
address[i] = new InternetAddress(astrTo[i]);
}
ms_msg.setRecipients(Message.RecipientType.TO, address);

// set the bcc recipients
if (astrBCC != null)
{
address = new InternetAddress[astrBCC.length];
for (int i = 0; i astrBCC.length; ++i)
{
eh.dbg(\"astrBCC[\" + i + \"] is: \'\" + astrBCC[i] + \"\'\");
address[i] = new InternetAddress(astrBCC[i]);
}
ms_msg.setRecipients(Message.RecipientType.BCC, address);
}

// set the subject
ms_msg.setSubject(strSubject);

// set up the string buffer which will hold the message
ms_strbufMsg = new StringBuffer();

} catch (MessagingException mex) {
mex.printStackTrace(System.err);
} catch (Exception ex) {
ex.printStackTrace(System.err);
}
}

public void ms_add(String strText)
{
ms_strbufMsg.append(strText);
}

public void ms_send()
{
try {
// set the content as plain text
ms_msg.setContent(new String(ms_strbufMsg), \"text/plain\");

// and away
Transport.send(ms_msg);
} catch (Exception ex) {
System.out.println(\"Caught exception in MailSender.ms_send: \" + ex);
}
}

(0)

相关推荐

  • 在jsp中发送email

    在jsp中发送email 一.我们可以通过任何支持sun规范中的sun.net.smtp包的JSP引擎(如JSWDK)发送mail. (警告:使用内置的internal Sun规范包,这将影响到你的jsp程序的可移植性.) 以下scriptlet利用SmtpClient类在jsp文件中发送email. 二. JavaMail是官方的 Java mail API,可参考 http://java.sun.com/products/javamail/.虽然该API比 sun.net.smtp.Smtp

  • Asp.Net Core中发送Email的完整步骤

    前言 在项目开发中常常会需要做发送 Email 的功能,在 ASP.NET Core 中你可以用 MailKit 来实现 Email 的发送,MailKit 是一个开源的客户端库,可用在 Windows,Linux 或者 Mac 上,本篇文章就来讨论在 ASP.NET Core 中去实现. 安装 MailKit 要想使用 MailKit,你可以使用 Visual Studio 2019 中的 NuGet package manager 可视化界面进行安装,或者通过 NuGet package m

  • IOS 开发中发送e-mail的几种方法总结

    iOS系统框架提供的两种发送Email的方法 1.使用openURL来实现发邮件的功能: NSString *url = [NSString stringWithString: @"mailto:foo@example. com?cc=bar@example.com&subject=Greetings%20from%20Cupertino!&body=Wish%20you%20were%20here!"]; [[UIApplication sharedApplicati

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

    之前写了一篇关于Android中发送Email的文章,里面用到的是隐式的intent来激活系统自带的邮件发送功能. 今天花了一天来自己实现这个邮件发送功能. 这里用gmail作为发送方的邮箱,其他网易,新浪什么的应该也ok,QQ貌似不行. 下面是实现步骤及相关代码. 项目添加jar包 将activation.jar,additionnal.jar,mail.jar放到项目的libs 文件夹.然后在项目中选中这三个包,右击->Build Path->Add to buildPath. 添加成功后

  • c#中winform根据邮箱地址和密码一键发送email的实现

    企业信息化进程中,根据自己的Email地址一键发送邮件,了解发送原理可以批量发送多人邮箱.原来曾经用VB做过群发工资条,效果比较理想,现在使用c#做开发,原理基本一样. 应用的技术:访问邮件服务器发送邮件.文件操作保存默认信息.winform按钮的逻辑操作 效果图: 核心要点及代码(这里以163为例) 1.发送代码:这是最核心的,注意引用.文本框:发送地址,发送密码,发送服务器,接收地址,发送主题,发送内容. using System; using System.Collections.Gene

  • JSP中使用JavaMail

    你希望在jsp中建立一个邮件发送收取工具吗?下面将介绍的就是在jsp中建立一个邮件发送收取工具.在这篇文章中你可以了解到JavaMail API的一些要点以及如何在JSP中使用它.本文中还包括了在JSP中使用JavaMail的实例.JavaMail是JSP应用软件中相当强大的API. 阅读这篇文章需要对JSP.JavaBeans和JavaMail有一定的初步了解.当然,有关于JavaMail的知识你可以通过阅读这篇文章来获得.如果你对于以上三项一无所知,但你所使用的服务器支持JSP和JavaMa

  • JSP中param动作的实例详解

    JSP中param动作的实例详解 一 语法 <jsp:param name="参数名" value="参数值"> 常常与<jsp:forward>一起使用,作为其子标签存在. 二 代码 1.login.jsp <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"

  • JSP中Servlet的Request与Response的用法与区别

    JSP中Servlet的Request与Response的用法与区别 简介:Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了.要向客户机输出数据,只需要找response对象就行了. 一,Request Request代表请求对象,其中封装了对请求中具有请求行.请求头.实体内容的操作的方法

  • JSP 中request与response的用法详解

    JSP 中request与response的用法详解 概要: 在学习这两个对象之前,我们应该已经有了http协议的基本了解了,如果不清楚http协议的可以看我的关于http协议的介绍.因为其实request和response的使用大部分都是对http协议的操作. request对象的介绍 我们先从request对象进行介绍: 我们知道http协议定义了请求服务器的格式: 请求行 请求头 空格 请求体(get请求没有请求体) 好了,这里我们就不详细介绍了,我们只看几个应用就可以了,没什么难度: 应

  • JSP 中response.setContentType()的作用及参数

    JSP 中response.setContentType()的作用及参数 response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据. 例如web浏览器就是通过MIME类型来判断文件是GIF图片.通过MIME类型来处理json字符串. Tomcat的安装目录\conf\web.xml 中就定义了大量MIME类型 ,可以参考. response.setContentType("text/h

随机推荐