[Resolvido]Erro na autenticação ao enviar email

Fala galera.

Para alguem ja deu esse tipo de erro na hora da autenticação?

DEBUG SMTP: Attempt to authenticate 515 you do not have permission to access this service 74363 [Thread-34] ERROR com.ecomponentes.util.mail.MandaNews - Erro no envio de mailing: javax.mail.AuthenticationFailedException at javax.mail.Service.connect(Service.java:306) at javax.mail.Service.connect(Service.java:156) at javax.mail.Service.connect(Service.java:105) at javax.mail.Transport.send0(Transport.java:168) at javax.mail.Transport.send(Transport.java:98) at com.ecomponentes.util.mail.MandaNews.enviaEmail(MandaNews.java:42) at com.ecomponentes.util.mail.MandaNews.enviarEmail(MandaNews.java:125) at com.igcpartners.ecomponents.mailing.thread.MailingThread.run(MailingThread.java:38)

Lembrando que às vezes manda o email e às vezes não manda.

Vlwz!

Se você postar seu código (pode ser com usuário e senha fictícios) fica muito mais fácil te ajudarmos.

E se você descobrir a linha de código em que isso ocorre (usando uma ferramenta de debug) aí sim seria ideal.

[code]private void enviaEmail(String from, String to, String tratamento,
String email, MailingTO mailingTO, AnexoTO[] arquivos,
String assinatura) throws Exception {
MailUtil mailUtil = new MailUtil();
MimeMessage message = mailUtil.prepareEmail(email, to,
mailingTO.subject, this.montaPele2(mailingTO, tratamento),
arquivos, assinatura, from, mailingTO);

	// Send message
	Transport.send(message);
}[/code]

A linha que ele ocorre esse erro é na hora de enviar a mensagem, ou seja, no Transport.send(message);(linha 10)

[code]public MimeMessage prepareEmail(String from, String to, String assunto,
String conteudo, AnexoTO[] arquivos, String assinatura,
String fromPersonal, MailingTO mailingTO) throws Exception {

	// Get system properties
	Properties props = System.getProperties();

	ResourceBundle rb = ResourceBundle
			.getBundle("com.ecomponentes.util.RBFilesPath");

	// Setup mail server
	props.put("mail.smtp.host", rb.getString("email.smtp"));
	props.put("mail.smtp.port", rb.getString("email.port"));
	props.put("mail.smtp.auth", rb.getString("email.autenticacao"));
	props.put("mail.smtp.dsn.notify", "FAILURE ORCPT=rfc822;" + "blabla@blabla.com");
	props.put("mail.smtp.dsn.ret", "FULL"); 
	props.put("mail.mime.charset", "ISO-8859-1");

	// Get session
	Session session;
	Authenticator auth = new Autenticador(rb
			.getString("email.login"), rb.getString("email.senha"));   
	if (rb.getString("email.autenticacao").equals("true")) {
		session = Session.getDefaultInstance(props, auth);
	} else {
		session = Session.getDefaultInstance(props, null);
	}

	session.setDebug(true);
	// Define message
	SMTPMessage message = new SMTPMessage(session);

	SimpleDateFormat sdf = new SimpleDateFormat(
			"EEE, dd MMM yyyy hh:mm:ss z Z");
	message.addHeader("date-time", sdf.format(new Date()));
	message.setNotifyOptions(SMTPMessage.NOTIFY_FAILURE);
	message.setContentLanguage(new String[] { "pr_BR" });
	message.setContent(gerarConteudo(mailingTO, conteudo));
	message.setFrom(new InternetAddress("blabla@blabla.com", fromPersonal));
	InternetAddress[] ia = new InternetAddress[1];
	ia[0] = new InternetAddress(fromPersonal);
	message.setReplyTo(ia);
	message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
	message.setSubject(assunto, "ISO-8859-1");

	return message;
}[/code]

esse é o método que monta a mensagem.

Vlw!!!

Alguma saída de erro? Adicione nas propriedades o seguinte:

props.put("mail.debug", "true");

E coloque a saída (e exceção, se houver) aqui.

Detalhes do debug no console:

[code]DEBUG: JavaMail version 1.4.3
DEBUG: URL jar:file:/C:/workspace_interno/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ecrm/WEB-INF/lib/imap.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/C:/workspace_interno/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ecrm/WEB-INF/lib/imap.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/C:/workspace_interno/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ecrm/WEB-INF/lib/pop3.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/C:/workspace_interno/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ecrm/WEB-INF/lib/pop3.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/C:/workspace_interno/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ecrm/WEB-INF/lib/smtp.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/C:/workspace_interno/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ecrm/WEB-INF/lib/smtp.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsy stems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: URL jar:file:/C:/workspace_interno/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ecrm/WEB-INF/lib/smtp.jar!/META-INF/javamail.address.map
DEBUG: successfully loaded resource: jar:file:/C:/workspace_interno/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ecrm/WEB-INF/lib/smtp.jar!/META-INF/javamail.address.map
DEBUG: setDebug: JavaMail version 1.4.3
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host “smtp.igc-partners.com”, port 25, isSSL false
220 smtp-03.mandic.com.br ESMTP
DEBUG SMTP: connected to host “smtp.igc-partners.com”, port: 25

