Тема: Помогите с получение почты с MAIL.RU через IMAP

Ответить в теме
Показано с 1 по 5 из 5
  1. Вверх #1
    Посетитель
    Пол
    Мужской
    Адрес
    пгт.Великодолинское
    Сообщений
    109
    Репутация
    21

    По умолчанию Помогите с получение почты с MAIL.RU через IMAP

    Есть задача получать письма в разных папках на почтовом ящике и по своему обрабатывать.

    import com.sun.xml.internal.messaging.saaj.packaging.mime .MessagingException;

    import java.io.*;
    import java.util.*;
    import javax.mail.*;
    import javax.mail.internet.*;

    public class ReceiveMailImap {

    public ReceiveMailImap() {}

    //
    // inspired by :
    // http://www.mikedesjardins.net/content/2008/03/using-javamail-to-read-and-extract/
    //

    public static void doit() throws MessagingException, IOException, javax.mail.MessagingException {
    Folder folder = null;
    Store store = null;
    try {
    Properties props = System.getProperties();
    props.setProperty("mail.store.protocol", "imaps");

    Session session = Session.getDefaultInstance(props, new mMailAuthenticator("[email protected]", "*******"));
    // session.setDebug(true);
    store = session.getStore("imaps");

    store.connect("imap.mail.ru","<[email protected]>", "<*******>");
    folder = store.getFolder("Inbox");

    folder.open(Folder.READ_WRITE);
    Message messages[] = folder.getMessages();
    System.out.println("No of Messages : " + folder.getMessageCount());
    System.out.println("No of Unread Messages : " + folder.getUnreadMessageCount());
    for (int i=0; i < messages.length; ++i) {
    System.out.println("MESSAGE #" + (i + 1) + ":");
    Message msg = messages[i];
    /*
    if we don''t want to fetch messages already processed
    if (!msg.isSet(Flags.Flag.SEEN)) {
    String from = "unknown";
    ...
    }
    */
    String from = "unknown";
    if (msg.getReplyTo().length >= 1) {
    from = msg.getReplyTo()[0].toString();
    }
    else if (msg.getFrom().length >= 1) {
    from = msg.getFrom()[0].toString();
    }
    String subject = msg.getSubject();
    System.out.println("Saving ... " + subject +" " + from);
    // you may want to replace the spaces with "_"
    // the TEMP directory is used to store the files
    String filename = "c:/temp/" + subject;
    saveParts(msg.getContent(), filename);
    msg.setFlag(Flags.Flag.SEEN,true);
    // to delete the message
    // msg.setFlag(Flags.Flag.DELETED, true);
    }
    }
    finally {
    if (folder != null) { folder.close(true); }
    if (store != null) { store.close(); }
    }
    }

    public static void saveParts(Object content, String filename)
    throws IOException, MessagingException, javax.mail.MessagingException {
    OutputStream out = null;
    InputStream in = null;
    try {
    if (content instanceof Multipart) {
    Multipart multi = ((Multipart)content);
    int parts = multi.getCount();
    for (int j=0; j < parts; ++j) {
    MimeBodyPart part = (MimeBodyPart)multi.getBodyPart(j);
    if (part.getContent() instanceof Multipart) {
    // part-within-a-part, do some recursion...
    saveParts(part.getContent(), filename);
    }
    else {
    String extension = "";
    if (part.isMimeType("text/html")) {
    extension = "html";
    }
    else {
    if (part.isMimeType("text/plain")) {
    extension = "txt";
    }
    else {
    // Try to get the name of the attachment
    extension = part.getDataHandler().getName();
    }
    filename = filename + "." + extension;
    System.out.println("... " + filename);
    out = new FileOutputStream(new File(filename));
    in = part.getInputStream();
    int k;
    while ((k = in.read()) != -1) {
    out.write(k);
    }
    }
    }
    }
    }
    }
    finally {
    if (in != null) { in.close(); }
    if (out != null) { out.flush(); out.close(); }
    }
    }

    public static void main(String args[]) throws Exception {
    ReceiveMailImap.doit();
    }
    }
    class mMailAuthenticator extends Authenticator {
    String user;
    String pw;

    public mMailAuthenticator(String username, String password) {
    super();
    this.user = username;
    this.pw = password;
    }

    public PasswordAuthentication getPasswordAuthentication() {
    return new PasswordAuthentication(user, pw);
    }
    }

    Проблемма в том что письма приходят, но пустые.. помогите плиз..
    ryakovlev.blogspot.com


  2. Вверх #2
    Посетитель
    Пол
    Мужской
    Сообщений
    348
    Репутация
    27
    Я бы не советовал mail почту через imap куча проблем если честно с ней
    Вообще проверти настройки и безопасность как в клиенте так и в самой почте сделайте там на минимум

  3. Вверх #3
    Новичок
    Пол
    Мужской
    Сообщений
    36
    Репутация
    18
    если вы действительно хотите что бы в вашем коде кто-то разобрался - сделайте его читабельным) столько неоформленніх строк джаві - сложно воспринять)

  4. Вверх #4
    Посетитель
    Пол
    Мужской
    Адрес
    пгт.Великодолинское
    Сообщений
    109
    Репутация
    21
    Все проблему решил... IMAP нужен чтобы тянуть письма с определенной папки на сервере, к сожалению POP3 не позволяет работать с папками.
    ryakovlev.blogspot.com

  5. Вверх #5
    Посетитель
    Пол
    Мужской
    Адрес
    пгт.Великодолинское
    Сообщений
    109
    Репутация
    21
    Цитата Сообщение от MusicInside Посмотреть сообщение
    если вы действительно хотите что бы в вашем коде кто-то разобрался - сделайте его читабельным) столько неоформленніх строк джаві - сложно воспринять)
    Приму к сведению )
    ryakovlev.blogspot.com


Ответить в теме

Похожие темы

  1. E-MAIL КЛИЕНТ
    от rupreht в разделе Мобильная техника
    Ответов: 23
    Последнее сообщение: 18.05.2007, 23:18
  2. Организация e-mail нотификации с текущим IP-адресом машины
    от Ribeiro в разделе Программное обеспечение
    Ответов: 16
    Последнее сообщение: 22.03.2007, 17:58
  3. djuice mail & ICQ
    от -Wolf- в разделе Мобильная техника
    Ответов: 3
    Последнее сообщение: 27.08.2005, 11:57
  4. Небольшие проблемы с e-mail уведомлениями
    от iFog в разделе Новости форума
    Ответов: 0
    Последнее сообщение: 26.08.2005, 10:42
  5. Сервис Media-Club - Отсылка на E-Mail
    от DYA в разделе Музыка
    Ответов: 0
    Последнее сообщение: 11.05.2005, 23:27

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения