Hallo,
ich bin hobby programmierer und habe ein kleines Projekt vor.
1. ich mochte ein Programm, das Die Verbindung zu einem mailserver erstellt. Die angekommenen mails (in Inbox) holt und in ein anderes Verzeichnis verschiebt.
Die Absender werden Account bei mir haben d.h (emaladresse, passwort) und duerfen nur bis 30 files mir schicken.
2.Bevor das Programm die mails in das neue Verzeichnis verschiebt sollt es ueberpruefen,
- ob der Absender einen Acount hat, wenn nein dann die mail loeschen.
- ob der Absender die 30 files quote ueberschriten hat.
Ich habe bei jonglieren fast der erste Punkt geschrieben.
Bitte korrigieren sie mie den code und helfen mir weiter bei der restlichen Klasse
ich bin hobby programmierer und habe ein kleines Projekt vor.
1. ich mochte ein Programm, das Die Verbindung zu einem mailserver erstellt. Die angekommenen mails (in Inbox) holt und in ein anderes Verzeichnis verschiebt.
Die Absender werden Account bei mir haben d.h (emaladresse, passwort) und duerfen nur bis 30 files mir schicken.
2.Bevor das Programm die mails in das neue Verzeichnis verschiebt sollt es ueberpruefen,
- ob der Absender einen Acount hat, wenn nein dann die mail loeschen.
- ob der Absender die 30 files quote ueberschriten hat.
Ich habe bei jonglieren fast der erste Punkt geschrieben.
Bitte korrigieren sie mie den code und helfen mir weiter bei der restlichen Klasse
Code:
/**
*
* @author Georges
*/
public class MailRetriever {
private String emailuser;
private String emailpassword;
private String emailserver;
private String emailprovider;
public MailRetriever(String emailuser,String emailpassword,String emailserver,String emailprovider) {
this.emailuser=emailuser;
this.emailpassword=emailpassword;
this.emailserver=emailserver;
this.emailprovider=emailprovider;
}
public void getMail() {
Session session;
Store store=null;
Folder folder=null;
Folder inboxfolder=null;
Properties props=System.getProperties();
props.setProperty("mail.pop3s.rsetbeforequit","true");
props.setProperty("mail.pop3.rsetbeforequit","true");
session=Session.getInstance(props,null);
// session.setDebug(true);
try {
store=session.getStore(emailprovider);
store.connect(emailserver,emailuser,emailpassword);
folder=store.getDefaultFolder();
if(folder==null) throw new Exception("No default folder");
inboxfolder=folder.getFolder("INBOX");
if(inboxfolder==null) throw new Exception("No INBOX");
inboxfolder.open(Folder.READ_ONLY);
Message[] msgs=inboxfolder.getMessages();
FetchProfile fp=new FetchProfile();
fp.add("Subject");
inboxfolder.fetch(msgs,fp);
for(int j=msgs.length-1;j>=0;j--) {
if(msgs[j].getSubject().startsWith("MailPage:")) {
setLatestMessage(msgs[j]);
break;
}
}
inboxfolder.close(false);
store.close();
} catch (NoSuchProviderException ex) {
ex.printStackTrace();
} catch (MessagingException ex) {
ex.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
if(store!=null) store.close();
} catch (MessagingException ex) {
ex.printStackTrace();
}
}
}
public static void main(String[] args) {
MailRetriever mr=new MailRetriever(args[0],args[1],args[2],args[3]);
mr.getMail();
Renderable msg=mr.getLatestMessage();
if(msg==null) {
System.out.println("No valid messages in the mail account");
} else {
System.out.println("Subject:"+msg.getSubject());
}
}
}