Problema com javamail  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
brunoja
Debugger

Membro desde: 09/01/2008 19:33:57
Mensagens: 63
Offline

Ola, esse eh meu primeiro topico aqui no forum o guj , apesar de q eu ja acessei-o muitas vez pra procurar sobre algumas duvidas minhas XD

Essa duvida agora, ta dificil de achar a solucao.
Estou querendo usar o javamail para mandar e-mails para confirmacao de cadastro.
Eu usei o servidor smtp do gmail, e funcionou, mas mesmo setando quem mandou (setFrom), o gmail muda para o endereco de email no qual foi feito a autenticacao.
Ex:



E funcinou! So q ao abrir o email recebido, o endereco de quem mandou era: bruno@gmail.com
Eu preciso que ele mande com o endereço q eu quiser (no exemplo: opa@funcionou).

Dai pesquisei e encontrei a soluçao de criar meu proprio servidor smtp.
Baxei este programa: Free Smtp Server (site: http://www.softstack.com/)

Dai a minha funcao de enviar ficou assim:



Mas eu recebo a mensagem de erro:



E nao importa qual email seja, tentei o meu do yahoo, da bol, do hotmail, todos com esse mesmo erro.
Pesquisei sobre ele e descobri q esses servidores de email bloqueiam emails q venham marcados com o servidor smtp como localhost!
Tentei mudar a linha:



Para:



Onde esses numeros representam meu ip, mas continua com o msm erro...
Alguem pode me ajudar?

Vlw!

This message was edited 1 time. Last update was at 09/01/2008 19:54:02

leandroeschiavi
Thread.start()
[Avatar]

Membro desde: 18/04/2006 11:59:44
Mensagens: 34
Localização: São Paulo
Offline

Dá uma olhada nesta classe e ve se te ajuda...
Abs...
============================================================================================================

package br.com.tokiomarine.seguradora.exchange;

import br.com.tokiomarine.seguradora.exchange.util.PropertyServer;

import java.util.Calendar;
import java.util.Date;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
* Classe responsável pelo envio de e-mails contendo os Logs do Agente.
* @author Leandro Eschiavi - ORACLE CONSULTING
* @version 1.0
*/

public class SendMailLog{

private static String host;
private static PropertyServer prop;
private static Session session;
private static Message msg;
private InternetAddress[] destinatarioTo;
private InternetAddress[] destinatarioCc;

/**
* Construtor da classe
*/
public SendMailLog(){}

static {
prop = new PropertyServer("parametros.properties";
host = prop.getProperty("param.servidor";
session = Session.getDefaultInstance(prop, null);
msg = new MimeMessage(session);
prop.put("mail.smtp.host", host);
}
/**
* Método para envio do e-mail
* @param subject Assunto da Mensagem
* @param messageText Texto do corpo do E-mail
* @param pFrom From do E-mail
* @param pTo To do E-mail
* @param pCc CC do E-mail
*/
public void enviaEmail( String subject,
String messageText,
String pFrom,
String pTo,
String pCc,
Date pData
){
try{

msg.setFrom(new InternetAddress(pFrom));
this.destinatarioTo = InternetAddress.parse(pTo);
msg.setRecipients(Message.RecipientType.TO, this.destinatarioTo);

if (pCc != null){
this.destinatarioCc = InternetAddress.parse(pCc);
msg.setRecipients(Message.RecipientType.CC, this.destinatarioCc);
}
msg.setSubject(subject);
//msg.setSentDate(calendar.getTime());

msg.setSentDate(pData);
msg.setText(messageText);
Transport.send(msg);
}catch(MessagingException mes){
mes.printStackTrace();
}//try
}
public static void main(String args[]){
for(int i =0; i < 2; i++){
SendMailLog send = new SendMailLog();
send.enviaEmail( "Sendmail " + i,
"Bom dia...\n" +
"Geração da massa de teste..." +
"\nGrato pela atenção !",
"leandro@oracle.com",
"leandro@oracle.com,leandro@oracle.com",
"leandro@oracle.com,@oracle.com",
new Date()
);
}
System.out.println("E-mails enviados com sucesso !";
}
}//class Sendmail

Leandro Eschiavi
ORACLE CONSULTANT
Sun Certified Java Programmer 5.0
[MSN]
andrericarte
JavaTeenager

Membro desde: 08/02/2007 15:11:36
Mensagens: 163
Offline

Sua classe nao esta errada... eu acho
Acontece que determinados servidores de email nao permitem enviar com remetentes diferentes do usuário logado....

ME CORRIJAM SE EU ESTIVER ERRADO pois tbm tenho duvida!!!!!!!
brunoja
Debugger

Membro desde: 09/01/2008 19:33:57
Mensagens: 63
Offline

Mas qual o servidor smtp q vc ta usando?
O q seria essa classe: PropertyServer?

Flw!
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Mudar o remetente do email via código é desaconselhado e proibido por diversos servidores de email porque pode ser usado para enviar spams. Você viu, por exemplo, que o GMail simplesmente ignora isso.

Entretanto, mudar o "reply-to" (endereço de retorno) não é proibido; isso pode ser feito para que a resposta ao email seja direcionada ao email correto.
Digamos, por exemplo, que você tenha criado uma conta no gmail com o endereço "empresa.fantasma@gmail.com <Empresa Fantasma>", e você mude o "reply-to" para "marketing@empresa.fantasma.com <Empresa Fantasma>".
Quando um destinatário receber o email, o remetente mostrado será "Empresa Fantasma", e ao responder o email, a resposta será mandada para "marketing@empresa.fantasma.com", como provavelmente é o que você quer fazer.
[WWW]
brunoja
Debugger

Membro desde: 09/01/2008 19:33:57
Mensagens: 63
Offline

Eh exatamente isso q eu quero fazer.
So q n vou mandar spam de email n, eh apenas uma confirmacao de cadastro XD.

Eh so mudar assim?



Mas e pra ao inves de mostrar o remetente assim (o email de quem enviou):

"...@gmail.com"

Mostrar:

"MeuSite"

Qual propriedade da mensagem devo mudar?
Vlw!

This message was edited 2 times. Last update was at 10/01/2008 11:01:15

thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

em vez de usar



use


onde "José Bündchen Conceição Soteropolitano" é o nome que vai aparecer na mensagem de retorno.
[WWW]
brunoja
Debugger

Membro desde: 09/01/2008 19:33:57
Mensagens: 63
Offline

Vlw! Vo testar quando chegar em casa, la pelas 7,8h da noite eu respondo se deu certo!

Flw!
brunoja
Debugger

Membro desde: 09/01/2008 19:33:57
Mensagens: 63
Offline

Desse jeito q vc disse:



Nao ta aceitando, o eclipse acusa q tem q usar Adress[].

Dai eu tentei:



Mas dai eu recebo no meu email e aparece o meu email do bol e nao o "MeuSite" q eu queria q aparecesse

Alguma ideia? Vlw!
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team