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: [email removido]
O servidor local de SMTP, por sua vez, recebe um erro e nao envia nada.
Aqui esta o codigo do meu programa:
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class Main
{
public static void main (String[] args)
{
try
{
postMail ();
}
catch (MessagingException e)
{
System.out.println ("Erro: " + e);
}
}
public static void postMail () throws MessagingException
{
final boolean debug = false;
Properties p = new Properties ();
p.put ("mail.smtp.host", "localhost");
p.put("mail.smtp.port", "2525");
Session session = Session.getDefaultInstance (p, null);
session.setDebug (debug);
Message msg = new MimeMessage (session);
InternetAddress addressFrom = new InternetAddress ("[email removido]");
Address to = new InternetAddress ();
msg.setFrom (addressFrom);
msg.setSubject ("Mensagem teste");
StringBuffer mensagem = new StringBuffer ();
String message;
String linha;
try
{
mensagem.append ("Ola a todos isto e uma mensagem teste!");
message = mensagem.toString ();
msg.setContent (message, "text/html");
to = new InternetAddress ("[email removido]");
msg.setRecipient (Message.RecipientType.TO, to);
Transport.send (msg);
Thread.sleep (10);
}
catch (Exception e)
{
System.out.println (e);
}
}
}
Podem-me ajudar?
