| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/08/2007 17:05:04
|
dir
Thread.start()
Membro desde: 23/08/2006 21:06:27
Mensagens: 35
Offline
|
Boas. Eu fiz um programa simples para enviar emails pelo localhost, com a 'ajuda' de um servidor local SMTP.
Quando eu envio para a minha conta de email sapo.pt (uma empresa de Portugal para quem nao souber) tudo corre as mil maravilhas e eu recebo o email.
Porem, quando tento enviar para a minha outra conta do Hotmail nao funciona e da-me este erro:
com.sun.mail.smtp.SMTPSendFailedException: 550 Invalid recipient: xxxxxx@hotmail.com
O servidor local de SMTP, por sua vez, recebe um erro e nao envia nada.
Aqui esta o codigo do meu programa:
Podem-me ajudar?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/08/2007 17:25:01
|
rockstorm
Virtual Machine Man
![[Avatar]](/images/avatar/69295f5f6bd7d1a08da4919b5bb95bff.png)
Membro desde: 28/09/2004 08:37:10
Mensagens: 522
Localização: SBC
Offline
|
Boa tarde,
Voce pode tentar duas coisas....Fazer com autenticação usando Authenticator
Classe:
E pode tentar colocar a porta SMTP:
Tenta ai.....
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/08/2007 17:40:18
|
mchiareli
JavaEvangelist
![[Avatar]](/images/avatar/03e4d3f831100d4355663f3d425d716b.png)
Membro desde: 04/04/2006 15:14:50
Mensagens: 397
Offline
|
acho que é pq seu ip não bate com o dns cadastrado na fapesp para o dominio do email que vc está tentando enviar....
alguns servidores validam isso outros não....
|
codifica.wordpress.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/08/2007 18:20:27
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Conectar-se a um servidor de email em "localhost" indica que sua máquina tem um programa que faz "relay" de email, como o Microsoft SMTP Service.
Os servidores de email corporativos normalmente recusam emails que foram enviados dessa maneira, via "relay".
(Relay em inglês quer dizer que está sendo feito um "revezamento" - isso era muito comum nos dias mais antigos do email, em que as conexões entre servidores eram feitas por modems muito lentos.
O que ocorria antigamente, naqueles tempos da vovozinha:
- Eu tinha uma conta thingol@guj.com.br
- Eu quero mandar um email para kafka@franz.com
- Como o servidor guj.com.br e o franz.com não estão conectados à Internet, mas sim indiretamente via modems, é necessário especificar o caminho que a mensagem deve fazer.
Digamos que guj.com.br tenha uma ligação via modem para fapesp.br, e fapesp.br tenha uma ligação via modem para harvard.edu, e harvard.edu tenha uma ligação para franz.com.
Eu teria de especificar o email como:
kafka!fapesp.br!harvard.edu@franz.com --> note a rota que a mensagem tem de fazer, especificada no endereço!
e enviaria o email usando um servidor do guj.com.br, que iria se comunicar com fapesp.br e pôr isso no servidor de email da fapesp.br, onde ele iria ficar acumulado até que conseguisse se conectar com harvard.edu. Aí o harvard.edu, quando tiver tempo, vai conectar-se com o franz.com, para finalmente mandar a mensagem. Que coisa!
Hoje em dia é possível, pela Internet, comunicar-se diretamente com franz.com, e todo esse esquema de "relay" não é mais necessário, e é até perigoso.
Você deve especificar um servidor de email válido.
Se você tem uma conta do sapo.pt, então deve especificar o servidor de SMTP do sapo.pt por exemplo.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/08/2007 18:32:42
|
dir
Thread.start()
Membro desde: 23/08/2006 21:06:27
Mensagens: 35
Offline
|
Se você tem uma conta do sapo.pt, então deve especificar o servidor de SMTP do sapo.pt por exemplo.
Como faço isso? Isso nao implicaria ter de usar um email meu registado do sapo.pt para aparecer como sendo o remetente da mensagem que enviei?
É que eu precisamente queria poder usar emails com nomes quaisquer, assim como esta no codigo que postei, por exemplo olatodos@oladeus.com.
Se calhar percebi mal, é que comecei a experimentar isto hoje e ainda estou um bocado à toa com os protocolos todos..
P.S.: Também nao percebi bem o que é que o Rockstorm diz que é suposto fazer. Desculpem a ignorancia
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/08/2007 18:39:46
|
aleck
GUJ Ranger
![[Avatar]](/images/avatar/2051bd70fc110a2208bdbd4a743e7f79.jpg)
Membro desde: 27/03/2006 08:08:33
Mensagens: 843
Localização: Rio de Janeiro
Offline
|
Você deve especificar um smtp válido, no seu caso smtp.sapo.pt e também especificar o usuário e senha para autenticar no servidor smtp do sapo.
Os servidores de envio(SMTP) na sua maioria exigem uma autenticação para que você o utilize. Coloque seu email e senha de email que vai funcionar.
Nosso colega postou o código mastigado acima, aproveite.
Ps: Não resisti de usar a nova tag code do GUJ
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
[]'s
|
Desenvolvedor iOS/Android
http://blog.alexandresoli.com.br
@alexandresoli |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/08/2007 19:13:56
|
dir
Thread.start()
Membro desde: 23/08/2006 21:06:27
Mensagens: 35
Offline
|
Ok. Vou fazer isso.
Mas fazendo isso ja nao da para escolher uma email remetente aleatorio como tinha no meu codigo (neste caso 'olatodos@oladeus.com'), ou da?
Obrigado pelas vossas respostas, têm me ajudado em forca nisto.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/08/2007 21:55:20
|
aleck
GUJ Ranger
![[Avatar]](/images/avatar/2051bd70fc110a2208bdbd4a743e7f79.jpg)
Membro desde: 27/03/2006 08:08:33
Mensagens: 843
Localização: Rio de Janeiro
Offline
|
Não, para fazer o que vc quer procure por servidores SMTP que aceitem enviar mensagens sem autenticação, a implementação de autenticação nos servidores SMTP foi criada exatamente para evitar o que vc quer fazer.
[]'s
|
Desenvolvedor iOS/Android
http://blog.alexandresoli.com.br
@alexandresoli |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/08/2007 22:29:08
|
dir
Thread.start()
Membro desde: 23/08/2006 21:06:27
Mensagens: 35
Offline
|
Ok. alterei o meu codigo para ficar com isto da autenticação mas agora da-me o seguinte erro:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.sapo.pt, port: 2525;
nested exception is:
java.net.ConnectException: Connection timed out: connect
o codigo é o seguinte:
O que é que está mal e o que é que é preciso adicionar??
Mais uma vez obrigado pela ajuda que estao a dar.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/08/2007 12:12:56
|
Roger--
JavaGuru
Membro desde: 16/05/2005 14:31:36
Mensagens: 205
Localização: São Bernardo do Campo/SP
Offline
|
Olá, dei uma pesquisa e de acordo com esta tela de ajuda http://ajuda.sapo.pt/comunicacao/email/utilizacao_do_servico/Utiliza_o_via_POP3_Outlook_E.html, acredito que o smtp do Sapo use a porta padrão. Resumindo, tente trocar a linha:
p.put("mail.smtp.port", "2525");
por:
p.put("mail.smtp.port", "25");
A exception que postou, diz que ele não conseguiu conectar (provavelmente a porta 2525).
boa sorte.
Roger Leite
|
Você sofre com Waterfall !?! Eu também. Veja dicas aqui 1up4developers |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/08/2007 13:57:45
|
dir
Thread.start()
Membro desde: 23/08/2006 21:06:27
Mensagens: 35
Offline
|
Não posso fazer isso porque o meu Local Relay SMTP Server diz me que existe outro programa qualquer a usar essa porta e por isso não pode usa-la... como eu eu nao sei qual e o tal programa nao posso desliga lo por isso usei esta porta alternativa...
De qualquer forma antes eu conseguia enviar emails para a conta do sapo.pt. Agora, desde que fiz estas alteracoes da autenticação, já nao da...
|
|
|
 |
|
|