Erro ao Tentar enviar um e-mail JAVA

15 respostas
F

Olá rapaziada, esse é a minha primeira pergunta no PORTAL JAVA.!!!

Já se tem um programa que aparentemente funcionava anterior a minha contratação na empresa. Pois bem, este programa enviava um e-mail. Só que houve uma mudança no smtp que passou a ser autenticado. Com isto o erro que aparece é o seguinte :

javax.mail.SendFailedException: Sending failed; nested exception is: javax.mail.SendFailedException: Invalid Addresses; nestede exception is: javax.mail.SendFailedException:550 5.7.1 Access not allowed

Será que algum dos amigos pode ajudar esse novato em JAVA??

segue o código:

try {
String acao = request.getParameter(“acao”);

if (acao.equals(enviar)){

try {

String smtphost = smtp.xxxx.com.br;

String from = [email removido];

String to = naoseiquemé@xxxx.com.br;

“AQUI VEM A DECLARAÇÃO DOS CAMPOS DA TABELA QUE SERÃO COLOCADOS NO E-MAIL”

to = request.getParameter(xemail);

if(request.getParameter(xemail2).length() > 1){

to = request.getParameter(xemail2);

}

“AQUI SE ATRIBUI VALORES AOS CAMPOS DA TABELA”

Properties props = new Properties();

props.put(mail.smtp.host, smtphost);

Session session1 = Session.getDefaultInstance(props);

Message msg = new MimeMessage(session1);

msg.setFrom(new InternetAddress(from));

InternetAddress address = new InternetAddress(to);

msg.setRecipient(Message.RecipientType.TO, address);

msg.setSubject(oioi);

msg.setSentDate(new Date());

MimeBodyPart mbp1= new MimeBodyPart();

“AQUI ESTÁ A LINHA EM HTML (String Html) MONTANDO O E-MAIL”

MimeMultipart mp = new MimeMultipart();
mbp1.setContent(html,“text/html”);

MimeBodyPart mbp2 = new MimeBodyPart();
  FileDataSource fds = new FileDataSource("/tomcat/webapps/ROOT/pasta/logo.jpg");
  mbp2.setFileName(fds.getName());
  mbp2.setText("logo");
  mbp2.setDataHandler(new DataHandler(fds));
  mbp2.setHeader("Content-ID","<23abc@pc27>");

  mp.addBodyPart(mbp1);
  mp.addBodyPart(mbp2);
  msg.setContent(mp);
  Transport.send(msg);

out.println("Enviando email para " + to + “…”);

} catch (Exception e){
 out.println(e);
 }
}

} catch (Exception e){

<a href="//out.println">//out.println</a>(e);

}

Lembrando que não foi eu quem desenvolvi esta aplicação.
A mesma foi desenvolvida no Namo WebEditor 5.5.
E consiste no preenchimento de campos em uma tabela, e enviar esses dados no formato de tabela via e-mail.

15 Respostas

J

Properties props = new Properties();
props.put(“mail.smtp.host”, smtphost);

Adicione tambem o nome de usuario e senha:

Properties props = new Properties&#40;&#41;; props.setProperty&#40;&quot;mail.host&quot;, smtphost&#41;; props.setProperty&#40;&quot;mail.user&quot;, &quot;usuario&quot;&#41;; props.setProperty&#40;&quot;mail.password&quot;, &quot;senha&quot;&#41;;

F

neste caso o usuário e a senha tem que ser os da conta do e-mail de quem está emitindo. certo?

assim:

Properties props = new Properties();

props.setProperty(mail.host, smtphost);

props.setProperty(mail.user, [email removido]);

props.setProperty(mail.password, abc123);

E somente nestes campos devem estar o usuário e a senha??

Vlw. espero resposta.

J

Sim, só aí mesmo!

F

props.put(“mail.smtp.host”, smtphost);
props.setProperty(“mail.host”, smtphost);

