Java 类javax.mail.Part 实例源码
项目:alfresco-repository
文件:EMLTransformer.java
/**
* Find "text" parts of message recursively and appends it to sb StringBuilder
*
* @param multipart Multipart to process
* @param sb StringBuilder
* @throws MessagingException
* @throws IOException
*/
private void processMultiPart(Multipart multipart, StringBuilder sb) throws MessagingException, IOException
{
boolean isAlternativeMultipart = multipart.getContentType().contains(MimetypeMap.MIMETYPE_MULTIPART_ALTERNATIVE);
if (isAlternativeMultipart)
{
processAlternativeMultipart(multipart, sb);
}
else
{
for (int i = 0, n = multipart.getCount(); i < n; i++)
{
Part part = multipart.getBodyPart(i);
if (part.getContent() instanceof Multipart)
{
processMultiPart((Multipart) part.getContent(), sb);
}
else
{
processPart(part, sb);
}
}
}
}
项目:oscm
文件:MailReader.java
/**
* Get the content of a mail message.
*
* @param message
* the mail message
* @return the content of the mail message
*/
private String getMessageContent(Message message) throws MessagingException {
try {
Object content = message.getContent();
if (content instanceof Multipart) {
StringBuffer messageContent = new StringBuffer();
Multipart multipart = (Multipart) content;
for (int i = 0; i < multipart.getCount(); i++) {
Part part = multipart.getBodyPart(i);
if (part.isMimeType("text/plain")) {
messageContent.append(part.getContent().toString());
}
}
return messageContent.toString();
}
return content.toString();
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
项目:jsf-core
文件:ReciveMail.java
/**
* 【保存附件】
*/
public void saveAttachMent(Part part) throws Exception {
String fileName = "";
if (part.isMimeType("multipart/*")) {
Multipart mp = (Multipart) part.getContent();
for (int i = 0; i < mp.getCount(); i++) {
BodyPart mpart = mp.getBodyPart(i);
String disposition = mpart.getDisposition();
if ((disposition != null)
&& ((disposition.equals(Part.ATTACHMENT)) || (disposition
.equals(Part.INLINE)))) {
fileName = mpart.getFileName();
if (fileName.toLowerCase().indexOf("gb2312") != -1) {
fileName = MimeUtility.decodeText(fileName);
}
saveFile(fileName, mpart.getInputStream());
} else if (mpart.isMimeType("multipart/*")) {
saveAttachMent(mpart);
} else {
fileName = mpart.getFileName();
if ((fileName != null)
&& (fileName.toLowerCase().indexOf("GB2312") != -1)) {
fileName = MimeUtility.decodeText(fileName);
saveFile(fileName, mpart.getInputStream());
}
}
}
} else if (part.isMimeType("message/rfc822")) {
saveAttachMent((Part) part.getContent());
}
}
项目:play
文件:MailHelper.java
/**
* ������
*/
private void handleAttachments(Message message, Part part) throws Exception {
if (part.isMimeType("multipart/*")) {
Multipart mp = (Multipart) part.getContent();
for (int i = 0; i < mp.getCount(); i++) {
BodyPart bp = mp.getBodyPart(i);
String disposition = bp.getDisposition();
if (disposition != null && (disposition.equals(Part.ATTACHMENT) || disposition.equals(Part.INLINE))) {
saveFile(message, bp);
} else if (bp.isMimeType("multipart/*")) {
handleAttachments(message, (Part) part.getContent());
} else {
saveFile(message, bp);
}
}
} else if (part.isMimeType("message/rfc822")) {
handleAttachments(message, (Part) part.getContent());
}
}
项目:ats-framework
文件:MimePackage.java
/**
* Check if the body is from the content type and returns it if not attachment
*
* @param mimePart
* @param contentType
* @return null if not with specific content type or part is attachment
*/
private String getBodyIfNotAttachment(
BodyPart mimePart,
String contentType ) throws MessagingException, IOException {
String mimePartContentType = mimePart.getContentType().toLowerCase();
if (mimePartContentType.startsWith(contentType)) { // found a part with given mime type
String contentDisposition = mimePart.getDisposition();
if (!Part.ATTACHMENT.equalsIgnoreCase(contentDisposition)) {
Object partContent = mimePart.getContent();
if (partContent instanceof InputStream) {
return IoUtils.streamToString((InputStream) partContent);
} else {
return partContent.toString();
}
}
}
return null;
}
项目:lemon
文件:JavamailService.java
public void getMailTextContent(Part part, StringBuffer content)
throws MessagingException, IOException {
// 如果是文本类型的附件,通过getContent方法可以取到文本内容,但这不是我们需要的结果,所以在这里要做判断
boolean isContainTextAttach = part.getContentType().indexOf("name") > 0;
if (part.isMimeType("text/*") && !isContainTextAttach) {
content.append(part.getContent().toString());
} else if (part.isMimeType("message/rfc822")) {
getMailTextContent((Part) part.getContent(), content);
} else if (part.isMimeType("multipart/*")) {
Multipart multipart = (Multipart) part.getContent();
int partCount = multipart.getCount();
for (int i = 0; i < partCount; i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
getMailTextContent(bodyPart, content);
}
}
}
项目:jsf-core
文件:ReciveMail.java
/**
* 判断此邮件是否包含附件
*/
public boolean isContainAttach(Part part) throws Exception {
boolean attachflag = false;
String contentType = part.getContentType();
if (part.isMimeType("multipart/*")) {
Multipart mp = (Multipart) part.getContent();
for (int i = 0; i < mp.getCount(); i++) {
BodyPart mpart = mp.getBodyPart(i);
String disposition = mpart.getDisposition();
if ((disposition != null)
&& ((disposition.equals(Part.ATTACHMENT)) || (disposition
.equals(Part.INLINE))))
attachflag = true;
else if (mpart.isMimeType("multipart/*")) {
attachflag = isContainAttach((Part) mpart);
} else {
String contype = mpart.getContentType();
if (contype.toLowerCase().indexOf("application") != -1)
attachflag = true;
if (contype.toLowerCase().indexOf("name") != -1)
attachflag = true;
}
}
} else if (part.isMimeType("message/rfc822")) {
attachflag = isContainAttach((Part) part.getContent());
}
return attachflag;
}
项目:infotaf
文件:Utils.java
/**
* Récupération d'une pièce jointe d'un mail
* @param part : Corps du mail (Bodypart)
* @return
* @throws Exception
*/
private static Map<String, InputStream> getAttachments(BodyPart part) throws Exception {
Map<String, InputStream> result = new HashMap<String, InputStream>();
Object content = part.getContent();
if (content instanceof InputStream || content instanceof String) {
if (Part.ATTACHMENT.equalsIgnoreCase(part.getDisposition()) || StringUtils.isNotBlank(part.getFileName())) {
result.put(part.getFileName(), part.getInputStream());
return result;
} else {
return new HashMap<String, InputStream>();
}
}
if (content instanceof Multipart) {
Multipart multipart = (Multipart) content;
for (int i = 0; i < multipart.getCount(); i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
result.putAll(getAttachments(bodyPart));
}
}
return result;
}
项目:scipio-erp
文件:ServiceMcaCondition.java
private List<String> getBodyText(Part part) throws MessagingException, IOException {
Object c = part.getContent();
if (c instanceof String) {
return UtilMisc.toList((String) c);
} else if (c instanceof Multipart) {
List<String> textContent = new LinkedList<String>();
int count = ((Multipart) c).getCount();
for (int i = 0; i < count; i++) {
BodyPart bp = ((Multipart) c).getBodyPart(i);
textContent.addAll(this.getBodyText(bp));
}
return textContent;
} else {
return new LinkedList<String>();
}
}
项目:thatsapp
文件:MailUtilities.java
private static TreeMap<String, InputStream> getAttachments(BodyPart part) throws Exception {
TreeMap<String, InputStream> result = new TreeMap<>();
Object content = part.getContent();
if (content instanceof InputStream || content instanceof String) {
if (Part.ATTACHMENT.equalsIgnoreCase(part.getDisposition()) || StringUtils.isNotBlank(part.getFileName())) {
result.put(part.getFileName(), part.getInputStream());
return result;
} else {
return new TreeMap<String, InputStream>();
}
}
if (content instanceof Multipart) {
Multipart multipart = (Multipart) content;
for (int i = 0; i < multipart.getCount(); i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
result.putAll(getAttachments(bodyPart));
}
}
return result;
}
项目:scada
文件:MailUtils.java
/**
* �ж��ʼ����Ƿ��������
* @param msg �ʼ�����
* @return �ʼ��д��ڸ�������true�������ڷ���false
*/
public static boolean isContainAttachment(Part part) throws MessagingException, IOException {
boolean flag = false;
if (part.isMimeType("multipart/*")) {
MimeMultipart multipart = (MimeMultipart) part.getContent();
int partCount = multipart.getCount();
for (int i = 0; i < partCount; i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
String disp = bodyPart.getDisposition();
if (disp != null && (disp.equalsIgnoreCase(Part.ATTACHMENT) || disp.equalsIgnoreCase(Part.INLINE))) {
flag = true;
} else if (bodyPart.isMimeType("multipart/*")) {
flag = isContainAttachment(bodyPart);
} else {
String contentType = bodyPart.getContentType();
if (contentType.indexOf("application") != -1) {
flag = true;
}
if (contentType.indexOf("name") != -1) {
flag = true;
}
}
if (flag) break;
}
} else if (part.isMimeType("message/rfc822")) {
flag = isContainAttachment((Part)part.getContent());
}
return flag;
}
项目:scada
文件:MailUtils.java
/**
* ���渽��
* @param part �ʼ��ж��������е�����һ�������
* @param destDir ��������Ŀ¼
*/
public static void saveAttachment(Part part, String destDir) throws UnsupportedEncodingException, MessagingException,
FileNotFoundException, IOException {
if (part.isMimeType("multipart/*")) {
Multipart multipart = (Multipart) part.getContent(); //�������ʼ�
//�������ʼ���������ʼ���
int partCount = multipart.getCount();
for (int i = 0; i < partCount; i++) {
//��ø������ʼ�������һ���ʼ���
BodyPart bodyPart = multipart.getBodyPart(i);
//ijһ���ʼ���Ҳ�п������ɶ���ʼ�����ɵĸ�����
String disp = bodyPart.getDisposition();
if (disp != null && (disp.equalsIgnoreCase(Part.ATTACHMENT) || disp.equalsIgnoreCase(Part.INLINE))) {
InputStream is = bodyPart.getInputStream();
saveFile(is, destDir, decodeText(bodyPart.getFileName()));
} else if (bodyPart.isMimeType("multipart/*")) {
saveAttachment(bodyPart,destDir);
} else {
String contentType = bodyPart.getContentType();
if (contentType.indexOf("name") != -1 || contentType.indexOf("application") != -1) {
saveFile(bodyPart.getInputStream(), destDir, decodeText(bodyPart.getFileName()));
}
}
}
} else if (part.isMimeType("message/rfc822")) {
saveAttachment((Part) part.getContent(),destDir);
}
}
项目:alimama
文件:POP3ReceiveMailTest.java
/**
* 判断邮件中是否包含附件
* @param msg 邮件内容
* @return 邮件中存在附件返回true,不存在返回false
* @throws MessagingException
* @throws IOException
*/
public static boolean isContainAttachment(Part part) throws MessagingException, IOException {
boolean flag = false;
if (part.isMimeType("multipart/*")) {
MimeMultipart multipart = (MimeMultipart) part.getContent();
int partCount = multipart.getCount();
for (int i = 0; i < partCount; i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
String disp = bodyPart.getDisposition();
if (disp != null && (disp.equalsIgnoreCase(Part.ATTACHMENT) || disp.equalsIgnoreCase(Part.INLINE))) {
flag = true;
} else if (bodyPart.isMimeType("multipart/*")) {
flag = isContainAttachment(bodyPart);
} else {
String contentType = bodyPart.getContentType();
if (contentType.indexOf("application") != -1) {
flag = true;
}
if (contentType.indexOf("name") != -1) {
flag = true;
}
}
if (flag) break;
}
} else if (part.isMimeType("message/rfc822")) {
flag = isContainAttachment((Part)part.getContent());
}
return flag;
}
项目:alimama
文件:POP3ReceiveMailTest.java
/**
* 获得邮件文本内容
* @param part 邮件体
* @param content 存储邮件文本内容的字符串
* @throws MessagingException
* @throws IOException
*/
public static void getMailTextContent(Part part, StringBuffer content) throws MessagingException, IOException {
//如果是文本类型的附件,通过getContent方法可以取到文本内容,但这不是我们需要的结果,所以在这里要做判断
boolean isContainTextAttach = part.getContentType().indexOf("name") > 0;
if (part.isMimeType("text/*") && !isContainTextAttach) {
content.append(part.getContent().toString());
} else if (part.isMimeType("message/rfc822")) {
getMailTextContent((Part)part.getContent(),content);
} else if (part.isMimeType("multipart/*")) {
Multipart multipart = (Multipart) part.getContent();
int partCount = multipart.getCount();
for (int i = 0; i < partCount; i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
getMailTextContent(bodyPart,content);
}
}
}
项目:alimama
文件:POP3ReceiveMailTest.java
/**
* 保存附件
* @param part 邮件中多个组合体中的其中一个组合体
* @param destDir 附件保存目录
* @throws UnsupportedEncodingException
* @throws MessagingException
* @throws FileNotFoundException
* @throws IOException
*/
public static void saveAttachment(Part part, String destDir) throws UnsupportedEncodingException, MessagingException,
FileNotFoundException, IOException {
if (part.isMimeType("multipart/*")) {
Multipart multipart = (Multipart) part.getContent(); //复杂体邮件
//复杂体邮件包含多个邮件体
int partCount = multipart.getCount();
for (int i = 0; i < partCount; i++) {
//获得复杂体邮件中其中一个邮件体
BodyPart bodyPart = multipart.getBodyPart(i);
//某一个邮件体也有可能是由多个邮件体组成的复杂体
String disp = bodyPart.getDisposition();
if (disp != null && (disp.equalsIgnoreCase(Part.ATTACHMENT) || disp.equalsIgnoreCase(Part.INLINE))) {
InputStream is = bodyPart.getInputStream();
saveFile(is, destDir, decodeText(bodyPart.getFileName()));
} else if (bodyPart.isMimeType("multipart/*")) {
saveAttachment(bodyPart,destDir);
} else {
String contentType = bodyPart.getContentType();
if (contentType.indexOf("name") != -1 || contentType.indexOf("application") != -1) {
saveFile(bodyPart.getInputStream(), destDir, decodeText(bodyPart.getFileName()));
}
}
}
} else if (part.isMimeType("message/rfc822")) {
saveAttachment((Part) part.getContent(),destDir);
}
}
项目:development
文件:MailReader.java
/**
* Get the content of a mail message.
*
* @param message
* the mail message
* @return the content of the mail message
*/
private String getMessageContent(Message message) throws MessagingException {
try {
Object content = message.getContent();
if (content instanceof Multipart) {
StringBuffer messageContent = new StringBuffer();
Multipart multipart = (Multipart) content;
for (int i = 0; i < multipart.getCount(); i++) {
Part part = multipart.getBodyPart(i);
if (part.isMimeType("text/plain")) {
messageContent.append(part.getContent().toString());
}
}
return messageContent.toString();
}
return content.toString();
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
项目:ephesoft
文件:MailReceiverServiceImpl.java
private void downloadAttachment(Part part, String folderPath) throws MessagingException, IOException {
String disPosition = part.getDisposition();
String fileName = part.getFileName();
String decodedAttachmentName = null;
if (fileName != null) {
LOGGER.info("Attached File Name :: " + fileName);
decodedAttachmentName = MimeUtility.decodeText(fileName);
LOGGER.info("Decoded string :: " + decodedAttachmentName);
decodedAttachmentName = Normalizer.normalize(decodedAttachmentName, Normalizer.Form.NFC);
LOGGER.info("Normalized string :: " + decodedAttachmentName);
int extensionIndex = decodedAttachmentName.indexOf(EXTENSION_VALUE_46);
extensionIndex = extensionIndex == -1 ? decodedAttachmentName.length() : extensionIndex;
File parentFile = new File(folderPath);
LOGGER.info("Updating file name if any file with the same name exists. File : " + decodedAttachmentName);
decodedAttachmentName = FileUtils.getUpdatedFileNameForDuplicateFile(decodedAttachmentName.substring(0, extensionIndex), parentFile, -1)
+ decodedAttachmentName.substring(extensionIndex);
LOGGER.info("Updated file name : " + decodedAttachmentName);
}
if (disPosition != null && disPosition.equalsIgnoreCase(Part.ATTACHMENT)) {
File file = new File(folderPath + File.separator + decodedAttachmentName);
file.getParentFile().mkdirs();
saveEmailAttachment(file, part);
}
}
项目:ephesoft
文件:MailUtil.java
public static void saveEmailAttachment(final File saveFile, final Part part) throws FileNotFoundException, IOException,
MessagingException {
InputStream inputStream = null;
try {
if (part != null) {
inputStream = part.getInputStream();
if (inputStream != null) {
FileUtils.writeFileViaStream(saveFile, inputStream);
}
}
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
} catch (final IOException e) {
LOGGER.error("Error while closing the input stream.", e);
}
}
}
项目:txazo
文件:MimeEmail.java
private void parsePart(Part part) throws Exception {
if (part.isMimeType("text/*")) {
content.append((String) part.getContent());
} else if (part.isMimeType("multipart/*")) {
Part p = null;
Multipart multipart = (Multipart) part.getContent();
for (int i = 0; i < multipart.getCount(); i++) {
p = multipart.getBodyPart(i);
String disposition = p.getDisposition();
if (disposition != null && (disposition.equals(Part.ATTACHMENT) || disposition.equals(Part.INLINE))) {
attachments.add(MimeUtility.decodeText(p.getFileName()));
}
parsePart(p);
}
} else if (part.isMimeType("message/rfc822")) {
parsePart((Part) part.getContent());
}
}
项目:eml-to-pdf-converter
文件:MimeMessageParser.java
/**
* Get the String Content of a MimePart.
* @param p MimePart
* @return Content as String
* @throws IOException
* @throws MessagingException
*/
private static String getStringContent(Part p) throws IOException, MessagingException {
Object content = null;
try {
content = p.getContent();
} catch (Exception e) {
Logger.debug("Email body could not be read automatically (%s), we try to read it anyway.", e.toString());
// most likely the specified charset could not be found
content = p.getInputStream();
}
String stringContent = null;
if (content instanceof String) {
stringContent = (String) content;
} else if (content instanceof InputStream) {
stringContent = new String(ByteStreams.toByteArray((InputStream) content), "utf-8");
}
return stringContent;
}
项目:play
文件:MailHelper.java
/**
* �����ʼ�����
*/
public static String getContent(Part part) throws Exception {
if (part.isMimeType("text/plain")) {
return (String) part.getContent();
} else if (part.isMimeType("text/html")) {
return (String) part.getContent();
} else if (part.isMimeType("multipart/*")) {
Multipart multipart = (Multipart) part.getContent();
String content = "";
for (int i = 0; i < multipart.getCount(); i++) {
content += getContent(multipart.getBodyPart(i));
}
return content;
} else if (part.isMimeType("message/rfc822")) {
return getContent((Part) part.getContent());
}
return "";
}
项目:openbd-core
文件:cfMailMessageData.java
public static String getFilename( Part Mess ) throws MessagingException{
// Part.getFileName() doesn't take into account any encoding that may have been
// applied to the filename so in order to obtain the correct filename we
// need to retrieve it from the Content-Disposition
String [] contentType = Mess.getHeader( "Content-Disposition" );
if ( contentType != null && contentType.length > 0 ){
int nameStartIndx = contentType[0].indexOf( "filename=\"" );
if ( nameStartIndx != -1 ){
String filename = contentType[0].substring( nameStartIndx+10, contentType[0].indexOf( '\"', nameStartIndx+10 ) );
try {
filename = MimeUtility.decodeText( filename );
return filename;
} catch (UnsupportedEncodingException e) {}
}
}
// couldn't determine it using the above, so fall back to more reliable but
// less correct option
return Mess.getFileName();
}
项目:CryptMeme
文件:ShowAttachmentsTag.java
@Override
public void doTag() throws IOException, JspException {
PageContext pageContext = (PageContext)getJspContext();
JspWriter out = pageContext.getOut();
try {
// make an HTML link for each attachment
List<Part> parts = email.getParts();
for (int partIndex=0; partIndex<parts.size(); partIndex++) {
Part part = parts.get(partIndex);
if (Part.ATTACHMENT.equalsIgnoreCase(part.getDisposition())) {
String filename = part.getFileName();
out.println("<a href=\"showAttachment?messageID=" + email.getMessageID() + "&folder=" + folder + "&part=" + partIndex + "\">" +
filename + "</a> (" + Util.getHumanReadableSize(part) + ") <br/>");
}
}
} catch (MessagingException e) {
throw new JspException("Can't parse email.", e);
}
}
项目:CryptMeme
文件:Email.java
/**
* Returns the <code>Part</code> whose <code>content</code>
* should be displayed inline.
* @throws MessagingException
* @throws IOException
*/
private Part getMainTextPart() throws MessagingException, IOException {
List<Part> parts = getParts();
Part mostPreferable = this;
for (Part part: parts) {
String disposition = part.getDisposition();
if (!Part.ATTACHMENT.equalsIgnoreCase(disposition)) {
// prefer plain text
if (part.isMimeType("text/plain"))
return part;
else if (part.isMimeType("text/html"))
mostPreferable = part;
}
}
return mostPreferable;
}
项目:CryptMeme
文件:Util.java
/** Returns the size of an email attachment in a user-friendly format
* @throws MessagingException
* @throws IOException */
public static String getHumanReadableSize(Part part) throws IOException, MessagingException {
// find size in bytes
InputStream inputStream = part.getInputStream();
byte[] buffer = new byte[32*1024];
long totalBytes = 0;
int bytesRead;
do {
bytesRead = inputStream.read(buffer, 0, buffer.length);
if (bytesRead > 0)
totalBytes += bytesRead;
} while (bytesRead > 0);
// format to a string
return getHumanReadableSize(totalBytes);
}
项目:bergamot-site
文件:DiscussMailFetcher.java
private String getPlainTextMessage(Part part) throws MessagingException, IOException
{
if (part.isMimeType("text/plain"))
{
return (String) part.getContent();
}
else if (part.isMimeType("multipart/*"))
{
Multipart multi = (Multipart) part;
for (int i = 0 ; i < multi.getCount(); i++)
{
Part subPart = multi.getBodyPart(i);
String text = getPlainTextMessage(subPart);
if (text != null) return text;
}
}
return null;
}
项目:mytools
文件:MailReceiver.java
/**
* 提取html
*
* @param p
* @return
* @throws MessagingException
* @throws IOException
* @throws Exception
*/
public String dumpPart(Part p) throws MessagingException, IOException {
String contentType = p.getContentType().toLowerCase();
Object o = p.getContent();
if (o instanceof String) {// 这是纯文本
if (contentType.contains(CONTENT_TYPE_TEXT_HTML)) {
return (String) o;
}
} else if (o instanceof Multipart) {// multipart
Multipart mp = (Multipart) o;
int count = mp.getCount();
for (int i = 0; i < count; i++) {
String result = dumpPart(mp.getBodyPart(i));
if (result != null) {
return result;
}
}
}
return null;
}
项目:mytools
文件:EmailCallable.java
/**
* 提取html
*
* @param p
* @return
* @throws Exception
*/
public String dumpPart(Part p) throws Exception {
String contentType = p.getContentType().toLowerCase();
Object o = p.getContent();
if (o instanceof String) {// 这是纯文本
if (contentType.contains(CONTENT_TYPE_TEXT_HTML)) {
return (String) o;
}
} else if (o instanceof Multipart) {// multipart
Multipart mp = (Multipart) o;
int count = mp.getCount();
for (int i = 0; i < count; i++) {
String result = dumpPart(mp.getBodyPart(i));
if (result != null) {
return result;
}
}
}
return null;
}
项目:cs-actions
文件:GetMailMessage.java
private String processMultipart(Part part) throws IOException,
MessagingException {
Multipart relatedparts = (Multipart)part.getContent();
for (int j = 0; j < relatedparts.getCount(); j++) {
Part rel = relatedparts.getBodyPart(j);
if (rel.getDisposition() == null) {
// again, if it's not an image or attachment(only those have disposition not null)
if (rel.isMimeType("multipart/alternative")) {
// last crawl through the alternative formats.
return extractAlternativeContent(rel);
}
}
}
return null;
}
项目:ImapNote2
文件:NoteDetailActivity.java
private void GetPart(Part message) throws Exception {
if (message.isMimeType("text/plain")) {
Log.d(TAG,"+++ isMimeType text/plain (contentType):"+message.getContentType());
} else if (message.isMimeType("multipart/*")) {
Log.d(TAG,"+++ isMimeType multipart/* (contentType):"+message.getContentType());
Object content = message.getContent();
Multipart mp = (Multipart) content;
int count = mp.getCount();
for (int i = 0; i < count; i++) GetPart(mp.getBodyPart(i));
} else if (message.isMimeType("message/rfc822")) {
Log.d(TAG,"+++ isMimeType message/rfc822/* (contentType):"+message.getContentType());
GetPart((Part) message.getContent());
} else if (message.isMimeType("image/jpeg")) {
Log.d(TAG,"+++ isMimeType image/jpeg (contentType):"+message.getContentType());
} else if (message.getContentType().contains("image/")) {
Log.d(TAG,"+++ isMimeType image/jpeg (contentType):"+message.getContentType());
} else {
Object o = message.getContent();
if (o instanceof String) {
Log.d(TAG,"+++ instanceof String");
} else if (o instanceof InputStream) {
Log.d(TAG,"+++ instanceof InputStream");
} else Log.d(TAG,"+++ instanceof ???");
}
}
项目:irma_future_id
文件:SMIMESigned.java
private static InputStream getInputStream(
Part bodyPart)
throws MessagingException
{
try
{
if (bodyPart.isMimeType("multipart/signed"))
{
throw new MessagingException("attempt to create signed data object from multipart content - use MimeMultipart constructor.");
}
return bodyPart.getInputStream();
}
catch (IOException e)
{
throw new MessagingException("can't extract input stream: " + e);
}
}
项目:irma_future_id
文件:SMIMESignedParser.java
private static InputStream getInputStream(
Part bodyPart)
throws MessagingException
{
try
{
if (bodyPart.isMimeType("multipart/signed"))
{
throw new MessagingException("attempt to create signed data object from multipart content - use MimeMultipart constructor.");
}
return bodyPart.getInputStream();
}
catch (IOException e)
{
throw new MessagingException("can't extract input stream: " + e);
}
}
项目:irma_future_id
文件:SMIMECompressedParser.java
private static InputStream getInputStream(
Part bodyPart,
int bufferSize)
throws MessagingException
{
try
{
InputStream in = bodyPart.getInputStream();
if (bufferSize == 0)
{
return new BufferedInputStream(in);
}
else
{
return new BufferedInputStream(in, bufferSize);
}
}
catch (IOException e)
{
throw new MessagingException("can't extract input stream: " + e);
}
}
项目:irma_future_id
文件:SMIMEEnvelopedParser.java
private static InputStream getInputStream(
Part bodyPart,
int bufferSize)
throws MessagingException
{
try
{
InputStream in = bodyPart.getInputStream();
if (bufferSize == 0)
{
return new BufferedInputStream(in);
}
else
{
return new BufferedInputStream(in, bufferSize);
}
}
catch (IOException e)
{
throw new MessagingException("can't extract input stream: " + e);
}
}
项目:bc-java
文件:SMIMESigned.java
private static InputStream getInputStream(
Part bodyPart)
throws MessagingException
{
try
{
if (bodyPart.isMimeType("multipart/signed"))
{
throw new MessagingException("attempt to create signed data object from multipart content - use MimeMultipart constructor.");
}
return bodyPart.getInputStream();
}
catch (IOException e)
{
throw new MessagingException("can't extract input stream: " + e);
}
}
项目:bc-java
文件:SMIMESignedParser.java
private static InputStream getInputStream(
Part bodyPart)
throws MessagingException
{
try
{
if (bodyPart.isMimeType("multipart/signed"))
{
throw new MessagingException("attempt to create signed data object from multipart content - use MimeMultipart constructor.");
}
return bodyPart.getInputStream();
}
catch (IOException e)
{
throw new MessagingException("can't extract input stream: " + e);
}
}
项目:bc-java
文件:SMIMECompressedParser.java
private static InputStream getInputStream(
Part bodyPart,
int bufferSize)
throws MessagingException
{
try
{
InputStream in = bodyPart.getInputStream();
if (bufferSize == 0)
{
return new BufferedInputStream(in);
}
else
{
return new BufferedInputStream(in, bufferSize);
}
}
catch (IOException e)
{
throw new MessagingException("can't extract input stream: " + e);
}
}
项目:bc-java
文件:SMIMEEnvelopedParser.java
private static InputStream getInputStream(
Part bodyPart,
int bufferSize)
throws MessagingException
{
try
{
InputStream in = bodyPart.getInputStream();
if (bufferSize == 0)
{
return new BufferedInputStream(in);
}
else
{
return new BufferedInputStream(in, bufferSize);
}
}
catch (IOException e)
{
throw new MessagingException("can't extract input stream: " + e);
}
}