Envio de Email Erro com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 >: Relay access den

2 respostas
N

Estou tentando uma aplicacao para disparo de emails mas me deparei com o seguinte erro

20:14:36,471 INFO  [STDOUT] javax.mail.SendFailedException: Invalid Addresses;
  nested exception is:
	com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 <[email removido]>: Relay access denied
20:14:36,471 INFO  [STDOUT] 250 2.0.0 Ok
20:14:36,471 INFO  [STDOUT] 	at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)
20:14:36,471 INFO  [STDOUT] 	at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:584)
20:14:36,472 INFO  [STDOUT] 	at javax.mail.Transport.send0(Transport.java:169)
20:14:36,472 INFO  [STDOUT] 	at javax.mail.Transport.send(Transport.java:98)
20:14:36,472 INFO  [STDOUT] 	at cau.envioemail.EmailService.enviarEmail(EmailService.java:82)
20:14:36,472 INFO  [STDOUT] 	at cau.envioemail.EmailAction.emaill(EmailAction.java:166)
20:14:36,472 INFO  [STDOUT] 	at cau.envioemail.EmailAction.enviar(EmailAction.java:105)
20:14:36,472 INFO  [STDOUT] 	at cau.envioemail.EmailAction.doPost(EmailAction.java:67)
20:14:36,472 INFO  [STDOUT] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
20:14:36,472 INFO  [STDOUT] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
20:14:36,472 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
20:14:36,472 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
20:14:36,472 INFO  [STDOUT] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
20:14:36,472 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
20:14:36,472 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
20:14:36,472 INFO  [STDOUT] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
20:14:36,472 INFO  [STDOUT] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
20:14:36,472 INFO  [STDOUT] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
20:14:36,472 INFO  [STDOUT] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
20:14:36,473 INFO  [STDOUT] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
20:14:36,473 INFO  [STDOUT] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
20:14:36,473 INFO  [STDOUT] 	at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
20:14:36,473 INFO  [STDOUT] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
20:14:36,473 INFO  [STDOUT] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
20:14:36,473 INFO  [STDOUT] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
20:14:36,473 INFO  [STDOUT] 	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
20:14:36,473 INFO  [STDOUT] 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
20:14:36,473 INFO  [STDOUT] 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
20:14:36,473 INFO  [STDOUT] 	at java.lang.Thread.run(Thread.java:680)
20:14:36,473 INFO  [STDOUT] Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 <[email removido]>: Relay access denied
20:14:36,473 INFO  [STDOUT] 	at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1094)
20:14:36,473 INFO  [STDOUT] 	... 28 more
20:14:36,473 INFO  [STDOUT] QUIT
20:14:36,474 INFO  [STDOUT] javax.mail.SendFailedException: Invalid Addresses;
  nested exception is:
	com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 <[email removido]>: Relay access denied
20:14:36,474 INFO  [STDOUT] 	at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)
20:14:36,474 INFO  [STDOUT] 	at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:584)
20:14:36,474 INFO  [STDOUT] 	at javax.mail.Transport.send0(Transport.java:169)
20:14:36,474 INFO  [STDOUT] 	at javax.mail.Transport.send(Transport.java:98)
20:14:36,474 INFO  [STDOUT] 	at cau.envioemail.EmailService.enviarEmail(EmailService.java:82)
20:14:36,474 INFO  [STDOUT] 	at cau.envioemail.EmailService$EmailServiceThread.run(EmailService.java:135)
20:14:36,474 INFO  [STDOUT] 	at java.lang.Thread.run(Thread.java:680)
20:14:36,474 INFO  [STDOUT] Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 <[email removido]>: Relay access denied
20:14:36,474 INFO  [STDOUT] 	at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1094)
20:14:36,474 INFO  [STDOUT] 	... 6 more
20:14:36,474 INFO  [STDOUT] QUIT
20:14:36,500 INFO  [STDOUT] 221 2.0.0 Bye
20:14:36,500 ERROR [STDERR] javax.mail.SendFailedException: Invalid Addresses;
  nested exception is:
	com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 <[email removido]>: Relay access denied
