JavaMail, Commons Email - Problemas com RMI

2 respostas
C

E ai galera, tudo bem?

Estou com um problema que está me deixando muito nervoso… e ainda não encontrei nenhuma solução para resolvê-lo.
Fiz um projeto para receber um objeto por RMI e persistir algumas informações no banco, mas além disso preciso enviar um email com algumas informações e um arquivo em anexo.

Já tentei usar JavaMail e Commons email da apache. Se dou um run com as informações já carregadas ele funciona normalmente, persiste e envia o email. Agora se starto o RMI e aguardo as informações ele dá um erro quando o JavaMail vai fazer um setFileName no anexo. Se não uso anexo ele dá erro ao enviar (503).

Já tentei ver se era algum tipo de conflito com libs, mas não vi nada de anormal. Tentei enviar um email simples com o RMI startado mas nada… com javaMail dá erro, com Commons mail não da erro, mas também não envia. Agora com um run sem RMI os dois casos enviam normalmente.

Alguém já passou por essa situação?

Desde já agradeço…

2 Respostas

P

qual é o erro?

C

Código do JavaMail.

try {  
				msg.setSentDate(new Date());
				msg.setFrom(new InternetAddress(REMETENTE, NOME_REMETENTE));
				msg.setSubject(assunto);  	
				
				Multipart mp = new MimeMultipart();
				
				MimeBodyPart htmlPart = new MimeBodyPart();
				htmlPart.setContent(htmlBody, "text/html");
				mp.addBodyPart(htmlPart);
							    
				if (pathAnexo!=null && pathAnexo.length()>0) {
					File f = new File(pathAnexo);
					MimeBodyPart imgPart = new MimeBodyPart();  
					FileDataSource fds = new FileDataSource(f.getPath());  
					imgPart.setDataHandler(new DataHandler(fds));
					imgPart.setFileName(f.getName());
					mp.addBodyPart(imgPart);
				}
				
							   
				msg.setContent(mp);
				for(String email : destinatarios) {
					msg.addRecipient(Message.RecipientType.BCC, new InternetAddress(email));
				}
				
				//msg.setRecipient(Message.RecipientType.TO, new InternetAddress(destinatarios.get(0)));

				Transport.send(msg);
}

Assim que ele executa o setFileName() gera o seguinte erro:

Se eu não seto o attach, ou seja não coloco anexo na mensagem, não dá mais o erro mas quando vai fazer o addRecipient() dá o seguinte erro:

Se mudo de addRecipient() para setRecipient() passa, mas na hora do Transport.send() dá o seguinte erro:

Acho que o problema pode estar no policy que seta as permissões para jvm na execução do RMI.

Criado 21 de agosto de 2009
Ultima resposta 21 de ago. de 2009
Respostas 2
Participantes 2