Enviar email em java usando a api javamail

Alguém tem alguma rotina pronta de como enviar e-mail em java,para o servidor do yahoo,gmail ou hotmail?

Tem este tutorial aqui do guj
http://www.guj.com.br/java.tutorial.artigo.21.1.guj da uma olhada e bom proveito

O artigo é bastante bom e completo.

Mas já tem uma API que esconde os detalhezinhos feios do JavaMail:
http://jakarta.apache.org/commons/email

Estou tentando disparar um email utilizando o javamail, mas esta dando o seguinte erro:

com.sun.mail.smtp.SMTPSendFailedException: 554 refused mailfrom because return MX does not exist

Qual o ambiente em que seu aplicativo java está inserido? SE ou EE?

Se for EE, é mais simples, não precisa usar nenhuma biblioteca terceira. Basta injetar um @Resource e ter os dados da conta de email propriamente dito.

Abraço,

Estou utilizanto em uma aplicação swing, usando o netbeans 7

Amigos,

antes de mais nada, me desculpem por ressuscitar esse tópico (mais uma vez), mas há uns três dias, quebro a cabeça com envio de emails com Seam.

Tem jeito de alguém postar um exemplo de como resolver isso? Estou tentando aqui e, por mais que eu esperneie, fico sempre tomando o erro "Could not connect to SMTP host: localhost, port: 25". Não sei onde, diabos, está configurada a tal porta 25, já que a estou alterando, no mail-service.xml, para a 465. Estou usando JBoss 4.2.3 e este é meu mail-service.xml:


<?xml version="1.0" encoding="UTF-8"?>

<server>

	<mbean code="org.jboss.mail.MailService" name="jboss:service=Mail">

		<attribute name="JNDIName">java:/Mail</attribute>
		<attribute name="User">meuemail@gmail.com</attribute>
		<attribute name="Password">minhasenha</attribute>

		<attribute name="Configuration">
			<configuration>
			
				<property name="mail.smtp.auth" value="true" />
				<property name="mail.smtp.starttls.enable" value="true" />
				<property name="mail.smtp.socketFactory.class" value="javax.net.ssl.SSLSocketFactory" />

				<!-- Change to your mail server prototocol -->
				<property name="mail.store.protocol" value="pop3" />
				<property name="mail.transport.protocol" value="smtp" />

				<!-- Change to the user who will receive mail -->
				<property name="mail.user" value="nobody" />

				<!-- Change to the SMTP gateway server -->
				<property name="mail.smtp.host" value="smtp.gmail.com" />

				<!-- The mail server port -->
				<property name="mail.smtp.port" value="465" />

				<!-- Change to the address mail will be from -->
				<property name="mail.from" value="meuemailDeRemetente" />

				<!-- Enable debugging output from the javamail classes -->
				<property name="mail.debug" value="false" />

				<property name="mail.smtp.user" value="meuUsuarioGmail" />
				<property name="mail.smtp.password" value="minhaSenhaGmail" />
				<property name="mail.smtp.ssl.enable" value="true" />
				
			</configuration>

		</attribute>
		<depends>jboss:service=Naming</depends>
	</mbean>

</server>

Este é meu código java que dispara o e1/2 :


public boolean enviarEmail() throws InfraEstruturaException {

		try {

			System.out.println(mailSession);

			renderer.render("/emailModelo_lembreteDeSenha.xhtml");

			facesMessages.add(FacesMessage.SEVERITY_INFO, "NÃO É QUE DEU CERTO?");

			return true;

		} catch (Exception e) {

			System.out.println("Email falhou: " + e.getMessage());

			facesMessages.add(FacesMessage.SEVERITY_INFO, "Email falhou: " + e.getMessage());

			return false;

		}

	}

Estou esquecendo de configurar alguma coisa?

Agradeço antecipadamente qualquer ajuda.

Abraço a todos
Giovanni