Hej!
Varje gång en användare rörsig mellan olika mappar (IMAP mail mappar) i min webmail så anroppars först openConnection och sedan closeConnection när den är klar med mappen (delfråga, eller ska man köra med öppen hela tiden??)
public Store openConnection()
throws NoSuchProviderException, MessagingException
{
Properties props=new Properties();
Session session=Session.getDefaultInstance(props,null);
Store store=session.getStore(getPostOffice("protocol"));
store.connect(getPostOffice("host"),Integer.parseInt(getPostOffice("port")),username,password);
return(store);
}
public void closeConnection(Store store)
throws MessagingException
{
if((store!=null)&&(store.isConnected()))
store.close();
}
det fungerar perfekt, jag kan vandra runt hur mycket jag vill utan problem. När jag nu ska skicka ett mail så har jag skrivit såhär
try
{
Properties props = System.getProperties();
props.put("mail.smtp.host", "mail.xxxxx.com");
Session session = Session.getDefaultInstance(props, null);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("viktor@xxxxx.com"));
message.addRecipient(Message.RecipientType.TO,new InternetAddress("viktor@xxxxx.com"));
message.setSubject("Hello 2222!");
message.setText("Hello Viktor 2");
Transport.send(message);
}
catch(AddressException e)
{
e.printStackTrace(System.err);
}
catch(MessagingException e)
{
e.printStackTrace(System.err);
}
(test kod bara)
om jag kör sänd koden ensam så fungerar den perfekt, men om jag kör den EFTER att jag har varit inne i en mapp (kört den första koden) så får jag detta felmedelande
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
javax.mail.SendFailedException: 550 5.7.1 Unable to relay for viktor@xxxxxx.com
Men om jag byter raden
Session session = Session.getDefaultInstance(props, null);
mot
Session session = Session.getInstance(props, null);
så fungerar det perfekt igen, någon som kan berätta varför det inte går att använda det gammla session objektet när jag ska skicka men det går att använda det flera gånger när jag ska kolla i mapparna.
/Viktor