Ajuda envio de Email

Estou com o seguinte problema … na minha classe de envio de email …
Eu tenho um form de envio que envia estes emails para a caixa de email correspondente (meudominio@meudominio.com.br) quando o usuario digita o email , seu email funciona como remetente no envio …

Quando o usuario possui um email : seunome@gmail.com e coloca isso no campo email e envia a mensagem dá o seguinte
[color=blue] erro =
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 554 seuemail@gmail.com: Sender address rejected: Access denied[/color]

[color=red]Quando o usuario possui um email : seunome@hotmail.com e coloca isso no campo email e envia a mensagem não dá Erro , mas não
CHEGA Mensagem nenhuma …nem como lixo eletronico , ou Spamm

Então : Gmail - Não envia (como remetente via smtp )pelo meu dominio
Então : Hotmail - Envia(mas não chega nada)[/color]

[code]
package email;

import javax.mail.;
import javax.mail.internet.
;
import java.util.Properties;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.activation.*;
import com.sun.net.ssl.internal.ssl.Provider;

public class Email {

public void sendSimpleMail(String subject, String to, String from, String mensagem) throws AddressException, MessagingException {

    java.security.Security.addProvider(new Provider());

    Properties mailProps = new Properties();
     mailProps.put("mail.transport.protocol", "smtp"); // diz que utilizarei um protocolo de seguran�a   
     mailProps.put("mail.smtp.starttls.enable", "true"); // diz que utilizarei o protocolo de seguran�a TLS   
      mailProps.put("mail.smtp.host", "smtp.meudominio.com.br");
    mailProps.put("mail.smtp.auth", "true");
    mailProps.put("mail.debug", "true");
    mailProps.put("mail.smtp.debug", "true");
    mailProps.put("mail.mime.charset", "ISO-8859-1");
    mailProps.put("mail.smtp.port", "465");
    mailProps.put("mail.smtp.starttls.enable", "true");
    mailProps.put("mail.smtp.socketFactory.port", "465");
    mailProps.put("mail.smtp.socketFactory.fallback", "false");
    mailProps.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");



    Authenticator auth = new Autenticacao();
    Session session = Session.getDefaultInstance(mailProps, auth);
    Message message = new MimeMessage(session);

    message.setFrom(new InternetAddress(from));
    message.setHeader("Disposition-Notification-To","meudominio@meudominio.com.br");
    message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));

    message.setSubject(subject);

    message.setContent(mensagem.toString(), "text/html");

    Transport.send(message);

}

private class Autenticacao extends javax.mail.Authenticator {

    public PasswordAuthentication getPasswordAuthentication() {
        String user = "meudominio@meudominio.com.br";
        String pwd = "minhaSenha";
        return new PasswordAuthentication(user, pwd);
    }
}

} [/code]

Se alguém puder me ajudar…

Eu faço assim, e funciona inclusive no gmail

String user = "usuario";
		String password = "senha";
		String host = "dominio";
		String from = "Nome completo <seu@email.com.br>";

Properties props = System.getProperties();
			props.put("mail.smtp.auth", "true");
			Session session = Session.getDefaultInstance(props);
			MimeMessage msg = new MimeMessage(session);
			msg.setFrom(new InternetAddress(from));
			msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
			msg.setSentDate(new Date());
			msg.setSubject("Título.");
			msg.setText("Corpo da mensagem nao html");//ou
                        msg.setContent("seu texto com tags etc", "text/html"); 
			msg.saveChanges();
			Transport transport = session.getTransport("smtp");
			transport.connect(host, user, password);
			System.out.println("Enviando Mensagem ...");
			transport.sendMessage(msg, msg.getAllRecipients());
			transport.close();
			System.out.println("E-mail enviado com sucesso!");

vc não me compreendeu… desculpas

é o seguinte

tenho um formulario
NOME : nome do usuario
[color=red]email[/color]: email do usuario (q ao enviar com o smtp.meudominio.com.br é passado com remetente)
telefone: tel do usuario
Mensagem: mensagem a enviar

é o seguinte quando o usuario preenche esse formulario … no [color=red]email[/color] com [color=green]@gmail.com [/color]- dá acesso negado
e com [color=green]@hotmail.com [/color]- envia sem erros mais não chega email nenhum para o destinatario.

Será que tem como resolver isso , pois aparentemente o problema é com GMAIL e o HOTMAIL que não deixam colocar seus emails como destinatarios a partir do SMTP ?

hmm… acho que isso talvez ajude(eu tive um erro parecido recentemente):

[quote]What this error generally indicates is that the outgoing server you’re using (usually the one assigned to you by your ISP) will not accept email with the From: address you’ve used on the email. For example, domains such as BellAtlantic.com, GTE.net, and Verizon.com do not allow users to send email their outgoing mail server if the “From” email address used on the message is not the one assigned by them (e.g. you can’t send out mail that uses your Pobox address as the From: header via their mail servers).

Many ISPs have begun to enforce these restrictions to prevent spammers from using the ISP’s access and SMTP server to send spam. To remedy this error, you will need to use the email address assigned to you by the provider as the From: address on outgoing email. [/quote]

http://pobox.com/bounce-common.mhtml#relay