20:14:36,500 ERROR [STDERR] 	at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)
20:14:36,500 ERROR [STDERR] 	at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:584)
20:14:36,500 ERROR [STDERR] 	at javax.mail.Transport.send0(Transport.java:169)
20:14:36,500 ERROR [STDERR] 	at javax.mail.Transport.send(Transport.java:98)
20:14:36,500 ERROR [STDERR] 	at cau.envioemail.EmailService.enviarEmail(EmailService.java:82)
20:14:36,500 ERROR [STDERR] 	at cau.envioemail.EmailAction.emaill(EmailAction.java:166)
20:14:36,500 ERROR [STDERR] 	at cau.envioemail.EmailAction.enviar(EmailAction.java:105)
20:14:36,500 ERROR [STDERR] 	at cau.envioemail.EmailAction.doPost(EmailAction.java:67)
20:14:36,500 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
20:14:36,500 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
20:14:36,501 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
20:14:36,501 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
20:14:36,501 ERROR [STDERR] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
20:14:36,501 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
20:14:36,501 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
20:14:36,501 ERROR [STDERR] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
20:14:36,501 ERROR [STDERR] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
20:14:36,501 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
20:14:36,501 ERROR [STDERR] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
20:14:36,501 ERROR [STDERR] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
20:14:36,501 ERROR [STDERR] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
20:14:36,501 ERROR [STDERR] 	at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
20:14:36,501 ERROR [STDERR] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
20:14:36,501 ERROR [STDERR] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
20:14:36,501 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
20:14:36,501 ERROR [STDERR] 	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
20:14:36,501 ERROR [STDERR] 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
20:14:36,501 ERROR [STDERR] 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
20:14:36,501 ERROR [STDERR] 	at java.lang.Thread.run(Thread.java:680)
20:14:36,501 ERROR [STDERR] Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 <[email removido]>: Relay access denied
20:14:36,501 ERROR [STDERR] 	at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1094)
20:14:36,501 ERROR [STDERR] 	... 28 more
20:14:36,502 INFO  [STDOUT] 221 2.0.0 Bye
20:14:36,503 ERROR [STDERR] javax.mail.SendFailedException: Invalid Addresses;
  nested exception is:
	com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 <[email removido]>: Relay access denied
20:14:36,503 ERROR [STDERR] 	at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)
20:14:36,503 ERROR [STDERR] 	at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:584)
20:14:36,503 ERROR [STDERR] 	at javax.mail.Transport.send0(Transport.java:169)
20:14:36,503 ERROR [STDERR] 	at javax.mail.Transport.send(Transport.java:98)
20:14:36,503 ERROR [STDERR] 	at cau.envioemail.EmailService.enviarEmail(EmailService.java:82)
20:14:36,511 ERROR [STDERR] 	at cau.envioemail.EmailService$EmailServiceThread.run(EmailService.java:135)
20:14:36,511 ERROR [STDERR] 	at java.lang.Thread.run(Thread.java:680)
20:14:36,511 ERROR [STDERR] Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 <[email removido]>: Relay access denied
20:14:36,511 ERROR [STDERR] 	at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1094)
20:14:36,511 ERROR [STDERR] 	... 6 more

Alguem pode dar uma luz

Classe de envio

