LOG4J为输出日志信息提供了非常丰富的功能,如输出到控制台、文件、HMTL文件、远程数据、JMS、EMAIL等,个人认为EMAIL自动发送功能,可以及时把FATAL级的信息第一时间通知负责人 ,尽早排除错误,维护程序的正常运行有很大的作用。
但EMAIL有时也并不能及时到达负责人那里,如果能提花MSN的接口就好了,当然这是后话,不过我到是有这个想法,自己做个扩展Appender来实现。
LOG4J的输出方案里面提供了一个SMTPAppender,用来自动发送日志到指定的Email。但是到目前为止,最高的版本1.3Alpha,但是依然没有解决发送邮件时进行认识的问题,虽然需要增加几段简单的代码,但不明白那些大牛真的不知道还是没有功夫来改进这个功能,现在几乎所有的邮箱发送邮件都需要认证的。既然如此,我们只能自己来改进它了。
由于SMTPAppender的属性都是私有的,没有给我们留下继承的可能,所以我们选择直接从它的父类AppenderSkeleton来继承,然后把SMTPAppender的源代码全部COPY过来,增加如下EMAIL用户名、密码和是否需要认证的标记:
//
define auth info
private
String smtpUsername;
private
String smtpPassword;
private
String smtpAuth;
在activateOptions()方法中增加验证的代码:
/**/
/* ADD auth code */
if
(smtpAuth
!=
null
&&
smtpAuth.trim().equals(
"
true
"
))
...
{ props.put( " mail.smtp.auth " , " true " ); authenticator = new Authenticator() ... { protected PasswordAuthentication getPasswordAuthentication() ... { return new PasswordAuthentication(smtpUsername, smtpPassword); } }; }
//
Session session = Session.getInstance(props, null);
Session session
=
Session.getInstance(props, authenticator);
如果发送的日志信息涉及到中文字符,还必须设定发送内容的编码,在sendBuffer()方法如修改设置content为如下所示,把编码方式指定为GB2312格式:
part.setContent(sbuf.toString(), layout.getContentType()
+
"
;charset=GB2312
"
);
最后添加三个新加属性的GETTER和SETTER,全部源代码如下所示:
package
com.gftech.log4j;
import
java.util.Date;
import
java.util.Properties;
import
javax.mail.Authenticator;
import
javax.mail.Message;
import
javax.mail.MessagingException;
import
javax.mail.Multipart;
import
javax.mail.PasswordAuthentication;
import
javax.mail.Session;
import
javax.mail.Transport;
import
javax.mail.internet.AddressException;
import
javax.mail.internet.InternetAddress;
import
javax.mail.internet.MimeBodyPart;
import
javax.mail.internet.MimeMessage;
import
javax.mail.internet.MimeMultipart;
import
org.apache.log4j.AppenderSkeleton;
import
org.apache.log4j.Level;
import
org.apache.log4j.helpers.CyclicBuffer;
import
org.apache.log4j.helpers.LogLog;
import
org.apache.log4j.helpers.OptionConverter;
import
org.apache.log4j.spi.ErrorCode;
import
org.apache.log4j.spi.LoggingEvent;
import
org.apache.log4j.spi.TriggeringEventEvaluator;
/** */
/** * SMTP Appender扩展,增加对邮件认证的支持 * * @author lenovo * */
public
class
SMTPExtAppender
extends
AppenderSkeleton
...
{ private String to; private String from; private String subject; private String smtpHost; // define auth info private String smtpUsername; private String smtpPassword; private String smtpAuth; // -------------------------- private int bufferSize = 512 ; private boolean locationInfo = false ; protected CyclicBuffer cb = new CyclicBuffer(bufferSize); protected Message msg; protected TriggeringEventEvaluator evaluator; /** */ /** * The default constructor will instantiate the appender with a * {@link TriggeringEventEvaluator} that will trigger on events with level * ERROR or higher. */ public SMTPExtAppender() ... { this ( new DefaultEvaluator()); } /** */ /** * Use <code>evaluator</code> passed as parameter as the {@link * TriggeringEventEvaluator} for this SMTPAppender. */ public SMTPExtAppender(TriggeringEventEvaluator evaluator) ... { this .evaluator = evaluator; } /** */ /** * Activate the specified options, such as the smtp host, the recipient, * from, etc. */ public void activateOptions() ... { Properties props = new Properties(System.getProperties()); Authenticator authenticator = null ; if (smtpHost != null ) props.put( " mail.smtp.host " , smtpHost); /**/ /* ADD auth code */ if (smtpAuth != null && smtpAuth.trim().equals( " true " )) ... { props.put( " mail.smtp.auth " , " true " ); authenticator = new Authenticator() ... { protected PasswordAuthentication getPasswordAuthentication() ... { return new PasswordAuthentication(smtpUsername, smtpPassword); } }; } // Session session = Session.getInstance(props, null); Session session = Session.getInstance(props, authenticator); // session.setDebug(true); msg = new MimeMessage(session); try ... { if (from != null ) msg.setFrom(getAddress(from)); else msg.setFrom(); msg.setRecipients(Message.RecipientType.TO, parseAddress(to)); if (subject != null ) msg.setSubject(subject); } catch (MessagingException e) ... { LogLog.error( " Could not activate SMTPAppender options. " , e); } } /** */ /** * Perform SMTPAppender specific appending actions, mainly adding the event * to a cyclic buffer and checking if the event triggers an e-mail to be * sent. */ public void append(LoggingEvent event) ... { if ( ! checkEntryConditions()) ... { return ; } event.getThreadName(); event.getNDC(); if (locationInfo) ... { event.getLocationInformation(); } cb.add(event); if (evaluator.isTriggeringEvent(event)) ... { sendBuffer(); } } /** */ /** * This method determines if there is a sense in attempting to append. * * <p> * It checks whether there is a set output target and also if there is a set * layout. If these checks fail, then the boolean value <code>false</code> * is returned. */ protected boolean checkEntryConditions() ... { if ( this .msg == null ) ... { errorHandler.error( " Message object not configured. " ); return false ; } if ( this .evaluator == null ) ... { errorHandler.error( " No TriggeringEventEvaluator is set for appender [ " + name + " ]. " ); return false ; } if ( this .layout == null ) ... { errorHandler.error( " No layout set for appender named [ " + name + " ]. " ); return false ; } return true ; } synchronized public void close() ... { this .closed = true ; } InternetAddress getAddress(String addressStr) ... { try ... { return new InternetAddress(addressStr); } catch (AddressException e) ... { errorHandler.error( " Could not parse address [ " + addressStr + " ]. " , e, ErrorCode.ADDRESS_PARSE_FAILURE); return null ; } } InternetAddress[] parseAddress(String addressStr) ... { try ... { return InternetAddress.parse(addressStr, true ); } catch (AddressException e) ... { errorHandler.error( " Could not parse address [ " + addressStr + " ]. " , e, ErrorCode.ADDRESS_PARSE_FAILURE); return null ; } } /** */ /** * Returns value of the <b>To</b> option. */ public String getTo() ... { return to; } /** */ /** * The <code>SMTPAppender</code> requires a {@link org.apache.log4j.Layout * layout}. */ public boolean requiresLayout() ... { return true ; } /** */ /** * Send the contents of the cyclic buffer as an e-mail message. */ protected void sendBuffer() ... { // Note: this code already owns the monitor for this // appender. This frees us from needing to synchronize on 'cb'. try ... { MimeBodyPart part = new MimeBodyPart(); StringBuffer sbuf = new StringBuffer(); String t = layout.getHeader(); if (t != null ) sbuf.append(t); int len = cb.length(); for ( int i = 0 ; i < len; i ++ ) ... { // sbuf.append(MimeUtility.encodeText(layout.format(cb.get()))); LoggingEvent event = cb.get(); sbuf.append(layout.format(event)); if (layout.ignoresThrowable()) ... { String[] s = event.getThrowableStrRep(); if (s != null ) ... { for ( int j = 0 ; j < s.length; j ++ ) ... { sbuf.append(s[j]); } } } } t = layout.getFooter(); if (t != null ) sbuf.append(t); part.setContent(sbuf.toString(), layout.getContentType() + " ;charset=GB2312 " ); Multipart mp = new MimeMultipart(); mp.addBodyPart(part); msg.setContent(mp ); msg.setSentDate( new Date()); Transport.send(msg); } catch (Exception e) ... { LogLog.error( " Error occured while sending e-mail notification. " , e); } } /** */ /** * Returns value of the <b>EvaluatorClass</b> option. */ public String getEvaluatorClass() ... { return evaluator == null ? null : evaluator.getClass().getName(); } /** */ /** * Returns value of the <b>From</b> option. */ public String getFrom() ... { return from; } /** */ /** * Returns value of the <b>Subject</b> option. */ public String getSubject() ... { return subject; } /** */ /** * The <b>From</b> option takes a string value which should be a e-mail * address of the sender. */ public void setFrom(String from) ... { this .from = from; } /** */ /** * The <b>Subject</b> option takes a string value which should be a the * subject of the e-mail message. */ public void setSubject(String subject) ... { this .subject = subject; } /** */ /** * The <b>BufferSize</b> option takes a positive integer representing the * maximum number of logging events to collect in a cyclic buffer. When the * <code>BufferSize</code> is reached, oldest events are deleted as new * events are added to the buffer. By default the size of the cyclic buffer * is 512 events. */ public void setBufferSize( int bufferSize) ... { this .bufferSize = bufferSize; cb.resize(bufferSize); } /** */ /** * The <b>SMTPHost</b> option takes a string value which should be a the * host name of the SMTP server that will send the e-mail message. */ public void setSMTPHost(String smtpHost) ... { this .smtpHost = smtpHost; } /** */ /** * Returns value of the <b>SMTPHost</b> option. */ public String getSMTPHost() ... { return smtpHost; } /** */ /** * The <b>To</b> option takes a string value which should be a comma * separated list of e-mail address of the recipients. */ public void setTo(String to) ... { this .to = to; } /** */ /** * Returns value of the <b>BufferSize</b> option. */ public int getBufferSize() ... { return bufferSize; } /** */ /** * The <b>EvaluatorClass</b> option takes a string value representing the * name of the class implementing the {@link TriggeringEventEvaluator} * interface. A corresponding object will be instantiated and assigned as * the triggering event evaluator for the SMTPAppender. */ public void setEvaluatorClass(String value) ... { evaluator = (TriggeringEventEvaluator) OptionConverter.instantiateByClassName(value, TriggeringEventEvaluator. class , evaluator); } /** */ /** * The <b>LocationInfo</b> option takes a boolean value. By default, it is * set to false which means there will be no effort to extract the location * information related to the event. As a result, the layout that formats * the events as they are sent out in an e-mail is likely to place the wrong * location information (if present in the format). * * <p> * Location information extraction is comparatively very slow and should be * avoided unless performance is not a concern. */ public void setLocationInfo( boolean locationInfo) ... { this .locationInfo = locationInfo; } /** */ /** * Returns value of the <b>LocationInfo</b> option. */ public boolean getLocationInfo() ... { return locationInfo; } public String getSMTPAuth() ... { return smtpAuth; } /** */ /** * 设置是否进行SMTP认证。 */ public void setSMTPAuth(String smtpAuth) ... { this .smtpAuth = smtpAuth; } /** */ /** * Returns value of the <b>SMTPPassword</b> option. * * @return <b>SMTPPassword</b> */ public String getSMTPPassword() ... { return smtpPassword; } /** */ /** * 设置访问SMTP服务器的密码。 */ public void setSMTPPassword(String smtpPassword) ... { this .smtpPassword = smtpPassword; } /** */ /** * Returns value of the <b>SMTPUsername</b> option. * * @return <b>SMTPUsername</b> */ public String getSMTPUsername() ... { return smtpUsername; } /** */ /** * 设置访问SMTP服务器的用户名。 */ public void setSMTPUsername(String smtpUsername) ... { this .smtpUsername = smtpUsername; } }
class
DefaultEvaluator
implements
TriggeringEventEvaluator
...
{ /** */ /** * Is this <code>event</code> the e-mail triggering event? * * <p> * This method returns <code>true</code>, if the event level has ERROR * level or higher. Otherwise it returns <code>false</code>. */ public boolean isTriggeringEvent(LoggingEvent event) ... { return event.getLevel().isGreaterOrEqual(Level.ERROR); } }
此时,你只需要加在配置文件中按如下方式设置输出方案即可:
log4j.rootLogger
=
DEBUG
,
A6 #A6 send log info(ERROR or Fatal) by Email log4j.appender.A6
=
com.gftech.log4j.SMTPExtAppender log4j.appender.A6.Threshold
=
FATAL log4j.appender.A6.SMTPHost
=
smtp
.126
.com log4j.appender.A6.to
=
xxx@
126
.com log4j.appender.A6.from
=
xxx@
126
.com log4j.appender.A6.SMTPAuth
=
true log4j.appender.A6.SMTPUsername
=
your name log4j.appender.A6.SMTPPassword
=
your pwd log4j.appender.A6.Subject
=
Log4J Message log4j.appender.A6.layout
=
org.apache.log4j.PatternLayout log4j.appender.A6.layout.ConversionPattern
=
[
%d{HH:mm:ss}
]
[
%t
]
%c - %-5p - %m%n
需要注意的是,LOG4J的SMTPAppender引用的是JAVAMAIL邮件发送API,所以在使用时首先把把mai.jar &activation.jar两个压缩包导入到工程中,一切OK,就可以自动收到日志的EMAIL通知了。
另外,在用Ant打包的时候,如果是mail.jar和activation.jar和你自己的程序打成一个JAR文件,可能会出现Security异常,因为没有把这两个JAR文件中MANIFEST。MF中的安全认证信息打入到新的JAR中的缘故。此时你需要在Build文件当中把mail.jar activation.jar中MANIFEST。MF的所有Name &SHA1-Digest信息指明:
<
target
name
="jar"
depends
="compile"
>
<
jar
destfile
="${distDir}dp.jar"
basedir
="${buildDir}"
>
<
manifest
>
<
attribute
name
="Built-By"
value
="sinboy"
/>
<
attribute
name
="Company"
value
="PUSHGET.Inc"
/>
<
attribute
name
="Main-Class"
value
="com.gftech.dp.run.DPMain"
/>
<
section
name
="javax/mail/search/SearchTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="SwGnDhIUmpZhfhq/FKkCQ9nD7ZE="
/>
</
section
>
<
section
name
="javax/mail/SendFailedException.class"
>
<
attribute
name
="SHA1-Digest"
value
="XdCEygaIZQB9YrH2WIr4nPRYYk0="
/>
</
section
>
<
section
name
="com/sun/mail/util/SocketFetcher.class"
>
<
attribute
name
="SHA1-Digest"
value
="t1zb5tdpmoyCI6yvj3rbVCaUQsg="
/>
</
section
>
<
section
name
="com/sun/mail/smtp/SMTPTransport.class"
>
<
attribute
name
="SHA1-Digest"
value
="m7gR5cNHpfSkrnpb5eWLsBDfDMc="
/>
</
section
>
<
section
name
="javax/mail/internet/ParameterList$Value.class"
>
<
attribute
name
="SHA1-Digest"
value
="Ba14JX9tBBfIz8Z8mfIrms2/Tg0="
/>
</
section
>
<
section
name
="com/sun/mail/iap/ResponseHandler.class"
>
<
attribute
name
="SHA1-Digest"
value
="yGvfD66wKBii8T3I6EC433zQTr8="
/>
</
section
>
<
section
name
="javax/mail/StreamLoader.class"
>
<
attribute
name
="SHA1-Digest"
value
="N7B+7bTB0kXU/jTZLFyPtmBiClw="
/>
</
section
>
<
section
name
="javax/mail/PasswordAuthentication.class"
>
<
attribute
name
="SHA1-Digest"
value
="uIlizmGvEBXRyn9L38dAqkg85Zg="
/>
</
section
>
<
section
name
="javax/mail/event/ConnectionListener.class"
>
<
attribute
name
="SHA1-Digest"
value
="r9kShgKGnR+pVozJlq0cfrdoer8="
/>
</
section
>
<
section
name
="javax/mail/event/MessageCountEvent.class"
>
<
attribute
name
="SHA1-Digest"
value
="d/bi4YLUlTL9hTGgHkClSiVcn0A="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/FLAGS.class"
>
<
attribute
name
="SHA1-Digest"
value
="24lbvK78pA83CH1GNdcVjwzrLQk="
/>
</
section
>
<
section
name
="com/sun/mail/util/QEncoderStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="RERq2YEAlJdRSASB1+/bRDUZ1jA="
/>
</
section
>
<
section
name
="javax/mail/internet/AsciiOutputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="p+y2kTfs8UNufg7ktfliwY20/2I="
/>
</
section
>
<
section
name
="javax/mail/Authenticator.class"
>
<
attribute
name
="SHA1-Digest"
value
="k3UFnUKoAt4IQtcdeEZtv+dm2Ds="
/>
</
section
>
<
section
name
="javax/mail/event/TransportEvent.class"
>
<
attribute
name
="SHA1-Digest"
value
="tnphK+ufr9sq8fbtt8GDX0mzeiE="
/>
</
section
>
<
section
name
="com/sun/mail/imap/Utility.class"
>
<
attribute
name
="SHA1-Digest"
value
="1D/KDAoDmWWgidnGn3sqI1PMFxk="
/>
</
section
>
<
section
name
="javax/mail/search/NotTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="shuAXO/kFNlu/TmHgH3+ypJUeDU="
/>
</
section
>
<
section
name
="com/sun/mail/iap/ParsingException.class"
>
<
attribute
name
="SHA1-Digest"
value
="7lhvqrFkYc9KjMaYjdnv0xifzys="
/>
</
section
>
<
section
name
="javax/mail/Transport.class"
>
<
attribute
name
="SHA1-Digest"
value
="Y37lZMHK7Jq7CXa3PYZWQrO7yWI="
/>
</
section
>
<
section
name
="com/sun/mail/imap/DefaultFolder$1.class"
>
<
attribute
name
="SHA1-Digest"
value
="j32w2xWJUrHuObIfVEOgvehwSYs="
/>
</
section
>
<
section
name
="javax/mail/internet/ParseException.class"
>
<
attribute
name
="SHA1-Digest"
value
="v4P7yGuAwE0DZupPQaSHaAdXS2U="
/>
</
section
>
<
section
name
="javax/mail/util/SharedByteArrayInputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="FWSJsKYWqxOtBYcrF3wUSQvH43s="
/>
</
section
>
<
section
name
="com/sun/mail/imap/DefaultFolder$2.class"
>
<
attribute
name
="SHA1-Digest"
value
="VGh1qpsH4KmYaCFfsAWwlVAYcsY="
/>
</
section
>
<
section
name
="javax/mail/search/FromStringTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="BQY0XuBFVGCvEGAViY3HmVVM+cA="
/>
</
section
>
<
section
name
="javax/mail/MessageContext.class"
>
<
attribute
name
="SHA1-Digest"
value
="tJn3GN4+TAzDBPblIFDcIy3/bdU="
/>
</
section
>
<
section
name
="javax/mail/search/IntegerComparisonTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="Agg/d9pMeLnCLSEaCtbRelYYDfg="
/>
</
section
>
<
section
name
="javax/mail/search/MessageNumberTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="alYBxQrpbhZ6q0rBpl2/lvlx7GA="
/>
</
section
>
<
section
name
="javax/mail/FolderClosedException.class"
>
<
attribute
name
="SHA1-Digest"
value
="vYhnfKiXn2YoGyvHz+tguTfaIP0="
/>
</
section
>
<
section
name
="com/sun/mail/imap/AppendUID.class"
>
<
attribute
name
="SHA1-Digest"
value
="SLK9LVlF1fbl1V8CpPCSKZoT1Uw="
/>
</
section
>
<
section
name
="javax/mail/Part.class"
>
<
attribute
name
="SHA1-Digest"
value
="v8Ntk2UFlvj+LmGQ9XmkhnoHcy4="
/>
</
section
>
<
section
name
="javax/mail/internet/ContentDisposition.class"
>
<
attribute
name
="SHA1-Digest"
value
="/IeyuioYjDEmpU9R67nV6MW2baw="
/>
</
section
>
<
section
name
="com/sun/mail/util/BEncoderStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="RCczqyNFbrCIw4exyiaRL4S8//E="
/>
</
section
>
<
section
name
="com/sun/mail/imap/Rights.class"
>
<
attribute
name
="SHA1-Digest"
value
="25nkoJpUi/dSVu+3LW4gFxTKPTE="
/>
</
section
>
<
section
name
="javax/mail/search/SizeTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="VQU+xieSmnW6IKCZbxBGAGO72FI="
/>
</
section
>
<
section
name
="javax/mail/internet/HeaderTokenizer.class"
>
<
attribute
name
="SHA1-Digest"
value
="yqLVRsECSE3/XMcUvqgm3KQKrqY="
/>
</
section
>
<
section
name
="javax/mail/Address.class"
>
<
attribute
name
="SHA1-Digest"
value
="F0NqT2KxW+1J8lD0omnP9+w4gu4="
/>
</
section
>
<
section
name
="javax/mail/Quota$Resource.class"
>
<
attribute
name
="SHA1-Digest"
value
="4lI7yvUMS+i6fp+KBNVcdystC4U="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPMessage.class"
>
<
attribute
name
="SHA1-Digest"
value
="rWS3NNtpiIh+RyFphG41OUrBf30="
/>
</
section
>
<
section
name
="com/sun/mail/smtp/SMTPSendFailedException.class"
>
<
attribute
name
="SHA1-Digest"
value
="Vbu794NrfTM/9wRntXvoEiHyWU4="
/>
</
section
>
<
section
name
="com/sun/mail/iap/LiteralException.class"
>
<
attribute
name
="SHA1-Digest"
value
="k+vUzyDJboXXMQhihHHTH2rJxsA="
/>
</
section
>
<
section
name
="javax/mail/internet/MailDateFormat.class"
>
<
attribute
name
="SHA1-Digest"
value
="+kruG7hFxllbZyh9E99k1Kd3P/Q="
/>
</
section
>
<
section
name
="com/sun/mail/util/TraceOutputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="KahCJLc2hA4anc7AuBYGfRZ1tOM="
/>
</
section
>
<
section
name
="com/sun/mail/smtp/SMTPSSLTransport.class"
>
<
attribute
name
="SHA1-Digest"
value
="6U1CnwlO4l/cdSgmZzSpwNKl8EM="
/>
</
section
>
<
section
name
="javax/mail/event/MessageCountAdapter.class"
>
<
attribute
name
="SHA1-Digest"
value
="HvTYZB0DcHn/CFdbKenl1+3v5Sk="
/>
</
section
>
<
section
name
="com/sun/mail/util/UUDecoderStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="+Wb2QOPVh4TRngNVqjtEzhsMhqc="
/>
</
section
>
<
section
name
="com/sun/mail/util/CRLFOutputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="nR7HVOvNjd3ayK53T8sO5mwM5yQ="
/>
</
section
>
<
section
name
="com/sun/mail/util/LineOutputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="jWkOmR0BbPRldQEj7G//xddq9Po="
/>
</
section
>
<
section
name
="com/sun/mail/pop3/SharedByteArrayOutputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="jkrt4GJ8/IM29mg9mQyLcxCY120="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/INTERNALDATE.class"
>
<
attribute
name
="SHA1-Digest"
value
="OqU9Z7ln6JrVZ58ohm6Ocx1J8vs="
/>
</
section
>
<
section
name
="javax/mail/ReadOnlyFolderException.class"
>
<
attribute
name
="SHA1-Digest"
value
="EjoXZIVbzRayE7vGgZYw8bFqAZI="
/>
</
section
>
<
section
name
="javax/mail/MessagingException.class"
>
<
attribute
name
="SHA1-Digest"
value
="1rm4zZYMd44J3zuiUslO5YaDy0E="
/>
</
section
>
<
section
name
="com/sun/mail/iap/ResponseInputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="GiRkycsTxtR567cZA8joTaFi+Ys="
/>
</
section
>
<
section
name
="com/sun/mail/pop3/Protocol.class"
>
<
attribute
name
="SHA1-Digest"
value
="5/PoznIV6yAFCZaAa0bJBpy8Zaw="
/>
</
section
>
<
section
name
="javax/mail/internet/ParameterList.class"
>
<
attribute
name
="SHA1-Digest"
value
="s4OQRwSPP4stt14uzW5PUIe0Y7g="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/IMAPAddress.class"
>
<
attribute
name
="SHA1-Digest"
value
="x4IZM0hO4K5454CViPWheuJLPWs="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPNestedMessage.class"
>
<
attribute
name
="SHA1-Digest"
value
="q7iSelvjmet+Dgee9o80/XlS/Nk="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$8.class"
>
<
attribute
name
="SHA1-Digest"
value
="NCnDNVxAzVd4+qFXHW+UPsNQtrQ="
/>
</
section
>
<
section
name
="javax/mail/Service.class"
>
<
attribute
name
="SHA1-Digest"
value
="E9JdtYtLsOJugORGBd5rY32gqOU="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/FetchResponse.class"
>
<
attribute
name
="SHA1-Digest"
value
="AUVCzHOTr4SqTNs/zVtHLt6wUoY="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$9.class"
>
<
attribute
name
="SHA1-Digest"
value
="Qnbi4cEe9Qkmcu7KJUT/NsrPVI4="
/>
</
section
>
<
section
name
="javax/mail/internet/InternetHeaders$matchEnum.class"
>
<
attribute
name
="SHA1-Digest"
value
="S0qWuwt1zjRA8+2MZ9FzHlKdqeY="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/BODY.class"
>
<
attribute
name
="SHA1-Digest"
value
="2tbY3A3j+m4RxkUWtD0XCYdNY3c="
/>
</
section
>
<
section
name
="javax/mail/Session$5.class"
>
<
attribute
name
="SHA1-Digest"
value
="FBdDiCuPRTFgx+jUzolhqP+uY4E="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPSSLStore.class"
>
<
attribute
name
="SHA1-Digest"
value
="sfXvpQ/UPJtPREc0+LCbmMBil+8="
/>
</
section
>
<
section
name
="javax/mail/search/OrTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="yg3h4Rxh5CZkkdooxp+sG0PpzmY="
/>
</
section
>
<
section
name
="javax/mail/search/ComparisonTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="L7Yiwqtu072QHMQKA9InH4v2HGU="
/>
</
section
>
<
section
name
="javax/mail/internet/MimeMessage$RecipientType.class"
>
<
attribute
name
="SHA1-Digest"
value
="mfT1n4tOAu8ypXfrNG1m/SDXVVg="
/>
</
section
>
<
section
name
="javax/mail/Session$6.class"
>
<
attribute
name
="SHA1-Digest"
value
="Joo7rO6tUOSLZN/8miuRuUQ+24s="
/>
</
section
>
<
section
name
="javax/mail/AuthenticationFailedException.class"
>
<
attribute
name
="SHA1-Digest"
value
="I1625Jhgvl2oJ9a/02NjeVmkHdo="
/>
</
section
>
<
section
name
="com/sun/mail/imap/Utility$Condition.class"
>
<
attribute
name
="SHA1-Digest"
value
="8NsldZIZXDNbzlM9+p70Kn4sM5U="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/MailboxInfo.class"
>
<
attribute
name
="SHA1-Digest"
value
="fHUgeJxgcJOXa9MM7ODLg02SlEg="
/>
</
section
>
<
section
name
="javax/mail/Session$7.class"
>
<
attribute
name
="SHA1-Digest"
value
="vRzS94dOXlCYlXCzgDG3doY2Tr0="
/>
</
section
>
<
section
name
="com/sun/mail/handlers/multipart_mixed.class"
>
<
attribute
name
="SHA1-Digest"
value
="+qsWpTL6/4oDwuWPwKA75EStKjA="
/>
</
section
>
<
section
name
="com/sun/mail/pop3/POP3SSLStore.class"
>
<
attribute
name
="SHA1-Digest"
value
="5yzvlE7d7Aw4SyP8EaKrojXDX3Y="
/>
</
section
>
<
section
name
="com/sun/mail/pop3/POP3Folder.class"
>
<
attribute
name
="SHA1-Digest"
value
="d+8iiqO13asArUbv7FS3EUMVf3k="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$6.class"
>
<
attribute
name
="SHA1-Digest"
value
="NRrkXkmS0ZSFdFBzaZozv5w2cW4="
/>
</
section
>
<
section
name
="com/sun/mail/imap/DefaultFolder.class"
>
<
attribute
name
="SHA1-Digest"
value
="3q24N9NENff+yXuTtIu7ZGx4qn4="
/>
</
section
>
<
section
name
="javax/mail/QuotaAwareStore.class"
>
<
attribute
name
="SHA1-Digest"
value
="IZLYiL3EQAOF/IbDfod+LApLwNM="
/>
</
section
>
<
section
name
="com/sun/mail/util/ASCIIUtility.class"
>
<
attribute
name
="SHA1-Digest"
value
="CMrJ7jaTOyOPrwiYX0ZBPWVW7ro="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$7.class"
>
<
attribute
name
="SHA1-Digest"
value
="+QsnrLRR3Wt2dVmBV7yM+IjT9AU="
/>
</
section
>
<
section
name
="javax/mail/search/AddressTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="/jaEC3NoAkYzg1xa4h8ZdXuuTd4="
/>
</
section
>
<
section
name
="com/sun/mail/pop3/POP3Message.class"
>
<
attribute
name
="SHA1-Digest"
value
="+vA0SHytAwpc7YdRyNpux2pwizA="
/>
</
section
>
<
section
name
="com/sun/mail/util/BASE64DecoderStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="RFSwdy1TaIsT+5d4vaRBrwq27+o="
/>
</
section
>
<
section
name
="javax/mail/internet/MailDateParser.class"
>
<
attribute
name
="SHA1-Digest"
value
="lIkScp3/P2jWfHkMF6YM6Dl9uWY="
/>
</
section
>
<
section
name
="javax/mail/util/SharedFileInputStream$SharedFile.class"
>
<
attribute
name
="SHA1-Digest"
value
="AH+LilDol1KlaI3dJjnTba7AURw="
/>
</
section
>
<
section
name
="javax/mail/Session$3.class"
>
<
attribute
name
="SHA1-Digest"
value
="8lQ7jGQ3bIZdy+C90142yYnhZWA="
/>
</
section
>
<
section
name
="javax/mail/Multipart.class"
>
<
attribute
name
="SHA1-Digest"
value
="LeNxzsAMZVcJOno0atpa0kjAgS8="
/>
</
section
>
<
section
name
="javax/mail/internet/MimePart.class"
>
<
attribute
name
="SHA1-Digest"
value
="ZfiU0V88g9bAM4ciN0v0MV+vbuo="
/>
</
section
>
<
section
name
="javax/mail/Folder$TerminatorEvent.class"
>
<
attribute
name
="SHA1-Digest"
value
="aewfzfq4RnH0sjhghnJI2wn/o6Q="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/Namespaces.class"
>
<
attribute
name
="SHA1-Digest"
value
="8nWrw5x/n8XSImF+k5byg1HGpYg="
/>
</
section
>
<
section
name
="javax/mail/internet/UniqueValue.class"
>
<
attribute
name
="SHA1-Digest"
value
="mKfhPmIxaYb399Wv+BVEOHZt8FY="
/>
</
section
>
<
section
name
="javax/mail/Session$4.class"
>
<
attribute
name
="SHA1-Digest"
value
="U8QyRwul2hu824mF9cUvGrBUFe0="
/>
</
section
>
<
section
name
="com/sun/mail/pop3/Response.class"
>
<
attribute
name
="SHA1-Digest"
value
="+aAu+JdeCVY0h1mjHfCNWABM37Q="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$3.class"
>
<
attribute
name
="SHA1-Digest"
value
="4we1LKF7W2JytseheS1g0nUgkL8="
/>
</
section
>
<
section
name
="javax/mail/internet/MimeUtility.class"
>
<
attribute
name
="SHA1-Digest"
value
="JjlO7asnqVITwCfVrbA1STgXz6A="
/>
</
section
>
<
section
name
="javax/mail/internet/SharedInputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="cd1RnW9/RIsq6sqHpaSduNjlYEI="
/>
</
section
>
<
section
name
="com/sun/mail/iap/ConnectionException.class"
>
<
attribute
name
="SHA1-Digest"
value
="tQxsOOqed968o8ZOOypAwjBElcM="
/>
</
section
>
<
section
name
="javax/mail/event/TransportListener.class"
>
<
attribute
name
="SHA1-Digest"
value
="gQ1Z41tJDKnIXydxMeSllBIZS3g="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$4.class"
>
<
attribute
name
="SHA1-Digest"
value
="A4wsFdQfqGLKc/O2odaxNY7FFp4="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/ListInfo.class"
>
<
attribute
name
="SHA1-Digest"
value
="T/VMdqBM12ac1UiOvMqNMdQOAzE="
/>
</
section
>
<
section
name
="javax/mail/internet/ParameterList$ParamEnum.class"
>
<
attribute
name
="SHA1-Digest"
value
="iUN133n7SUEqaGgr7TEtEJ/b5/s="
/>
</
section
>
<
section
name
="com/sun/mail/handlers/message_rfc822.class"
>
<
attribute
name
="SHA1-Digest"
value
="rd1N1+wdjK8QarQwz3yDBIhqOfM="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/SearchSequence.class"
>
<
attribute
name
="SHA1-Digest"
value
="7bZKdWN1ueHm3aMPL3dlc1l19hU="
/>
</
section
>
<
section
name
="javax/mail/search/ReceivedDateTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="M3fCMCt3CO1xA6u07F+nsU853tE="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$17.class"
>
<
attribute
name
="SHA1-Digest"
value
="qpIhBkn5vMyVrbo8+QhdlKEqDTY="
/>
</
section
>
<
section
name
="com/sun/mail/iap/ByteArray.class"
>
<
attribute
name
="SHA1-Digest"
value
="UYEtyuO19ytNZ48M2wYWRdHwx+E="
/>
</
section
>
<
section
name
="javax/mail/search/RecipientStringTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="MRcnLcCXpcSo2oDVpyVwWTemYko="
/>
</
section
>
<
section
name
="javax/mail/event/MessageChangedEvent.class"
>
<
attribute
name
="SHA1-Digest"
value
="8CU6Wnq+3ja6TXnZFYRgkXUtiTU="
/>
</
section
>
<
section
name
="javax/mail/internet/MimeMessage.class"
>
<
attribute
name
="SHA1-Digest"
value
="b7Tj4xackzVl0stsHYCjnzX1axM="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$5.class"
>
<
attribute
name
="SHA1-Digest"
value
="nv1Jam2kffa50ksm/6zYFPcINsI="
/>
</
section
>
<
section
name
="javax/mail/search/BodyTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="qmMvZum/txPI7r3J0FBWrJKrMTA="
/>
</
section
>
<
section
name
="javax/mail/internet/MimeUtility$1$NullInputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="JJqErfrREMxAZRJmVnSjUesoHfY="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$18.class"
>
<
attribute
name
="SHA1-Digest"
value
="UFNk31lbEhl0XsCYppoyQeElBQc="
/>
</
section
>
<
section
name
="javax/mail/Session$1.class"
>
<
attribute
name
="SHA1-Digest"
value
="QwGMplNAXcUCRnRl4u51LY51XwY="
/>
</
section
>
<
section
name
="com/sun/mail/handlers/text_xml.class"
>
<
attribute
name
="SHA1-Digest"
value
="nS6uUygQlvCN0c/9SkUn4HLUjPg="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/MessageSet.class"
>
<
attribute
name
="SHA1-Digest"
value
="61RYkwDm5QMJaiYQ63jInOSGLJk="
/>
</
section
>
<
section
name
="javax/mail/Header.class"
>
<
attribute
name
="SHA1-Digest"
value
="Tp0KFn1OXdK19kwSyOPMfsEKfrk="
/>
</
section
>
<
section
name
="javax/mail/event/StoreEvent.class"
>
<
attribute
name
="SHA1-Digest"
value
="RYsdWisFbk2MNW/9JPOHrj0VyKM="
/>
</
section
>
<
section
name
="javax/mail/event/FolderListener.class"
>
<
attribute
name
="SHA1-Digest"
value
="MZh1iWbs74JoI7+NGpluKyaNJgo="
/>
</
section
>
<
section
name
="com/sun/mail/pop3/DefaultFolder.class"
>
<
attribute
name
="SHA1-Digest"
value
="V+mB7aIDJOH9jxToux/1eEhuLHw="
/>
</
section
>
<
section
name
="javax/mail/Session$2.class"
>
<
attribute
name
="SHA1-Digest"
value
="6kZVG4oi02AtC5dvLbUS0WT1mVM="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$1.class"
>
<
attribute
name
="SHA1-Digest"
value
="QzcphzG38nU+rM0vIPvw4pFDUuM="
/>
</
section
>
<
section
name
="com/sun/mail/iap/Literal.class"
>
<
attribute
name
="SHA1-Digest"
value
="tvJ76lsZrZ0AzIaZZXC4eGoWStw="
/>
</
section
>
<
section
name
="com/sun/mail/handlers/image_jpeg.class"
>
<
attribute
name
="SHA1-Digest"
value
="qy4H8xonRBzZ2cMwAKsrTc2ZLgY="
/>
</
section
>
<
section
name
="javax/mail/Folder.class"
>
<
attribute
name
="SHA1-Digest"
value
="sF77xp8LsPyKSW7p73nbPSvxd7M="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$2.class"
>
<
attribute
name
="SHA1-Digest"
value
="a4ts23Bw+zsUWTd+COuzmorWVoA="
/>
</
section
>
<
section
name
="javax/mail/Session.class"
>
<
attribute
name
="SHA1-Digest"
value
="7ROzRaA5HLOqmJcdr+ugMjA68vA="
/>
</
section
>
<
section
name
="javax/mail/search/MessageIDTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="9egi1cBrGxCnAT/nt2c2vsqmGGA="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/RFC822SIZE.class"
>
<
attribute
name
="SHA1-Digest"
value
="d/wTUExj4/HBSszeWp3ZKR5mMTY="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPStore$ConnectionPool.class"
>
<
attribute
name
="SHA1-Digest"
value
="Co5a5aIqP+tCLxqDwHLeu4r9VVY="
/>
</
section
>
<
section
name
="javax/mail/search/RecipientTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="6WjFJTB1+tm/vzYvVINjLIR0wBg="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$15.class"
>
<
attribute
name
="SHA1-Digest"
value
="iUzgOfHNHUPcdxlwlbmAj8Tlu+w="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/Namespaces$Namespace.class"
>
<
attribute
name
="SHA1-Digest"
value
="SH+KknJPgZyoVVg/GEEUbt5oZ1o="
/>
</
section
>
<
section
name
="javax/mail/MessageAware.class"
>
<
attribute
name
="SHA1-Digest"
value
="nI/sDijZ/+Rd8xB8oDMgoroD5kk="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$16.class"
>
<
attribute
name
="SHA1-Digest"
value
="uX/2zXcT60bxHYjrajs0SIg+4jE="
/>
</
section
>
<
section
name
="javax/mail/internet/InternetHeaders.class"
>
<
attribute
name
="SHA1-Digest"
value
="KknmShCiuWLp5GMAEV7i5agodxI="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder.class"
>
<
attribute
name
="SHA1-Digest"
value
="9GRKs5fE8f2Db9W7rX5Fizel1Qw="
/>
</
section
>
<
section
name
="com/sun/mail/util/QPDecoderStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="GlKSBEPZpgNov/H6YChPswTTYiE="
/>
</
section
>
<
section
name
="javax/mail/search/AndTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="FXr1XsdDoLz0Kk00/ddHINkQX30="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPBodyPart.class"
>
<
attribute
name
="SHA1-Digest"
value
="wr7JtYG7pkJtACY+v3Ypc8F4gJ4="
/>
</
section
>
<
section
name
="com/sun/mail/pop3/Status.class"
>
<
attribute
name
="SHA1-Digest"
value
="HK+jHY/UPJLbwafgDLfgFgEMitA="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$12.class"
>
<
attribute
name
="SHA1-Digest"
value
="eQAb0jIP39pQ0oVflgNq5/HZZr8="
/>
</
section
>
<
section
name
="com/sun/mail/imap/LengthCounter.class"
>
<
attribute
name
="SHA1-Digest"
value
="lfcMll/fvG13i/h2Cu9LgSClk0s="
/>
</
section
>
<
section
name
="javax/mail/search/FromTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="FAD9Tuc6edC7o9nlaUpklmeXlSE="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$ProtocolCommand.class"
>
<
attribute
name
="SHA1-Digest"
value
="2u3M2HaXIjC+bInGSGNqMS2ynzc="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$13.class"
>
<
attribute
name
="SHA1-Digest"
value
="ZeI0kxj++3P1kC+lC1xlC55IcZ8="
/>
</
section
>
<
section
name
="javax/mail/internet/ContentType.class"
>
<
attribute
name
="SHA1-Digest"
value
="BIrWtJl6qDZGevNd4scZxlONoEY="
/>
</
section
>
<
section
name
="com/sun/mail/iap/Protocol.class"
>
<
attribute
name
="SHA1-Digest"
value
="sAMrCVpFeZfDY2HnjV1KyGn062o="
/>
</
section
>
<
section
name
="javax/mail/event/MessageCountListener.class"
>
<
attribute
name
="SHA1-Digest"
value
="EQlK4ADnuMCdSbQsKVox8Wj+GGA="
/>
</
section
>
<
section
name
="com/sun/mail/iap/ProtocolException.class"
>
<
attribute
name
="SHA1-Digest"
value
="aS53TMp0sSzRykAizGbMKcW9sHA="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$14.class"
>
<
attribute
name
="SHA1-Digest"
value
="aOjumhds151EPKnQw5L9L6V3orY="
/>
</
section
>
<
section
name
="javax/mail/Provider.class"
>
<
attribute
name
="SHA1-Digest"
value
="zX4cU1LcZd+MZvhliK62SIjxZvg="
/>
</
section
>
<
section
name
="com/sun/mail/smtp/SMTPOutputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="secQWppiEIWfToC6tuZYICahrI0="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/Item.class"
>
<
attribute
name
="SHA1-Digest"
value
="U7m6WKKNaP+2fUkSWH4vHi0OBBU="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPMultipartDataSource.class"
>
<
attribute
name
="SHA1-Digest"
value
="c0BlZB/wrBzmCGtLhdmBPlKXyBk="
/>
</
section
>
<
section
name
="com/sun/mail/imap/ACL.class"
>
<
attribute
name
="SHA1-Digest"
value
="3ib48HeOKm4mCNfy+yYi5citejc="
/>
</
section
>
<
section
name
="com/sun/mail/smtp/SMTPMessage.class"
>
<
attribute
name
="SHA1-Digest"
value
="J1lB13Paab7cgiQGrwUyH2uqF9s="
/>
</
section
>
<
section
name
="javax/mail/internet/ParameterList$1.class"
>
<
attribute
name
="SHA1-Digest"
value
="DVj/kfl4EYJJTUpQ8GL/Km8t4m8="
/>
</
section
>
<
section
name
="javax/mail/EventQueue$QueueElement.class"
>
<
attribute
name
="SHA1-Digest"
value
="YzB4vyzKWve/UP5OlE4QpY7zPv8="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/IMAPProtocol.class"
>
<
attribute
name
="SHA1-Digest"
value
="ed1CUYQ1LXzsF/fH+XDRFNXSBcQ="
/>
</
section
>
<
section
name
="javax/mail/search/SentDateTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="pCSzQTcy2sz7hWMjHemera3BVJQ="
/>
</
section
>
<
section
name
="com/sun/mail/handlers/text_plain.class"
>
<
attribute
name
="SHA1-Digest"
value
="q8z9PKsDB8rhAxBgECnRl36HfP4="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$FetchProfileItem.class"
>
<
attribute
name
="SHA1-Digest"
value
="NPZU6nZmCgh3SjsdE8b9/etsepE="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$10.class"
>
<
attribute
name
="SHA1-Digest"
value
="jwrPFcH82eeFDVb9Xw6FH2KMeWw="
/>
</
section
>
<
section
name
="javax/mail/event/MessageChangedListener.class"
>
<
attribute
name
="SHA1-Digest"
value
="D9QKAsUJJ2kq8fPlK2kcFLRusnY="
/>
</
section
>
<
section
name
="com/sun/mail/util/QDecoderStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="Qaz21LH8xYCJipPxldlVhokeDSw="
/>
</
section
>
<
section
name
="com/sun/mail/imap/MessageLiteral.class"
>
<
attribute
name
="SHA1-Digest"
value
="a+wMVNjGzKFSBP1v3Xg4hB01tEk="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPFolder$11.class"
>
<
attribute
name
="SHA1-Digest"
value
="XMi+TWShZEz/biwiaLjAL/ERU44="
/>
</
section
>
<
section
name
="com/sun/mail/util/UUEncoderStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="HLgw/1ANzn4MsRp+KGoDh/aOF14="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPMessage$1$FetchProfileCondition.class"
>
<
attribute
name
="SHA1-Digest"
value
="g9ndX1sBK93FQxoyLJhXNV6TkUE="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/BASE64MailboxEncoder.class"
>
<
attribute
name
="SHA1-Digest"
value
="7VvSMvnYBePvZUaQWxIYjfnE54Q="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/ENVELOPE.class"
>
<
attribute
name
="SHA1-Digest"
value
="pKW6BmVf9tT8STL+nCw36hW9WA8="
/>
</
section
>
<
section
name
="javax/mail/internet/AddressException.class"
>
<
attribute
name
="SHA1-Digest"
value
="rdIfPvxpIrwDNszgXHiuOMJCaeE="
/>
</
section
>
<
section
name
="javax/mail/internet/NewsAddress.class"
>
<
attribute
name
="SHA1-Digest"
value
="0RbSRXjy/gj/s7DpiXSWisbixlc="
/>
</
section
>
<
section
name
="javax/mail/search/HeaderTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="X9uJjZYjHERz9ZdC0dUTIb5KedY="
/>
</
section
>
<
section
name
="javax/mail/MethodNotSupportedException.class"
>
<
attribute
name
="SHA1-Digest"
value
="FNncwEsBkvqe+2a/oQF1sl7ccPM="
/>
</
section
>
<
section
name
="javax/mail/event/FolderAdapter.class"
>
<
attribute
name
="SHA1-Digest"
value
="QOzL0f5QmfUgthxBvcuvn7OAPC4="
/>
</
section
>
<
section
name
="com/sun/mail/smtp/DigestMD5.class"
>
<
attribute
name
="SHA1-Digest"
value
="4r/Ss01jh3wwscXF9my9+mWRJgg="
/>
</
section
>
<
section
name
="com/sun/mail/util/TraceInputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="36C2Lvq6hgS3APkj6CmrosHD1g0="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPInputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="FByI8BkvTMYyifD3Vn9ukuC0afM="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/SaslAuthenticator.class"
>
<
attribute
name
="SHA1-Digest"
value
="U1o7oNJkmyWAxotKR1Z9KWJ35S0="
/>
</
section
>
<
section
name
="javax/mail/Quota.class"
>
<
attribute
name
="SHA1-Digest"
value
="BefUmGUGIxJmfMR5yAq2BCnb/o8="
/>
</
section
>
<
section
name
="javax/mail/FetchProfile.class"
>
<
attribute
name
="SHA1-Digest"
value
="pCxWa9PHRB1Ba5iLNVjHp4xshZU="
/>
</
section
>
<
section
name
="javax/mail/StoreClosedException.class"
>
<
attribute
name
="SHA1-Digest"
value
="Z2w7c3FuBJY92Bc8JcwxG+Aa/aI="
/>
</
section
>
<
section
name
="javax/mail/Message$RecipientType.class"
>
<
attribute
name
="SHA1-Digest"
value
="ud6/FfcF4GL+BCrg6uxGToYYPx4="
/>
</
section
>
<
section
name
="javax/mail/FolderNotFoundException.class"
>
<
attribute
name
="SHA1-Digest"
value
="vOgb45rQqgvV6/mw6oh0C1EwNIk="
/>
</
section
>
<
section
name
="com/sun/mail/iap/Response.class"
>
<
attribute
name
="SHA1-Digest"
value
="gBjBHfi0bhs5w23c68FxDRWHElM="
/>
</
section
>
<
section
name
="javax/mail/util/SharedFileInputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="Hq+4GYAn/igg71Nyt55oJwFL9DU="
/>
</
section
>
<
section
name
="javax/mail/Flags$Flag.class"
>
<
attribute
name
="SHA1-Digest"
value
="QrLFDDYVpCPYaz8DQ7UdId6KbRo="
/>
</
section
>
<
section
name
="javax/mail/search/FlagTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="0SVtJdfKnF4N/WKZl9av9pOfcqs="
/>
</
section
>
<
section
name
="com/sun/mail/smtp/SMTPAddressFailedException.class"
>
<
attribute
name
="SHA1-Digest"
value
="WmMbJ3T6vjQyoCE7v8S6j0YcIFE="
/>
</
section
>
<
section
name
="com/sun/mail/handlers/image_gif.class"
>
<
attribute
name
="SHA1-Digest"
value
="7CSX5dBrzDXgNRkc2nDKUw15OeM="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/BASE64MailboxDecoder.class"
>
<
attribute
name
="SHA1-Digest"
value
="IiqDB3niZd4eR+2tExKHyxmKctc="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/IMAPResponse.class"
>
<
attribute
name
="SHA1-Digest"
value
="7vtxkTz9lBhRupmX+VD3uTQuf3g="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/IMAPSaslAuthenticator.class"
>
<
attribute
name
="SHA1-Digest"
value
="oohscPGAJ8VoiQHN0oxN/eTO0m8="
/>
</
section
>
<
section
name
="com/sun/mail/util/SocketFetcher$1.class"
>
<
attribute
name
="SHA1-Digest"
value
="2kLFfvQxcA8ZaQfBj8uABDhBOAE="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/RFC822DATA.class"
>
<
attribute
name
="SHA1-Digest"
value
="w/3IrNCVBa9dfYow6KHmRd5y6Hs="
/>
</
section
>
<
section
name
="javax/mail/NoSuchProviderException.class"
>
<
attribute
name
="SHA1-Digest"
value
="aA04S+g3cUIV8ySRbqdjrlryMMs="
/>
</
section
>
<
section
name
="javax/mail/internet/MimeBodyPart.class"
>
<
attribute
name
="SHA1-Digest"
value
="0up2Ns2hZiQTGvE28APExnoeX5k="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/IMAPSaslAuthenticator$1.class"
>
<
attribute
name
="SHA1-Digest"
value
="9NXMiSXd1Q27l4Av8hPKbl08dIE="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/UIDSet.class"
>
<
attribute
name
="SHA1-Digest"
value
="B9jTyIvA1QCO2Zo0sok0DLoOT7I="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/Status.class"
>
<
attribute
name
="SHA1-Digest"
value
="F/A02l8RCs8uecTQ9ec7mscI/Fw="
/>
</
section
>
<
section
name
="com/sun/mail/imap/IMAPStore.class"
>
<
attribute
name
="SHA1-Digest"
value
="nk/MnGmli6BlIW/kqlL0gr8NI14="
/>
</
section
>
<
section
name
="javax/mail/event/ConnectionEvent.class"
>
<
attribute
name
="SHA1-Digest"
value
="k9ZjUM10hLx0uf1fkYCLo57RAAc="
/>
</
section
>
<
section
name
="javax/mail/event/MailEvent.class"
>
<
attribute
name
="SHA1-Digest"
value
="vJQSZ8c8aPuCyOVJqNqfqkRIXr4="
/>
</
section
>
<
section
name
="javax/mail/event/StoreListener.class"
>
<
attribute
name
="SHA1-Digest"
value
="lNLCbgFp1AT0am8Vpa9l2XEt7rs="
/>
</
section
>
<
section
name
="com/sun/mail/iap/AString.class"
>
<
attribute
name
="SHA1-Digest"
value
="dFYlMsn8CgJscFan4kbUKhyHFKE="
/>
</
section
>
<
section
name
="javax/mail/util/ByteArrayDataSource.class"
>
<
attribute
name
="SHA1-Digest"
value
="MU7nCHaJEzScD0+lksSuVJBduPA="
/>
</
section
>
<
section
name
="javax/mail/EventQueue.class"
>
<
attribute
name
="SHA1-Digest"
value
="7VvrIc9DCpdMfIjDA0k+J3OuKRg="
/>
</
section
>
<
section
name
="javax/mail/event/FolderEvent.class"
>
<
attribute
name
="SHA1-Digest"
value
="MyPd9ieGa7nHg4LN8xoa0gysDQs="
/>
</
section
>
<
section
name
="com/sun/mail/iap/Atom.class"
>
<
attribute
name
="SHA1-Digest"
value
="IBC+RMxHyMbbwp5Nt4dlCAXqW4I="
/>
</
section
>
<
section
name
="com/sun/mail/util/BASE64EncoderStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="OZg+IN66NPGpwAsavRV+qhNhjE4="
/>
</
section
>
<
section
name
="javax/mail/IllegalWriteException.class"
>
<
attribute
name
="SHA1-Digest"
value
="3cxLMh+FlRjqxELF6z811wxwJ3U="
/>
</
section
>
<
section
name
="javax/mail/internet/HeaderTokenizer$Token.class"
>
<
attribute
name
="SHA1-Digest"
value
="rGHQ7krYXmKYNwalgqYnCmjgQ3w="
/>
</
section
>
<
section
name
="javax/mail/internet/MimePartDataSource.class"
>
<
attribute
name
="SHA1-Digest"
value
="NPv0BQyQ82wjRLVUB9WDs1pKrUs="
/>
</
section
>
<
section
name
="javax/mail/event/TransportAdapter.class"
>
<
attribute
name
="SHA1-Digest"
value
="jIO9yUltn+6tFOKt/G9y3b8BLwU="
/>
</
section
>
<
section
name
="javax/mail/URLName.class"
>
<
attribute
name
="SHA1-Digest"
value
="Ram9tx8SnJ5FI6/UjZyBGnVdpZk="
/>
</
section
>
<
section
name
="javax/mail/Service$TerminatorEvent.class"
>
<
attribute
name
="SHA1-Digest"
value
="AAepxMWJWKjNa2JgGvtOQIAiIz0="
/>
</
section
>
<
section
name
="javax/mail/FetchProfile$Item.class"
>
<
attribute
name
="SHA1-Digest"
value
="fByfdh74743fCQLCsuOZDuiscXA="
/>
</
section
>
<
section
name
="com/sun/mail/util/LineInputStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="U4ge7l4tTuc7CoYiGCWfVIzQHb0="
/>
</
section
>
<
section
name
="javax/mail/search/DateTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="vJXnPg9/IHbldP69yyq+NWTpLNw="
/>
</
section
>
<
section
name
="javax/mail/UIDFolder$FetchProfileItem.class"
>
<
attribute
name
="SHA1-Digest"
value
="80zDUPv+Zjp3XpWAf9aNpcnB7fs="
/>
</
section
>
<
section
name
="javax/mail/Message.class"
>
<
attribute
name
="SHA1-Digest"
value
="l9F9cuuuGzqCDoWgUQ/hN6zJkLg="
/>
</
section
>
<
section
name
="javax/mail/BodyPart.class"
>
<
attribute
name
="SHA1-Digest"
value
="PWQw0Zc7kqJpm3QSAypfHgvYwAk="
/>
</
section
>
<
section
name
="com/sun/mail/handlers/text_html.class"
>
<
attribute
name
="SHA1-Digest"
value
="uMg+BjWZOMudp4lwn0AeQp2Ll2s="
/>
</
section
>
<
section
name
="javax/mail/search/SearchException.class"
>
<
attribute
name
="SHA1-Digest"
value
="6M5ARIEt9GhTSAgYK0QQ75z+haU="
/>
</
section
>
<
section
name
="javax/mail/MessageRemovedException.class"
>
<
attribute
name
="SHA1-Digest"
value
="+Ym1xj31hREImv7KLvXqmcjJt7c="
/>
</
section
>
<
section
name
="javax/mail/internet/InternetAddress.class"
>
<
attribute
name
="SHA1-Digest"
value
="CbNks/vS6vv1CRXUrW1WZgQlMAo="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/BODYSTRUCTURE.class"
>
<
attribute
name
="SHA1-Digest"
value
="ElxlifED2LoOupwcLFFRn39Vmxk="
/>
</
section
>
<
section
name
="com/sun/mail/iap/Argument.class"
>
<
attribute
name
="SHA1-Digest"
value
="Ii7uAU+6C0l8CWgJWHAFd3edDb8="
/>
</
section
>
<
section
name
="javax/mail/UIDFolder.class"
>
<
attribute
name
="SHA1-Digest"
value
="pbqgsgRC3d6VTRkkd5tLzVTVKck="
/>
</
section
>
<
section
name
="com/sun/mail/pop3/POP3Store.class"
>
<
attribute
name
="SHA1-Digest"
value
="x0CBJQXbnuOE01ZtsuhUhlHLnY4="
/>
</
section
>
<
section
name
="javax/mail/search/AddressStringTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="qWl5/UlirCP1V9jEg+byZ+y72Js="
/>
</
section
>
<
section
name
="javax/mail/internet/MimeMultipart.class"
>
<
attribute
name
="SHA1-Digest"
value
="GsJV8s+34vLn4LXRjcbKT/1nG98="
/>
</
section
>
<
section
name
="javax/mail/Provider$Type.class"
>
<
attribute
name
="SHA1-Digest"
value
="i7sSSn1nWr25wgqoV0bN8V9gaD0="
/>
</
section
>
<
section
name
="com/sun/mail/imap/Rights$Right.class"
>
<
attribute
name
="SHA1-Digest"
value
="u88NZbtOpu7pVUT/kSjUn6inCM0="
/>
</
section
>
<
section
name
="com/sun/mail/iap/BadCommandException.class"
>
<
attribute
name
="SHA1-Digest"
value
="mxeS+BDu9qBf8fxpzeHi8d15YUU="
/>
</
section
>
<
section
name
="javax/mail/internet/InternetHeaders$InternetHeader.class"
>
<
attribute
name
="SHA1-Digest"
value
="2pSm9WJEH5P9CQYVUqV89dOK9v0="
/>
</
section
>
<
section
name
="javax/mail/search/StringTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="ApAKtUQXK6A593avdoIcCpB3Kxg="
/>
</
section
>
<
section
name
="com/sun/mail/imap/protocol/UID.class"
>
<
attribute
name
="SHA1-Digest"
value
="5xsl6OTtOIaFXGkTUs4KddePfN4="
/>
</
section
>
<
section
name
="javax/mail/search/SubjectTerm.class"
>
<
attribute
name
="SHA1-Digest"
value
="a6L51yHzK+/AEynE+0I+ONOipnY="
/>
</
section
>
<
section
name
="javax/mail/Store.class"
>
<
attribute
name
="SHA1-Digest"
value
="NpvBEchNHpS0FNy343/GCMubkeQ="
/>
</
section
>
<
section
name
="javax/mail/event/ConnectionAdapter.class"
>
<
attribute
name
="SHA1-Digest"
value
="B4IbCXfTWp23kRwdByVw4nmSaSA="
/>
</
section
>
<
section
name
="com/sun/mail/smtp/SMTPAddressSucceededException.class"
>
<
attribute
name
="SHA1-Digest"
value
="I9gnmrsW0xKK5TWgk0dm0ex24Oo="
/>
</
section
>
<
section
name
="com/sun/mail/util/QPEncoderStream.class"
>
<
attribute
name
="SHA1-Digest"
value
="SBlkP3dxd68VX8Z9pkRnvQXwJXI="
/>
</
section
>
<
section
name
="com/sun/mail/iap/CommandFailedException.class"
>
<
attribute
name
="SHA1-Digest"
value
="Y82NdJDvE0cpI+2SqXdjjjLBaCI="
/>
</
section
>
<
section
name
="javax/mail/MultipartDataSource.class"
>
<
attribute
name
="SHA1-Digest"
value
="+ubXpNbAX65XHWH3nKVOs0NTg2Y="
/>
</
section
>
<
section
name
="javax/mail/internet/PreencodedMimeBodyPart.class"
>
<
attribute
name
="SHA1-Digest"
value
="UFlSP6N8SDImnVpW9haodzEKKuA="
/>
</
section
>
<
section
name
="javax/mail/Flags.class"
>
<
attribute
name
="SHA1-Digest"
value
="+QbgJ6EVLeAr4w+IW5bMGrZJuN4="
/>
</
section
>
<
section
name
="javax/activation/MimeTypeParseException.class"
>
<
attribute
name
="SHA1-Digest"
value
="m7mmJXw0gXLY1GS4k6aq0tYkr5M="
/>
</
section
>
<
section
name
="javax/activation/CommandInfo.class"
>
<
attribute
name
="SHA1-Digest"
value
="f8KZC5t/kOXy9g3WtT8D6d0zWAc="
/>
</
section
>
<
section
name
="com/sun/activation/viewers/ImageViewer.class"
>
<
attribute
name
="SHA1-Digest"
value
="KVw7I+eEq1S8azCdy71jIdIekr8="
/>
</
section
>
<
section
name
="javax/activation/MimeTypeParameterList.class"
>
<
attribute
name
="SHA1-Digest"
value
="QnLZ1AlTbnC6x06iuSXHzVVVtaY="
/>
</
section
>
<
section
name
="javax/activation/DataContentHandlerFactory.class"
>
<
attribute
name
="SHA1-Digest"
value
="3aRLzh4IMVBlbc52F5lBdRQy2Vw="
/>
</
section
>
<
section
name
="javax/activation/DataSourceDataContentHandler.class"
>
<
attribute
name
="SHA1-Digest"
value
="PZe91L1ONaRPG7qVgbYpfGavH4Q="
/>
</
section
>
<
section
name
="javax/activation/DataSource.class"
>
<
attribute
name
="SHA1-Digest"
value
="g86kGPXVFjqZi+DpfbiLAtS8fo8="
/>
</
section
>
<
section
name
="com/sun/activation/registries/MimeTypeFile.class"
>
<
attribute
name
="SHA1-Digest"
value
="oLr1fHVCH+Nfmi1QYOHD7g0BnJM="
/>
</
section
>
<
section
name
="com/sun/activation/viewers/TextViewer.class"
>
<
attribute
name
="SHA1-Digest"
value
="wIWBUn1WMYQsTXWhb2LqH8a8Jb0="
/>
</
section
>
<
section
name
="com/sun/activation/viewers/TextEditor.class"
>
<
attribute
name
="SHA1-Digest"
value
="IhFQa8fovU17cM4MIuPYizaoOaw="
/>
</
section
>
<
section
name
="com/sun/activation/registries/LineTokenizer.class"
>
<
attribute
name
="SHA1-Digest"
value
="vO89GlctMy311MKQuIXM5hKV4nQ="
/>
</
section
>
<
section
name
="javax/activation/DataContentHandler.class"
>
<
attribute
name
="SHA1-Digest"
value
="0qTvM4m+cRfMN+3GiqLfn+RLQuU="
/>
</
section
>
<
section
name
="javax/activation/MimeType.class"
>
<
attribute
name
="SHA1-Digest"
value
="dWNqSXFXHLIM5UQQhtVyaoRicaQ="
/>
</
section
>
<
section
name
="javax/activation/FileDataSource.class"
>
<
attribute
name
="SHA1-Digest"
value
="qcljJOyNKdelFdqMNhDD27evuk8="
/>
</
section
>
<
section
name
="javax/activation/SecuritySupport.class"
>
<
attribute
name
="SHA1-Digest"
value
="S46zop0lhrrDKGZwNH91BETwaFg="
/>
</
section
>
<
section
name
="javax/activation/MailcapCommandMap.class"
>
<
attribute
name
="SHA1-Digest"
value
="IY4POuZ7WA8WTgwdkpihrweS3wg="
/>
</
section
>
<
section
name
="javax/activation/DataHandler$1.class"
>
<
attribute
name
="SHA1-Digest"
value
="3PE4Qw/EanCg+NXytqiX5gByGL0="
/>
</
section
>
<
section
name
="javax/activation/DataHandler.class"
>
<
attribute
name
="SHA1-Digest"
value
="Q9J99BwfRcIYvVoG7iLaP4kK/5w="
/>
</
section
>
<
section
name
="javax/activation/SecuritySupport$1.class"
>
<
attribute
name
="SHA1-Digest"
value
="cAJSVLIeAQDIMsjUDf8JDoODIVI="
/>
</
section
>
<
section
name
="com/sun/activation/registries/MimeTypeEntry.class"
>
<
attribute
name
="SHA1-Digest"
value
="iQm+s8GK/lR3K9+W6mSS93S9pTM="
/>
</
section
>
<
section
name
="javax/activation/SecuritySupport$3.class"
>
<
attribute
name
="SHA1-Digest"
value
="mk8IMigKjXYeBD+Rqkxo5t8z+lg="
/>
</
section
>
<
section
name
="javax/activation/SecuritySupport$5.class"
>
<
attribute
name
="SHA1-Digest"
value
="SJpj/wH2OL8Yvg/rkIdV3rDntwg="
/>
</
section
>
<
section
name
="javax/activation/SecuritySupport$2.class"
>
<
attribute
name
="SHA1-Digest"
value
="F2xmB1e2hNKSYzYlkrpG27HKpbY="
/>
</
section
>
<
section
name
="javax/activation/SecuritySupport$4.class"
>
<
attribute
name
="SHA1-Digest"
value
="y6FVr0drZlbptJrcS/98PvwxUWw="
/>
</
section
>
<
section
name
="javax/activation/MimetypesFileTypeMap.class"
>
<
attribute
name
="SHA1-Digest"
value
="g6phKDnBV72LQsfNtGAtIXKefH0="
/>
</
section
>
<
section
name
="javax/activation/FileTypeMap.class"
>
<
attribute
name
="SHA1-Digest"
value
="/6uTi6QblT17/xDvnoiI4lqeRk0="
/>
</
section
>
<
section
name
="javax/activation/CommandObject.class"
>
<
attribute
name
="SHA1-Digest"
value
="ubyjFuSm1evoIOlmhsBcKVCLv/Q="
/>
</
section
>
<
section
name
="javax/activation/DataHandlerDataSource.class"
>
<
attribute
name
="SHA1-Digest"
value
="zY8hHG8T6Fb6gHMQ3zoBZZSfegI="
/>
</
section
>
<
section
name
="com/sun/activation/registries/MailcapTokenizer.class"
>
<
attribute
name
="SHA1-Digest"
value
="KUCh8CV+5Ia4Jp5uFkzVzKsNvOs="
/>
</
section
>
<
section
name
="javax/activation/ActivationDataFlavor.class"
>
<
attribute
name
="SHA1-Digest"
value
="aqjd93WIpK0krYHmWKcBDa+NM/I="
/>
</
section
>
<
section
name
="com/sun/activation/registries/MailcapFile.class"
>
<
attribute
name
="SHA1-Digest"
value
="XuurUYdTVsJfeqGWBHHwqP7/eJc="
/>
</
section
>
<
section
name
="com/sun/activation/registries/MailcapParseException.class"
>
<
attribute
name
="SHA1-Digest"
value
="21c8agHGFiu4q9c3h+bVrsLESvE="
/>
</
section
>
<
section
name
="javax/activation/ObjectDataContentHandler.class"
>
<
attribute
name
="SHA1-Digest"
value
="2QGo0CJI4KcAgECMicBaATdEAjI="
/>
</
section
>
<
section
name
="javax/activation/URLDataSource.class"
>
<
attribute
name
="SHA1-Digest"
value
="Jvr/7HSgqteI2+qrpCcP9GKdvxI="
/>
</
section
>
<
section
name
="javax/activation/UnsupportedDataTypeException.class"
>
<
attribute
name
="SHA1-Digest"
value
="XqU4tNQVzIOihXn7JZeLHgKlgWo="
/>
</
section
>
<
section
name
="javax/activation/CommandMap.class"
>
<
attribute
name
="SHA1-Digest"
value
="7rGDE9NEoTBwTIk13EPyXzvCXVk="
/>
</
section
>
<
section
name
="com/sun/activation/viewers/ImageViewerCanvas.class"
>
<
attribute
name
="SHA1-Digest"
value
="BVI/zbrr0jFAkuo0didLXMWy/m4="
/>
</
section
>
<
section
name
="com/sun/activation/registries/LogSupport.class"
>
<
attribute
name
="SHA1-Digest"
value
="R9iOxR0B5szkHmX7S9ptGdDQJUs="
/>
</
section
>
</
manifest
>
<
zipfileset
src
="${libDir}/classes12.jar"
/>
<
zipfileset
src
="${libDir}/commons-collections-3.1.jar"
/>
<
zipfileset
src
="${libDir}/commons-lang-2.1.jar"
/>
<
zipfileset
src
="${libDir}/log4j-1.2.12.jar"
/>
<
zipfileset
src
="${libDir}/jdom.jar"
/>
<
zipfileset
src
="${libDir}/comm.jar"
/>
<
zipfileset
src
="${libDir}/derby.jar"
/>
<
zipfileset
src
="${libDir}/derbytools.jar"
/>
<
zipfileset
src
="${libDir}/jamon.jar"
/>
<
zipfileset
src
="${libDir}/jakarta-regexp-1.4.jar"
/>
<
zipfileset
src
="${libDir}/mysql-connector-java-5.0.4-bin.jar"
/>
<
zipfileset
src
="${libDir}/mail.jar"
/>
<
zipfileset
src
="${libDir}/activation.jar"
/>
</
jar
>
<
jar
destfile
="${distDir}/dp-src-${DSTAMP}.jar"
basedir
="${src_temp}"
/>
</
target
>
你也可以直接把mail.jar activation.jar中的MANIFEST。MF的安全认证信息全部COPY到一个新的MANIFEST。MF,并指明主类等其他信息,在Build文件当中指明该文件为生成JAR的MANIFEST即可:
<
jar
destfile
="${distDir}dp.jar"
basedir
="${buildDir}"
manifest
="${confDIr}/manifest.mf"
/>
但在实际测试当中,总是提示我MANIFEST文件不正确,不知道为什么,有兴趣的话可以自己试一下。
参考:
1.log4j,http://logging.apache.org/log4j/docs/
2.javamail,http://java.sun.com/products/javamail/index.jsp