Estou tentando enviar e-mail com a API JavaMail através de uma aplicação android. Mas estou tendo problema, pois, ao clicar para fazer o envio diz que o e-mail foi enviado, mas quando vou ver na caixa de entrada não está lá e nem em outras pastas. E não aparece nenhum erro de compilação.
public class SendMail {
private static final String HostSMTPServer = "smtp.gmail.com";
private static final String PortSMTPServer = "465";
private boolean enviado = false;
public boolean sendMail(final MessageEmail email) throws MessagingException {
Properties prop = new Properties();
prop.put("mail.trnsport.protocol", "smtp");
prop.put("mail.smtp.starttls.enable", "true");
prop.put("mail.smtp.host", HostSMTPServer);
prop.put("mail.smtp.auth", "true");
prop.put("mail.smtp.user", email.getFrom());
prop.put("mail.debug", "true");
prop.put("mail.smtp.port", PortSMTPServer);
prop.put("mail.smtp.socketFactory.port", PortSMTPServer);
prop.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
prop.put("mail.smtp.socketFactory.fallback", "false");
Authenticator auth = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(email.getFrom(), email.getPassword());
}
};
Session session = Session.getDefaultInstance(prop, auth);
session.setDebug(true);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(email.getFrom()));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(email.getTo()));
msg.setSubject(email.getSubject());
MimeBodyPart part = new MimeBodyPart();
part.setContent(email.getBodyText(), "text/plain");
Multipart multipart = new MimeMultipart();
for (int i = 0; i < email.getAnexo().size(); i++){
MimeBodyPart anexar = new MimeBodyPart();
FileDataSource file = new FileDataSource(email.getAnexo().get(i).getUrl());
anexar.setDataHandler(new DataHandler(file));
anexar.setFileName(file.getName());
multipart.addBodyPart(anexar, i);
}
multipart.addBodyPart(part);
msg.setContent(multipart);
Transport.send(msg);
enviado = true;
return enviado;
}
}