| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/01/2008 19:53:31
|
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/01/2008 20:44:00
|
leandroeschiavi
Thread.start()
![[Avatar]](/images/avatar/7467fc45e24ec8d8b9023385c2a6066d.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/01/2008 22:55:58
|
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!!!!!!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2008 08:09:30
|
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!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2008 10:54:35
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2008 11:00:00
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2008 11:06:43
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/01/2008 11:41:12
|
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!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/01/2008 18:56:48
|
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!
|
|
|
 |
|
|