Olá, utilizei o seguinte exemplo como base: http://crunchify.com/how-send-email-using-java-mailapi-with-large-image-attachment/
Ok, no desktop rodou normalmente, mas quando fui implementar no android, simplesmente não funciona, fiz as alterações necessárias e tudo, porém não funcionou. Creio que o problema seja em anexar a imagem, pois retirei a parte do código que faz o anexo e o email foi enviado (sem o anexo, claro). Como posso resolver isso? Obrigado.
No android você precisa enviar um intent informando que haverá um anexo de determinado tipo.
de uma olhada nesse link
Eu já tinha dado uma olhada neste artigo, inclusive implementei ele e es permissões, porém meu programa não deve abrir o aplicativo do Gmail ou outro. O anexo é uma imagem na pasta raiz do usuário que será enviada junto com uma mensagem para outro email. Aguardo respostas.
Certo, nesse caso esse processo deve ocorrer no lado do servidor, não no dispositivo.
Eu faria da seguinte maneira:
Enviaria o arquivo da imagem e os dados do email para meu server e então lá
faria todo o processo de envio de email.
Ok, quero deixar esse processo simples. Irei passar o código que estou usando para enviar o email, omiti o restante, pois é apenas para configuração.
`MimeMessage msg = new MimeMessage(s);
msg.addHeader(“Content-type”, “text/HTML; charset=UTF-8”);
msg.addHeader(“format”, “flowed”);
msg.addHeader(“Content-Transfer-Encoding”, “8bit”);
msg.setFrom(new InternetAddress("meuemail@gmail.com"));
msg.setReplyTo(InternetAddress.parse("destinatario@gmail.com", false));
msg.setSubject(“Assunto”, “UTF-8”);
msg.setSentDate(new Date());
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("destinatario@gmail.com", false));
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(“texto…”, “text/plain”);
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
String filename = Environmsgt.getExternalStorageDirectory() + “Imagem.png”;
DataSource source = new FileDataSource(filename);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);
messageBodyPart.setHeader(“Content-ID”, “image_id”);
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(“
IMAGEM:
”
+ “
![]()
”, “text/html”);
multipart.addBodyPart(messageBodyPart);
msg.setContent(multipart);
Transport.send(msg);`
O que eu acho estranho é que o email é enviado normalmente quando eu apago o código que anexa a imagem.
vamos la então: ocorre algum erro quando vc anexa o arquivo?
mas o email chega a ser enviado?
Não, como eu disse, apenas se eu apagar a parte do código que faz o anexo. ???
der uma olhada na classe intent man vai lhe ajudar muito.