Java Mail API Enviar e-mails da propria maquina

Pessoal,

Gostaria de confirmar se é de fato possível enviar e-mails setando a máquina que a minha classe java estiver rodando como remetente e enviar o email… sem necessidade de configurar um servidor smtp para envio, sei que o problema disso é que por não ter um IP válido meu e-mail provavelmente será bloqueado.

eu vi essa informação em outro forum onde o rapaz falava q com o Java Mail era possível fazer isso, mas não deu muitos detalhes, alguém já fez algo parecido, seja com java mail ou outra API?

Pessoal, estudando o java mail cheguei no seguinte:

[code]package controller;
import java.util.;
import javax.mail.
;
import javax.mail.internet.;
import javax.activation.
;

public class SendMail{
private String to, from, host;
private Properties properties;
private Session session;
public SendMail(){

}
public void enviar(){
  to = "parateste@gmail.com";
  from = "gambazinho@qualquerum.com";
  host = "localhost";
  
 properties = System.getProperties();
 properties.setProperty("mail.smtp.host", host);
 
 session = Session.getDefaultInstance(properties);

  try{
     MimeMessage message = new MimeMessage(session);
     
     message.setFrom(new InternetAddress(from));
     message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
     message.setSubject("teste");
     message.setText("teste de envio");
     // enviando o email
     Transport.send(message);
     System.out.println("Email enviado com sucesso");
  }catch (MessagingException e) {
     e.printStackTrace();
  }

}

public static void main(String args[]){
	SendMail email = new SendMail();
	email.enviar();
}

}
[/code]

porém recebo o erro abaixo :

javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25; nested exception is: java.net.ConnectException: Connection refused at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638) at javax.mail.Service.connect(Service.java:295) at javax.mail.Service.connect(Service.java:176) at javax.mail.Service.connect(Service.java:125) at javax.mail.Transport.send0(Transport.java:194) at javax.mail.Transport.send(Transport.java:124) at controller.SendMail.enviar(SendMail.java:32) at controller.SendMail.main(SendMail.java:41) Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384) at java.net.Socket.connect(Socket.java:546) at java.net.Socket.connect(Socket.java:495) at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:288) at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:231) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900) ... 8 more

acredito que da forma como está ele está tentando usar a minha maquina mas acreditando que há um servidor smtp instalado… e minha intenção é enviar sem essa necessidade.

alguém ajuda?

Pelo que sei vc precisa de um servidor de emails para enviar um email. Ou vc usa um servidor tipo gmail, hotmail, ou usa o próprio da empresa por exemplo. Mas no fim das contas, precisa de um servidor, pq quem vai enviar o email é o servidor. O javamail só vai preparar a mensagem para você, dai se comunica com o servidor e faz e ele envia. Pelo menos entendo que é assim que funciona.

Cara, pesquisando encontrei essa informação:

"Alexandre Machado axma...@gmail.com wrote: Você pode usar a Java Mail API
para fazer o envio direto (direct delivery). Porém, a não ser que a máquina que roda o seu programa for o MX (Mail Exchanger) do domínio do qual os e-mails partem, a maioria dos servidores com filtro anti-spam vai barrá-los.

Alexandre

Em 16/12/05, Glauber Pires escreveu:

Pessoal,

Estou precisando enviar emails diretamente, fiz uma aplicação de teste com o commons-email da jakarta e tá funcionando blz com o programa “Free SMTP Server” e colocando no HostName “localhost”.

Queria saber como faço para enviar os e-mails diretamente (fazer o papel do Free SMTP Server"), alguém sabe de alguma lib boa e pequena para fazer isso?

Obrigado "

link http://markmail.org/message/t7427qh3wl6gtvbd

tipo, aí o rapaz fala que é possível fazer isso com o Java Mail, apenas n consegui descobri onde setar essa opcao Direct Delivery =/

Procurei sobre isso e não encontrei nada, nem da documentação do javamail fala alguma coisa sobre isso.

Neste post ele fala sobre isso que você esta procurando

vê se te ajuda

Bom, optei por utilizar linux e subi um serviço smtp na minha máquina, o problema é que quando mando pro Gmail cai na caixa de spam e no hotmail o e-mail se quer chega! deve ser o tal de black list pros IPs que o povão acessa, tem alguma forma de contornar isso???