📄 mimemessagewrapper.java
字号:
public Enumeration getAllHeaderLines() throws MessagingException { if (headers == null) { loadHeaders(); } return headers.getAllHeaderLines(); } public Enumeration getMatchingHeaderLines(String[] names) throws MessagingException { if (headers == null) { loadHeaders(); } return headers.getMatchingHeaderLines(names); } public Enumeration getNonMatchingHeaderLines(String[] names) throws MessagingException { if (headers == null) { loadHeaders(); } return headers.getNonMatchingHeaderLines(names); } public Flags getFlags() throws MessagingException { if (message == null) { loadMessage(); } return message.getFlags(); } public boolean isSet(Flags.Flag flag) throws MessagingException { if (message == null) { loadMessage(); } return message.isSet(flag); } /** * Writes content only, ie not headers, to the specified OutputStream. * * @param outs the OutputStream to which the content is written */ public void writeContentTo(OutputStream outs) throws java.io.IOException, MessagingException { if (message == null) { loadMessage(); } InputStream in = getContentStream(); try { copyStream(in, outs); } finally { IOUtil.shutdownStream(in); } } /** * Convenience method to copy streams */ private static void copyStream(InputStream in, OutputStream out) throws IOException { // TODO: This is really a bad way to do this sort of thing. A shared buffer to // allow simultaneous read/writes would be a substantial improvement byte[] block = new byte[1024]; int read = 0; while ((read = in.read(block)) > -1) { out.write(block, 0, read); } out.flush(); } /* * Various writer methods */ public void setFrom(Address address) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setFrom(address); } public void setFrom() throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setFrom(); } public void addFrom(Address[] addresses) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.addFrom(addresses); } public void setRecipients(Message.RecipientType type, Address[] addresses) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setRecipients(type, addresses); } public void addRecipients(Message.RecipientType type, Address[] addresses) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.addRecipients(type, addresses); } public void setReplyTo(Address[] addresses) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setReplyTo(addresses); } public void setSubject(String subject) throws MessagingException { if (message == null) { loadMessage(); } modified = true; headers.setHeader(RFC2822Headers.SUBJECT, subject); message.setSubject(subject); } public void setSubject(String subject, String charset) throws MessagingException { if (message == null) { loadMessage(); } modified = true; // is this correct? try { headers.setHeader(RFC2822Headers.SUBJECT, new String(subject.getBytes(charset))); } catch (java.io.UnsupportedEncodingException _) { /* TODO */ } message.setSubject(subject, charset); } public void setSentDate(Date d) throws MessagingException { if (message == null) { loadMessage(); } modified = true; headers.setHeader(RFC2822Headers.DATE, mailDateFormat.format(d)); message.setSentDate(d); } public void setDisposition(String disposition) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setDisposition(disposition); } public void setContentID(String cid) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setContentID(cid); } public void setContentMD5(String md5) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setContentMD5(md5); } public void setDescription(String description) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setDescription(description); } public void setDescription(String description, String charset) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setDescription(description, charset); } public void setContentLanguage(String[] languages) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setContentLanguage(languages); } public void setFileName(String filename) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setFileName(filename); } public void setDataHandler(DataHandler dh) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setDataHandler(dh); } public void setContent(Object o, String type) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setContent(o, type); } public void setText(String text) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setText(text); } public void setText(String text, String charset) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setText(text, charset); } public void setContent(Multipart mp) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setContent(mp); } public Message reply(boolean replyToAll) throws MessagingException { if (message == null) { loadMessage(); } modified = true; return message.reply(replyToAll); } public void setHeader(String name, String value) throws MessagingException { if (message == null) { loadMessage(); } modified = true; headers.setHeader(name, value); message.setHeader(name, value); } public void addHeader(String name, String value) throws MessagingException { if (message == null) { loadMessage(); } modified = true; headers.addHeader(name, value); message.addHeader(name, value); } public void removeHeader(String name) throws MessagingException { if (message == null) { loadMessage(); } modified = true; headers.removeHeader(name); message.removeHeader(name); } public void addHeaderLine(String line) throws MessagingException { if (message == null) { loadMessage(); } headers.addHeaderLine(line); message.addHeaderLine(line); } public void setFlags(Flags flag, boolean set) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setFlags(flag, set); } public void saveChanges() throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.saveChanges(); } /* * Since JavaMail 1.2 */ public InputStream getRawInputStream() throws MessagingException { if (message == null) { loadMessage(); } return message.getRawInputStream(); } public void addRecipients(Message.RecipientType type, String addresses) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.addRecipients(type, addresses); } public void setRecipients(Message.RecipientType type, String addresses) throws MessagingException { if (message == null) { loadMessage(); } modified = true; message.setRecipients(type, addresses); } /** * @see org.apache.avalon.framework.activity.Disposable#dispose() */ public void dispose() { if (source instanceof Disposable) { ((Disposable)source).dispose(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -