Estou desenvolvendo um sistema que envia e-mails com arquivos anexados.
Temos vários clientes que recebem estes e-mails diariamente. Porém, um de nossos clientes, dos EUA, não está mais conseguindo receber. Se mandarmos o mesmo arquivo pelo Outlook Express, funciona. Mas pela java, não. Outra informação, se mandar um e-mail pelo java sem anexo, funciona.
Não importa o arquivo que seja, se mandar apenas um "txt", com meu nome escrito, em anexo, também não vai.
Abaixo a mensagem de erro que recebo:
"Esta mensagem usa um conjunto de caracteres que não é suportado pelo
Internet Mail Service. Para visualizar o conteúdo original da mensagem,abra
a mensagem anexada. Se o texto não for exibido corretamente, salve o anexo
no disco e abra-o utilizando um vizualizador que possa exibir o conjunto de
caracteres original."
Este é o código que estou utilizando para anexar o arquivo:
// Cria uma Sessão para o E-Mail
Session session = Session.getDefaultInstance(System.getProperties(), null);
// Cria a Mensagem
MimeMessage msg = new MimeMessage(session);
// De:
msg.setFrom(new InternetAddress(from));
// Para:
InternetAddress ainternetAddress[] = new InternetAddress[to.length];
for (int index = 0; index < to.length; index++) {
ainternetAddress[index] = new InternetAddress(to[index]);
}
msg.setRecipients(Message.RecipientType.TO, ainternetAddress);
// Assunto:
msg.setSubject(msgSubject);
// Cria a primeira Parte da Mensagem
mbp1 = new MimeBodyPart();
// Texto da Mensagem
if (messageType.equals(EmailUtils.MSG_TYPE_TEXT))
mbp1.setText(msgText);
if (messageType.equals(EmailUtils.MSG_TYPE_HTML)) {
mbp1.setDataHandler(new DataHandler(
new ByteArrayDataSource(msgText , "text/html")));
}
// Cria as Multiplas partes da Mensagem
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp1);
// Cria Segunda Parte da Mensagem (Apenas se Existirem Arquivos para Anexar)
if (files != null) {
// Adiciona o Arquivo ao E-Mail
FileDataSource fds = new FileDataSource(File);
if (!fds.getFile().exists()) {
throw new FileNotFoundException("Arquivo " + normalFile + " Não Encontrado! ");
}
MimeBodyPart mbp2 = new MimeBodyPart();
mbp2.setDataHandler(new DataHandler(fds));
// mbp2.setFileName(fds.getName());
mp.addBodyPart(mbp2);
}
// Adiciona as Multiplas Partes à Mensagem
msg.setContent(mp);
// Atribui a Data de Envio
msg.setSentDate(new Date());
// Envia a Mensagem
Transport.send(msg);
:-?
Envio de E-mail com arquivos Anexados
K
2 Respostas
A
Este internet mail service é o Exchange da Micro$oft?
K
Muito obrigada mas o problema já foi resolvido. A máquina do cliente estava com problemas, com erros, ele então formatou e instalou da forma correta os aplicativos e então funcionou.
Muito obrigada por tudo!!
O cliente possui linux e utilizava o Qmail.
Obrigada!!!
Criado 28 de janeiro de 2003
Ultima resposta 11 de fev. de 2003
Respostas 2
Participantes 2
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo