Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ public class JapaneseMimeDecoder

public static String decode(String encoded)
{
if (encoded == null)
return "";

int strLen = encoded.length();
int currentIndex = 0;

Expand Down
40 changes: 19 additions & 21 deletions gxmail/src/main/java/com/genexus/internet/POP3SessionJavaMail.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
package com.genexus.internet;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.*;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Properties;
Expand Down Expand Up @@ -357,21 +354,22 @@ private String getAttachmentContentId(Part part) throws MessagingException

private void saveFile(String filename, InputStream input) throws IOException
{
File file = new File(attachmentsPath + filename);
BufferedOutputStream bos;
try (FileOutputStream fos = new FileOutputStream(file)) {
bos = new BufferedOutputStream(fos);
}

BufferedInputStream bis = new BufferedInputStream(input);
int aByte;
while ((aByte = bis.read()) != -1)
{
bos.write(aByte);
}
bos.flush();
bos.close();
bis.close();
try {
String encodedFilename = URLEncoder.encode(filename, StandardCharsets.UTF_8.toString());
encodedFilename = encodedFilename.replace("+", "_");
File file = new File(attachmentsPath + encodedFilename);
try (FileOutputStream fos = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(fos);
BufferedInputStream bis = new BufferedInputStream(input)) {
int aByte;
while ((aByte = bis.read()) != -1) {
bos.write(aByte);
}
bos.flush();
}
} catch (UnsupportedEncodingException e) {
throw new IOException("Error encoding the filename", e);
}
}

public String getNextUID() throws GXMailException
Expand Down