您的位置:首页网页设计JSP实例 → 在jsp中发送email

在jsp中发送email

时间:2004/11/7 3:39:00来源:本站整理作者:蓝点我要评论(0)

在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);

}

}




相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 没有查询到任何记录。 学习java必学的几门技术jspSmartUpload上传下载全攻略Tomcat5.x中的虚拟主机配置方法利用iText在JSP中生成PDF报表

人气排行 告诉大家JSP连接数据库程序代码JSP单页面网站文件管理器jsp留言板源代码一: 给jsp初学者.在jsp中用bean和servlet联合实现用户注册、使用JSP + JAVABEAN + XML 开发的一个例子jsp在线考试系统-jsp文件 jsp计数器代码JSP/JAVABEAN+TOMCAT4.0.5+MYSQL组合建站总