estes duas linhas são usadas sequencialmente e antes de usuario e senha?

J

Pode usar só essa abaixo:

props.setProperty&#40;"mail.smtp.host", smtphost&#41;;
F

Meu amigo, desta vez não deu erro, mas a mensagem não chegou ao destinatário. Eu coloquei outro endereço no destinatário para realizar esses testes.

Obs.: Percebi que tanto no “From” quanto no “to:” são e-mails remetentes e não destinatários, mas logo após o “to” recebe o valor de destino corretamente. Há mais algum erro?

F

Acabei de descobrir algo que pode ser importante.

no

if &#40;acao.equals&#40;"enviar"&#41;&#41;&#123;

ele verifica a ãção enviar. mas o que é esse enviar?
bom eu acho que deve ser o “name” do botão enviar feito graficamente (o mesmo estava com um nome padrão “formimage1”) eu mudei para “enviar” o que vcs acham?
vou realizar alguns testes.

Espero ajuda de vcs, obriagado a todos.

J

Esse acao é um campo do formulario HTML, deve ser o nome do botao mesmo, nesse caso deveria fica:

<input type=“submit” name=“acao” value=“enviar” />

enviar minusculo…

F

Bom, quero lembrar que estou utilizando o Namo WebEditor 5.5, o mesmo foi utilizado para a implementação. Esse botão “enviar” é uma gif (como demonstro em a baixo.

&lt;input type="image" name="enviar" src="enviar.gif" width="65" height="16" border="0"&gt;

Neste caso já alterei o nome da figura/botão para enviar, mas o type é “image”.

J
&lt;input type="image" name="acao" value="enviar" src="enviar.gif" width="65" height="16" border="0"&gt;
F

Uma dúvida de iniciante.
Aqui estão todas as bibliotecas que estou usando em meu script?

&lt;html&gt;
&lt;%@page import=&quot;intranet.*&quot; %&gt;
&lt;%@page import=&quot;java.util.Properties&quot; %&gt;
&lt;%@page import=&quot;java.util.Date&quot; %&gt;
&lt;%@page import=&quot;javax.mail.*&quot; %&gt;
&lt;%@page import=&quot;javax.activation.*&quot; %&gt;
&lt;%@page import=&quot;javax.mail.internet.*&quot; %&gt;
&lt;%@page import=&quot;javax.mail.*&quot; %&gt;
&lt;%@include file=&quot;/pegaSessao.jsp&quot;%&gt;

&lt;head&gt;
G

Você está enviando o e-mail pelo JSP ? coloque aqui o seu código completo.

F
&lt;html&gt;
&lt;%@page import=&quot;intranet.*&quot; %&gt;
&lt;%@page import=&quot;java.util.Properties&quot; %&gt;
&lt;%@page import=&quot;java.util.Date&quot; %&gt;
&lt;%@page import=&quot;javax.mail.*&quot; %&gt;
&lt;%@page import=&quot;javax.activation.*&quot; %&gt;
&lt;%@page import=&quot;javax.mail.internet.*&quot; %&gt;
&lt;%@page import=&quot;javax.mail.*&quot; %&gt;
&lt;%@include file=&quot;/pegaSessao.jsp&quot;%&gt;

&lt;head&gt;

....


try &#123; 
String acao = request.getParameter&#40;&quot;acao&quot;&#41;; 

if &#40;acao.equals&#40;&quot;enviar&quot;&#41;&#41;&#123; 
try &#123; 
String smtphost = &quot;smtp.xxxx.com.br&quot;; 
String from = &quot;[email removido]&quot;; 
String to = &quot;naoseiquemé@xxxx.com.br&quot;; 

&quot;AQUI VEM A DECLARAÇÃO DOS CAMPOS DA TABELA QUE SERÃO COLOCADOS NO E-MAIL&quot; 

to = request.getParameter&#40;&quot;xemail&quot;&#41;; 
if&#40;request.getParameter&#40;&quot;xemail2&quot;&#41;.length&#40;&#41; &gt; 1&#41;&#123; 
to = request.getParameter&#40;&quot;xemail2&quot;&#41;; 
&#125; 

&quot;AQUI SE ATRIBUI VALORES AOS CAMPOS DA TABELA&quot; 


Properties props = new Properties&#40;&#41;; 
props.setProperty&#40;&quot;mail.host&quot;, smtphost&#41;; 
props.setProperty&#40;&quot;mail.user&quot;, &quot;[email removido]&quot;&#41;; 
props.setProperty&#40;&quot;mail.password&quot;, &quot;abc123&quot;&#41;;
Session session1 = Session.getDefaultInstance&#40;props&#41;; 
Message msg = new MimeMessage&#40;session1&#41;; 
msg.setFrom&#40;new InternetAddress&#40;from&#41;&#41;; 
InternetAddress address = new InternetAddress&#40;to&#41;; 
msg.setRecipient&#40;Message.RecipientType.TO, address&#41;; 
msg.setSubject&#40;&quot;oi...........oi&quot;&#41;; 
msg.setSentDate&#40;new Date&#40;&#41;&#41;; 
MimeBodyPart mbp1= new MimeBodyPart&#40;&#41;; 

&quot;AQUI ESTÁ A LINHA EM HTML &#40;String Html&#41; MONTANDO O E-MAIL&quot; 


MimeMultipart mp = new MimeMultipart&#40;&#41;; 
mbp1.setContent&#40;html,&quot;text/html&quot;&#41;; 

MimeBodyPart mbp2 = new MimeBodyPart&#40;&#41;; 
FileDataSource fds = new FileDataSource&#40;&quot;/tomcat/webapps/ROOT/pasta/logo.jpg&quot;&#41;; 
mbp2.setFileName&#40;fds.getName&#40;&#41;&#41;; 
mbp2.setText&#40;&quot;logo&quot;&#41;; 
mbp2.setDataHandler&#40;new DataHandler&#40;fds&#41;&#41;; 
mbp2.setHeader&#40;&quot;Content-ID&quot;,&quot;&lt;23abc@pc27&gt;&quot;&#41;; 

mp.addBodyPart&#40;mbp1&#41;; 
mp.addBodyPart&#40;mbp2&#41;; 
msg.setContent&#40;mp&#41;; 
Transport.send&#40;msg&#41;; 


out.println&#40;&quot;Enviando email para &quot; + to + &quot;...&quot;&#41;; 

&#125; catch &#40;Exception e&#41;&#123; 
out.println&#40;e&#41;; 
&#125; 
&#125; 
&#125; catch &#40;Exception e&#41;&#123; 
//out.println&#40;e&#41;; 
&#125;

Lembrando que não foi eu quem desenvolvi esta aplicação.
A mesma foi desenvolvida no Namo WebEditor 5.5.
E consiste no preenchimento de campos em uma tabela, e enviar esses dados no formato de tabela via e-mail.

Esse código já está com as modificações que o nosso amigo tinha me ajudado.
Bom no caso o erro que estava dando é o seguinte :

javax.mail.SendFailedException: Sending failed; nested exception is: javax.mail.SendFailedException: Invalid Addresses; nestede exception is: javax.mail.SendFailedException:550 5.7.1 Access not allowed

Depois destas alterações o erro não apareceu mais. Mas mesmo assim o e-mail não foi enviado.

Vlw??[/code]

F

Eu sou novo na empresa e me diseram que isto funcionava antes do smtp ser autenticado.

Bom por isso está com usuário e senha.

Espero resposta.

Abs.

F

ae galera, o PORTAL estava fora do ar??

bom venho novamente frizar o meu problema, espero ajuda dos amigos.

Atenciosamente.

Criado 23 de agosto de 2006
Ultima resposta 1 de set. de 2006
Respostas 15
Participantes 3