加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

推荐实现在jsp中发送email的方法

发布时间:2023-07-01 15:00:19 所属栏目:教程 来源:
导读:其实使用JSP发送邮件的很简单的一件事,但是它需要JavaMail API,今天这篇文章是错新技术频道小编给大家带来的实现在jsp中发送email的方法,一起进入下文了解一下吧!

在jsp中发送email

一、我们可以通过任何
其实使用JSP发送邮件的很简单的一件事,但是它需要JavaMail API,今天这篇文章是错新技术频道小编给大家带来的实现在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);
 
}
 
}
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!