Allora nella mia applicazione devo mandare email da codice.
Nessun problema dopo varie prove (![]()
)come ricavarmi il File tramite struts e i suoi form, ci sono riuscito tutto a posto.
Poi è arrivato il momento di prendere i vari array di byte e trasformali in File da aggiungere alla mia mail. etc etc.. tutto bene tutto funziona ma:
Il file che spedisco in allegato mi viene copiato anche in una cartella di cui l'applicazione non dovrebbe neanche sapere l'esistenzaVVoVe: .
Vado a spiegarmi meglio..
Lavoro con JBuilderX la cui cartella che contiene il mio progetto si trova sotto C:\workspace\mioProggetto.
Qui ci sono i sorgenti.
Dopodichè tramite l'utilità di Jbuilderx avvio tomcat e dopo aver messo tutta la mia applicazione compilata nella webapp di Tomcat la faccio girare.
Ora in considerazione che l'applicazione senza sorgenti si trova nella webapps di TOMCAT non dovrebbe sapere neanche cosa sia la C:\workspace\mioProggetto.
Vado nella mi applicazione invio l'email con l'allegato, e cosa mi ritrovo?
il documento che ho allegato copiato in C:\workspace\mioProggetto.![]()
Potevo capire se me lo metteva in webapp\mioProgetto, ossia nel contecxt del mio progetto ma cosi non capisco assolutamente come faccia ad andare a mettermelo qui.
Questo il codice con il quale creo la mia mail e il file da allegare.
public void setAttachment(FormFile file,String body) throws Exception
{
if(this.message == null)
this.message = new MimeMessage(getSession());
MimeBodyPart textPart = new MimeBodyPart();
this.body=body;
MimeBodyPart attachFilePart = new MimeBodyPart();
File outputFile = new File(file.getFileName());
FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
fileOutputStream.write(file.getFileData());
FileDataSource fds = new FileDataSource(outputFile.getPath());
textPart.setContent(body,"text/html");
attachFilePart.setDataHandler(new DataHandler(fds));
attachFilePart.setFileName(outputFile.getName());
Multipart mp = new MimeMultipart();
mp.addBodyPart(textPart);
mp.addBodyPart(attachFilePart);
message.setContent(mp);
}
Sapreste dirmi dove sbaglio? o cosa causa la copia?
Sono poco pratico nella gestione dei file, con java ogni aiuto è ben accetto