Android загружать вложения электронной почты на SD

Я прочитал много блогов и форумов об электронной почте на Android... Теперь моя цель - загружать входящие электронные письма с почтового сервера POP3... Существует огромный список информации о том, как отправлять электронные письма, НО в то же время практически ОТСУТСТВУЕТ информация о том, КАК ПОЛУЧАТЬ электронные письма с вложениями программно и сохранять вложения на >SD-карта...

Пожалуйста, любая помощь приветствуется!!!

Ближайшим по смыслу, например, является... Android: правильная загрузка/сохранение электронной почты вложение

Этот код работает на ПК в java!!!

    package com.tsysv.mail;
    import java.io.IOException;
    import java.util.Properties;
    import javax.mail.Folder;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.NoSuchProviderException;
    import javax.mail.Session;
    import com.sun.mail.pop3.POP3Store;
    public class EmailReceiveTest {

public static void main(String[] args) {

    String mailPop3Host = "pop3.***.**";
    String mailStoreType = "pop3";
    String mailUser = "*****";
    String mailPassword = "******";

    receiveEmail(mailPop3Host, mailStoreType, mailUser, mailPassword);
}

public static void receiveEmail(String pop3Host, String storeType, String user, String password) {

    try {
        Properties properties = new Properties();
        properties.put("mail.pop3.host", pop3Host);
        Session emailSession = Session.getDefaultInstance(properties);

        POP3Store emailStore = (POP3Store) emailSession.getStore(storeType);
        emailStore.connect(user, password);

        Folder emailFolder = emailStore.getFolder("INBOX");
        emailFolder.open(Folder.READ_ONLY);

        Message[] messages = emailFolder.getMessages();
        for (int i = 0; i < messages.length; i++) {
            Message message = messages[i];
            System.out.println("==============================");
            System.out.println("Email #" + (i + 1));
            System.out.println("Subject: " + message.getSubject());
            System.out.println("From: " + message.getFrom()[0]);
            System.out.println("Text: " + message.getContent().toString());
        }

        emailFolder.close(false);
        emailStore.close();
    } catch (NoSuchProviderException e) {
        e.printStackTrace();
    } catch (MessagingException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}
} 

Но реализация его на Android дает такую ​​ошибку в StackTrace...

    02-15 10:21:55.044: W/System.err(2687): javax.mail.MessagingException: Connect failed;
    02-15 10:21:55.044: W/System.err(2687):   nested exception is:
    02-15 10:21:55.044: W/System.err(2687):     java.net.SocketException: Permission denied
    02-15 10:21:55.044: W/System.err(2687):     at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:176)
    02-15 10:21:55.054: W/System.err(2687):     at javax.mail.Service.connect(Service.java:291)
    02-15 10:21:55.054: W/System.err(2687):     at javax.mail.Service.connect(Service.java:172)
    02-15 10:21:55.054: W/System.err(2687):     at javax.mail.Service.connect(Service.java:192)
    02-15 10:21:55.054: W/System.err(2687):     at m.tsysv.pop3mail.MainActivity.receiveEmail(MainActivity.java:67)
    02-15 10:21:55.054: W/System.err(2687):     at m.tsysv.pop3mail.MainActivity$1.onClick(MainActivity.java:53)
    02-15 10:21:55.054: W/System.err(2687):     at android.view.View.performClick(View.java:2408)
    02-15 10:21:55.054: W/System.err(2687):     at android.view.View$PerformClick.run(View.java:8817)
    02-15 10:21:55.054: W/System.err(2687):     at android.os.Handler.handleCallback(Handler.java:587)
    02-15 10:21:55.054: W/System.err(2687):     at android.os.Handler.dispatchMessage(Handler.java:92)
    02-15 10:21:55.054: W/System.err(2687):     at android.os.Looper.loop(Looper.java:144)
    02-15 10:21:55.054: W/System.err(2687):     at android.app.ActivityThread.main(ActivityThread.java:4937)
    02-15 10:21:55.054: W/System.err(2687):     at java.lang.reflect.Method.invokeNative(Native Method)
    02-15 10:21:55.054: W/System.err(2687):     at java.lang.reflect.Method.invoke(Method.java:521)
    02-15 10:21:55.054: W/System.err(2687):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    02-15 10:21:55.054: W/System.err(2687):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    02-15 10:21:55.054: W/System.err(2687):     at dalvik.system.NativeStart.main(Native Method)
    02-15 10:21:55.054: W/System.err(2687): Caused by: java.net.SocketException: Permission denied
    02-15 10:21:55.064: W/System.err(2687):     at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocketImpl(Native Method)
    02-15 10:21:55.064: W/System.err(2687):     at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocket(OSNetworkSystem.java:186)
    02-15 10:21:55.064: W/System.err(2687):     at org.apache.harmony.luni.net.PlainSocketImpl.create(PlainSocketImpl.java:265)
    02-15 10:21:55.064: W/System.err(2687):     at java.net.Socket.checkClosedAndCreate(Socket.java:873)
    02-15 10:21:55.064: W/System.err(2687):     at java.net.Socket.connect(Socket.java:1020)
    02-15 10:21:55.064: W/System.err(2687):     at java.net.Socket.connect(Socket.java:997)
    02-15 10:21:55.064: W/System.err(2687):     at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:284)
    02-15 10:21:55.064: W/System.err(2687):     at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:227)
    02-15 10:21:55.064: W/System.err(2687):     at com.sun.mail.pop3.Protocol.<init>(Protocol.java:98)
    02-15 10:21:55.064: W/System.err(2687):     at com.sun.mail.pop3.POP3Store.getPort(POP3Store.java:227)
    02-15 10:21:55.064: W/System.err(2687):     at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:172)
    02-15 10:21:55.064: W/System.err(2687):     ... 16 more

person timonvlad    schedule 15.02.2013    source источник
comment
В доступе отказано. Установили ли вы все разрешения в своем манифесте?   -  person smk    schedule 15.02.2013
comment
Просто чтобы исключить варианты, у вас есть РАЗРЕШЕНИЕ ИНТЕРНЕТ И ЗАПИСЬ_ВНЕШНЕГО_ХРАНИЛИЩА   -  person smk    schedule 15.02.2013
comment
Спасибо!!! Позор мне!!!)))) Нуб фейл!!! Извини!!!   -  person timonvlad    schedule 15.02.2013