Enviar email para varios dest

3 respostas
S

Bom dia estou fazendo uma aplicação para enviar e-mail mas estou com um problema.
Quando envio o e-mail para 3 pessoas por exemplo: [email removido], [email removido], [email removido], o 1º destinaratio recebe 3 mensagem do mesmo e-mail pq ele recebe o 1º email q ele pra ele o 2ª email q deveria ser so para o [email removido] esta indo para o [email removido] tb e nao deveria ir segue o codigo q estou usando:

for(int i=0; i<recep.length; i++){
			try {
				
				message.addRecipient(Message.RecipientType.TO,new InternetAddress(recep[i].trim()));
				Transport.send(message);
			} catch (MessagingException e) {
				erro.put(recep[i],e.getMessage());
			}
		}
Um outra porma q estou fazendo e:
Address ad[] = new InternetAddress [recep.length];
for(int i=0; i<recep.length; i++){
       ad[i] = recep[i];
}
message.addRecipients(Message.RecipientType.TO, ad);
Transport.send(message);
da segunda forma o email e enviado corretamente (1 apra acada destinaratio) mas se der algum erro eu nao consigo saber quais os destinaratios q nao receberao o email e no 1 modo na linha
erro.put(recep[i],e.getMessage());
consigu descobrir o email e o erro q deu quando nao conseguiu enviar este e-mail.

Alguem sabe como eu posso enviar eu email para cada destinaratio e recuperar os destinatarios q nao receberam o email?

Obrigado.

3 Respostas

T

Por definição, você não sabe se um destinatário recebeu um email, a menos que ele efetue uma confirmação. Essa confirmação pode ser quase-automática, se você puser um header “Disposition-Notification-To” (não lembro se é esse o nome) para que o programa de email mande uma mensagem de confirmação, ou um pouco menos automática (pedir ao usuário clicar em um link).

E de qualquer maneira, é mais correto (e mais elegante) enviar um email para cada destinatário. Se não me engano, vários servidores de email barram emails (como spam) se houver mais que três ou quatro destinatários no mesmo email.

T

Lendo seu código, você está pondo “Transport.send” dentro do loop. Não deveria estar fora?>

S

Isso mesmo cara valeu

Criado 24 de outubro de 2006
Ultima resposta 24 de out. de 2006
Respostas 3
Participantes 2