EHLO Fernando-Casa.lan
250-smtp-03.mandic.com.br
250-PIPELINING
250-SIZE 52428800
250-AUTH LOGIN PLAIN
250 8BITMIME
DEBUG SMTP: Found extension “PIPELINING”, arg “”
DEBUG SMTP: Found extension “SIZE”, arg “52428800”
DEBUG SMTP: Found extension “AUTH”, arg “LOGIN PLAIN”
DEBUG SMTP: Found extension “8BITMIME”, arg “”
DEBUG SMTP: Attempt to authenticate
DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM
AUTH LOGIN
334 VXNlcm5hbWU6
Y3JtLnNlcnZpZG9yaWdjQGlnYy1wYXJ0bmVycy5jb20=
334 UGFzc3dvcmQ6
MTIzNDU2
515 you do not have permission to access this service
60004 [Thread-34] ERROR com.ecomponentes.util.mail.MandaNews - Erro no envio de mailing:
javax.mail.AuthenticationFailedException: 515 you do not have permission to access this service

at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:648)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:583)
at javax.mail.Service.connect(Service.java:313)
at javax.mail.Service.connect(Service.java:172)
at javax.mail.Service.connect(Service.java:121)
at javax.mail.Transport.send0(Transport.java:190)
at javax.mail.Transport.send(Transport.java:120)
at com.ecomponentes.util.mail.MandaNews.enviaEmail(MandaNews.java:43)
at com.ecomponentes.util.mail.MandaNews.enviarEmail(MandaNews.java:126)
at com.igcpartners.ecomponents.mailing.thread.MailingThread.run(MailingThread.java:38)[/code]

Caso ele consiga enviar o email:

[code]DEBUG: setDebug: JavaMail version 1.4ea
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host “smtp.igc-partners.com”, port 25, isSSL false
220 smtp-03.mandic.com.br ESMTP
DEBUG SMTP: connected to host “smtp.igc-partners.com”, port: 25

EHLO L50CNN0382
250-smtp-03.mandic.com.br
250-PIPELINING
250-SIZE 52428800
250-STARTTLS
250-AUTH LOGIN PLAIN
250 8BITMIME
DEBUG SMTP: Found extension “PIPELINING”, arg “”
DEBUG SMTP: Found extension “SIZE”, arg “52428800”
DEBUG SMTP: Found extension “STARTTLS”, arg “”
DEBUG SMTP: Found extension “AUTH”, arg “LOGIN PLAIN”
DEBUG SMTP: Found extension “8BITMIME”, arg “”
DEBUG SMTP: Attempt to authenticate
AUTH LOGIN
334 VXNlcm5hbWU6
Y3JtLnNlcnZpZG9yaWdjQGlnYy1wYXJ0bmVycy5jb20=
334 UGFzc3dvcmQ6
MTIzNDU2
235 nice to meet you
DEBUG SMTP: use8bit false
MAIL FROM:bleble@bleble.com
250 ok
RCPT TO:blabla@blabla.com.br
250 ok
DEBUG SMTP: Verified Addresses
DEBUG SMTP: blabla@blablacom.br
DATA
354 go ahead punk, make my day
From: blabla@blabla.com
To: blabla@blabla.com.br
Message-ID: 3481535.01255058211404.JavaMail.w512@L50CNN0382
Subject: TESTE
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_0_30688063.1255058211226"

------=_Part_0_30688063.1255058211226
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;: charset=“ISO-8859-1”
“corpo da mensagem”
250 ok 1255058212 qp 20663 by smtp-03.mandic.com.br
QUIT
221 smtp-03.mandic.com.br Goodbye.[/code]

Vlwz!

As vezes manda e as vezes dá erro, certo? Isso ocorre com o mesmo usuário e senha ou esses valores são trocados?

Apesar de o não ter encontrado na especificação do RFC (talvez por falta de procurar) o código 515, encontrei-o aqui. E diz “Destination mailbox address invalid.”

Seria este o problema?

Ahh… encontrei: http://www.ietf.org/rfc/rfc1893.txt.

Mas vendo com mais atenção, percebi que o que funciona, o seu micro se identifica como L50CNN0382 (talvez algum micro na empresa?) e no que não funciona ele usa um EHLO Fernando-Casa.lan (em casa?).

Provavelmente o servidor só aceita que determinados IPs enviem e-mails.

hummm… vlw Marcos,vou verificar aqui se pode ser isso.

Vlwz!!!

Marco,

O cara que trabalha no provedor do cliente, falou que talvez a forma que estamos trabalhando não tá usando da forma correta. Tipo tá usando uma saída SMTP2 compartilhada deles. Daí teria que mudar para trabalhar em modo localhost, forçando que use o servidor local de lá, o SMTP do servidor que está a aplicação. Não entendi muito bem. Você já pegou algo assim? Pq as vezes envia mais as vezes envia menos na quantidade de emails.

Abraços,
Peixe

Marco,

 O Fernando tá testando essa parada

http://wiki.locaweb.com.br/pt-br/Como_enviar_e-mails_com_JavaMail

e parece que foi. Assim que eu tiver a resposta eu digo se “funfou”.

Peixe

Show, funcinou!
Maldição de localhost, nunca iria imaginar essa p…!

Vlw People!