|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。js
1、我们能够经由过程任何撑持sun标准中的sun.net.smtp包的JSP引擎(如JSWDK)发送mail。
(告诫:利用内置的internalSun标准包,这将影响到你的jsp程序的可移植性。)
以下scriptlet使用SmtpClient类在jsp文件中发送email。
2、JavaMail是官方的JavamailAPI,可参考http://java.sun.com/products/javamail/。固然该API比sun.net.smtp.SmtpClient更丰厚大概说更庞大,但它是可移植的。这里从头创立了一个MailSender类,它包括了JavaMailAPI。以下所示:
//ms_prefixisforMailSenderclassvariables
//strprefixisforString
//astrprefixisforarrayofStrings
//strbufprefixisforStringBuffers,etc.
publicMailSender(
StringstrFrom,//sender
String[]astrTo,//recipient(s)
String[]astrBCC,//bccrecipient(s),optional
StringstrSubject,//subject
booleandebugging)
{
ms_strFrom=strFrom;//whothemessageisfrom
ms_astrTo=astrTo;//who(plural)themessageisto
ms_debugging=debugging;//who(plural)themessageisto
//setthehost
Propertiesprops=newProperties();
props.put("mail.smtp.host",ms_strSMTPHost);
//createsomepropertiesandgetthedefaultSession
Sessionsession=Session.getDefaultInstance(props,null);
session.setDebug(ms_debugging);
try{
//createamessage
ms_msg=newMimeMessage(session);
//setthefrom
InternetAddressfrom=newInternetAddress(strFrom);
ms_msg.setFrom(from);
//settheto
InternetAddress[]address=newInternetAddress[astrTo.length];
for(inti=0;iastrTo.length;++i)
{
address[i]=newInternetAddress(astrTo[i]);
}
ms_msg.setRecipients(Message.RecipientType.TO,address);
//setthebccrecipients
if(astrBCC!=null)
{
address=newInternetAddress[astrBCC.length];
for(inti=0;iastrBCC.length;++i)
{
eh.dbg("astrBCC["+i+"]is:"+astrBCC[i]+"");
address[i]=newInternetAddress(astrBCC[i]);
}
ms_msg.setRecipients(Message.RecipientType.BCC,address);
}
//setthesubject
ms_msg.setSubject(strSubject);
//setupthestringbufferwhichwillholdthemessage
ms_strbufMsg=newStringBuffer();
}catch(MessagingExceptionmex){
mex.printStackTrace(System.err);
}catch(Exceptionex){
ex.printStackTrace(System.err);
}
}
publicvoidms_add(StringstrText)
{
ms_strbufMsg.append(strText);
}
publicvoidms_send()
{
try{
//setthecontentasplaintext
ms_msg.setContent(newString(ms_strbufMsg),"text/plain");
//andaway
Transport.send(ms_msg);
}catch(Exceptionex){
System.out.println("CaughtexceptioninMailSender.ms_send:"+ex);
}
}
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。 |
|