package cau.envioemail;

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class EmailService {
	
	private String SMTP;
	
	private String username;
	
	private String password;

	public EmailService(String SMTP) {
		super();
		this.SMTP = SMTP;
	}

	public EmailService(String SMTP, String username, String password) {
		super();
		this.SMTP = SMTP;
		this.username = username;
		this.password = password;
	}

	public void enviarEmail(String[] destinatarios, String assunto,
			String mensagem, String remetente, String respostaPara)
			throws MessagingException {

		boolean debug = true;

		// Inserindo os dados de SMTP
		Properties props = new Properties();
		props.put("mail.smtp.host", SMTP);
		props.put("mail.smtp.starttls.enable", "true");

		Session session = null;
		
		if(!"".equals(username) && !"".equals(password)){
			Authenticator auth = new SMTPAuthenticator();
				System.out.println("aaaa");
			props.put("mail.smtp.auth", true);
			session = Session.getDefaultInstance(props, auth);
		}else{
			props.put("mail.smtp.auth", "false");			
			session = Session.getDefaultInstance(props);
		}

		session.setDebug(debug);

		// Criando a Mensagem
		Message msg = new MimeMessage(session);

		// Configurando o from and para endereco
		InternetAddress addressFrom = new InternetAddress(remetente);
		msg.setFrom(addressFrom);

		InternetAddress addressReply[] = { new InternetAddress(respostaPara) };
		msg.setReplyTo(addressReply);

		InternetAddress[] addressTo = new InternetAddress[destinatarios.length];

		for (int i = 0; i < destinatarios.length; i++)

		{
			addressTo[i] = new InternetAddress(destinatarios[i]);
		}
		msg.setRecipients(Message.RecipientType.TO, addressTo);

		// Configurando o Subject e o Content Type

		msg.setSubject(assunto);
		msg.setContent(mensagem, "text/html");
		Transport.send(msg);

	}
    
    public class SMTPAuthenticator extends Authenticator{
    	
    	public PasswordAuthentication getPasswordAuthentication(){    

            return new PasswordAuthentication(username, password);
        }
    	
    }
    
    public class EmailServiceThread implements Runnable{
    	
    	private EmailService emailService;
    	
    	private String[] destinatarios;
    	private String assunto;
    	private String mensagem;
    	private String remetente;
    	private String respostaPara;
    	
    	private boolean erro;
    	
    	/**
    	 * retorna <b>true</b> se ocorrer erro no processo de envio. retorna <b>false</b> se houver sucesso.
    	 * @return
    	 */
    	public boolean isErro() {
    		return erro;
    	}

    	public EmailServiceThread(EmailService emailService, String[] destinatarios, String assunto,
    			String mensagem, String remetente, String respostaPara) {
    		super();
    		if(emailService != null){
    			this.emailService = emailService;
    		}else{
    			throw new IllegalArgumentException("Informe uma instancia de EmailService");
    		}

    		this.destinatarios = destinatarios;
    		this.assunto = assunto;
    		this.mensagem = mensagem;
    		this.remetente = remetente;
    		this.respostaPara = respostaPara;		
    	}

    	public void run() {

    		try {
    			
    			emailService.enviarEmail(destinatarios, assunto, mensagem, remetente, respostaPara);
    		} catch (MessagingException e) {
    			erro = true;
    			e.printStackTrace();
    		}
    		
    	}
    }    
    
}

plese.. URGENTE

2 Respostas

H

Dê uma conferida nas suas configurações.

A mensagem de erro, ao meu ver, aponta isso: javax.mail.SendFailedException: Invalid Addresses;

O

Bem, vamos ver se eu não estou tão enferrujado… :slight_smile:

“Relay access denied” significa que o SMTP server “recusou” o envio do seu e-mail. Isto pode ter alguns motivos:

  • Você está usando um servidor que não permite enviar e-mail com endereço “from” configurado. Por exemplo: usar o Yahoo para mandar e-mail de endereço do IG.
  • O servidor exige autenticação, e a mesma está falhando.
  • O servidor não permite que a máquina onde está rodando o seu programa envie e-mails.
  • Por algum motivo, o e-mail está em alguma “black list” no servidor.

Bem, resumindo, este “erro” retorna por causa de alguma configuração do SMTP server. Você tem que descobrir quais são as regras.

Criado 1 de janeiro de 2012
Ultima resposta 2 de jan. de 2012
Respostas 2
Participantes 3