Ragazzi e ragazze, il mio problema riguarda del codice trovato in rete, il problema è semplice(le mail vengono inviate correttamente):
se provo ad inviare una mail con allegato il testo della mail non arriva a destinazione, invece se provo a non inviare l'allegato il testo arriva correttamente!

Ecco il codice incriminato:
codice:
	private static Store store;
	private static Message[] messages;

	public static void sendMail(final User utente, String dest, String oggetto,
			String testoEmail, File allegato) throws MessagingException {

		Properties props = new Properties();
		props.setProperty("mail.transport.protocol", "smtp");
		props.setProperty("mail.host", "smtp.gmail.com");
		props.put("mail.smtp.auth", "true");
		props.put("mail.smtp.port", "465");
		props.put("mail.smtp.socketFactory.port", "465");
		props.put("mail.smtp.socketFactory.class",
				"javax.net.ssl.SSLSocketFactory");
		props.put("mail.smtp.socketFactory.fallback", "false");
		props.setProperty("mail.smtp.quitwait", "false");

		Session session = Session.getDefaultInstance(props,
				new javax.mail.Authenticator() {

					private String user = utente.getUsername().trim();
					private String pass = utente.getPassword().trim();

					protected PasswordAuthentication getPasswordAuthentication() {
						return new PasswordAuthentication(this.user, this.pass);
					}
				});

		MimeMessage message = new MimeMessage(session);
		message.setSubject(oggetto);
		message.setText(testoEmail, "utf-8");
		InternetAddress fromAddress = new InternetAddress(utente.getUsername()
				+ "@gmail.com");
		InternetAddress toAddress = new InternetAddress(dest);
		message.setFrom(fromAddress);
		message.setRecipient(Message.RecipientType.TO, toAddress);
		if (allegato != null) {
			FileDataSource fds = new FileDataSource(allegato);
			message.setDataHandler(new DataHandler(fds));
			message.setFileName(fds.getName());
		}

		Transport.send(message);
	}
Grazie a tutti...