ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

E possivel verificar se um e-mail existe no provedor?
Ir à página 1, 2  Próximo
 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
informaticaac
Novato
Novato


Registrado: Quarta-Feira, 1 de Agosto de 2012
Mensagens: 65

MensagemEnviada: Seg Dez 02, 2013 1:07 pm    Assunto: E possivel verificar se um e-mail existe no provedor? Responder com Citação

Olá pessoal,

Tem como verificar se um e-mail existe no provedor.

Exemplo, uma rotina que verifique no servidor uol por exemplo se o e-mail jose@uol.com.br existe.

Não teria como fazer o SMTP ou POP perguntar antes ao provedor e receber uma mensagem falsa ou verdadeira ? Isso antes de fazer um envio.

Ou algo tipo simular um envio...

O programa EMAIL VERIFIER e um exemplo do que desejo, porem quero uma rotina em delphi para implementar um programa de envios de emails.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcieldeg
Colaborador
Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011
Mensagens: 1054
Localização: Vitória - ES

MensagemEnviada: Seg Dez 02, 2013 1:39 pm    Assunto: Responder com Citação

Existem webservices e outros serviços para isso. Por exemplo:

http://www.webservicex.net/ws/WSDetails.aspx?WSID=51&CATID=4
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
informaticaac
Novato
Novato


Registrado: Quarta-Feira, 1 de Agosto de 2012
Mensagens: 65

MensagemEnviada: Seg Dez 02, 2013 1:49 pm    Assunto: Responder com Citação

marcieldeg escreveu:
Existem webservices e outros serviços para isso. Por exemplo:

http://www.webservicex.net/ws/WSDetails.aspx?WSID=51&CATID=4


Correto, já cheguei fazer um teste nesse site , coloquei emails existentes e mesmo assim ele retornou false. Testei na própria página do site.

Já achei outros que retornaram tudo certinho, porem são pagos, só pode verificar de 1 a 5 emails grátis.

No meu caso o programa de envio vai testar uma lista, um a cada envio, antes de enviar.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcieldeg
Colaborador
Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011
Mensagens: 1054
Localização: Vitória - ES

MensagemEnviada: Sex Dez 13, 2013 12:32 pm    Assunto: Responder com Citação

Tem também esse webservice aqui:

http://api.wscep.com/email?key=free&val=exemplo@exemplo.com.br
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
informaticaac
Novato
Novato


Registrado: Quarta-Feira, 1 de Agosto de 2012
Mensagens: 65

MensagemEnviada: Sáb Dez 14, 2013 1:29 pm    Assunto: Responder com Citação

marcieldeg escreveu:
Tem também esse webservice aqui:

http://api.wscep.com/email?key=free&val=exemplo@exemplo.com.br


Legal, até que este funcionou bem
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Sáb Dez 14, 2013 10:15 pm    Assunto: Responder com Citação

Realmente este ~ultimo funciona, o outro por alguma razão sempre retorna falso.
Mas isto é meio lento, talvez utilizando threads e validando vários emails ao mesmo tempo fosse melhor e guardar o resultado no banco, visto que assim não precisa validar novamente e perder tempo.


bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
marcieldeg
Colaborador
Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011
Mensagens: 1054
Localização: Vitória - ES

MensagemEnviada: Seg Dez 16, 2013 12:29 pm    Assunto: Responder com Citação

Tô curioso pra saber como essa validação é feita. Alguém tem ideia?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
informaticaac
Novato
Novato


Registrado: Quarta-Feira, 1 de Agosto de 2012
Mensagens: 65

MensagemEnviada: Seg Dez 16, 2013 12:45 pm    Assunto: Responder com Citação

Alguém sabe como posso fazer a verificação neste site com o delphi e assim retornar verdadeiro ou falso ?

Sei apenas fazer postagem em campos html, mas este não seria o caso.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Nope
Novato
Novato


Registrado: Segunda-Feira, 9 de Dezembro de 2013
Mensagens: 2

MensagemEnviada: Seg Dez 16, 2013 1:43 pm    Assunto: Responder com Citação

Teoricamente, para evitar spam não existe como verificar se um email realmente existe, a não ser mandando um email e verificando a resposta do servidor. Se não der erro é porque existe...

Pelo menos eu acredito que seja assim.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
informaticaac
Novato
Novato


Registrado: Quarta-Feira, 1 de Agosto de 2012
Mensagens: 65

MensagemEnviada: Seg Dez 16, 2013 2:14 pm    Assunto: Responder com Citação

Nope escreveu:
Teoricamente, para evitar spam não existe como verificar se um email realmente existe, a não ser mandando um email e verificando a resposta do servidor. Se não der erro é porque existe...

Pelo menos eu acredito que seja assim.



Esta url funciona direitinho, retorna na pagina 1 ou 0 .

http://api.wscep.com/email?key=free&val=exemplo@exemplo.com.br

Queria sabe como me conectar nela com delphi e exibir o resultado no delphi.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
weberdamasio
Experiente
Experiente


Registrado: Sábado, 19 de Julho de 2003
Mensagens: 420
Localização: Maringá - PR

MensagemEnviada: Seg Dez 16, 2013 3:23 pm    Assunto: Responder com Citação

Funciona não, fiz o teste com meus endereços de e-mails.
Os endereços que existem sempre retorna 1 porém endereços que não existem hora retorna 1 e hora retorna 2.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcieldeg
Colaborador
Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011
Mensagens: 1054
Localização: Vitória - ES

MensagemEnviada: Seg Dez 16, 2013 4:31 pm    Assunto: Responder com Citação

Esse webservice retorna 1 ou 0, na tag <resultado>. Esse retorno é o que vale.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
informaticaac
Novato
Novato


Registrado: Quarta-Feira, 1 de Agosto de 2012
Mensagens: 65

MensagemEnviada: Seg Dez 16, 2013 7:43 pm    Assunto: Responder com Citação

marcieldeg escreveu:
Esse webservice retorna 1 ou 0, na tag <resultado>. Esse retorno é o que vale.



Como faço para pegar este resultado no delphi ?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcieldeg
Colaborador
Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011
Mensagens: 1054
Localização: Vitória - ES

MensagemEnviada: Ter Dez 17, 2013 12:05 pm    Assunto: Responder com Citação

Código:
unit UConsultaEmail;

interface

uses
  Classes, SysUtils, IdHTTP, XMLDoc;

type
  TConsultaEmail = class(TComponent)
  private
    FKey: String;
    FHttp: TIdHTTP;
    FXml: TXMLDocument;
  public
    constructor Create(AOwner: TComponent; AKey: String = '');
    destructor Destroy; override;
    function Exists(AEmail: String): Boolean;
  end;

implementation

const
  WS_URL: String = 'http://api.wscep.com/email?key=%s&val=%s';

  {TConsultaEmail}

constructor TConsultaEmail.Create(AOwner: TComponent; AKey: String);
begin
  inherited Create(AOwner);
  if AKey = '' then
    Self.FKey := 'free'
  else
    Self.FKey := AKey;
  Self.FHttp := TIdHTTP.Create(Self);
  Self.FXml := TXMLDocument.Create(Self);
  Self.FXml.Active := True;
end;

destructor TConsultaEmail.Destroy;
begin
  Self.FHttp.Free;
  Self.FXml.Free;
  inherited;
end;

function TConsultaEmail.Exists(AEmail: String): Boolean;
var
  PostResult, MsgError: String;
begin
  PostResult := Self.FHttp.Get(Format(WS_URL, [Self.FKey, AEmail]));
  with Self.FXml do
  begin
    LoadFromXML(PostResult);
    MsgError := DocumentElement.ChildValues['msg_error'];
    if MsgError <> '' then
      raise Exception.Create (MsgError);
    Result := DocumentElement.ChildValues['resultado'] = 1;
  end;
end;

end.


Para usar:

Código:
uses
  UConsultaEmail;

procedure TForm1.Button1Click(Sender: TObject);
begin
  with TConsultaEmail.Create(Self) do
    try
      if Exists('meu@email.com') then
        ShowMessage ('Email válido')
      else
        ShowMessage ('Email inválido');
    finally
      Free;
    end;
end;


Copiei do post sobre o WS de CEP, e mudei onde devia.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
informaticaac
Novato
Novato


Registrado: Quarta-Feira, 1 de Agosto de 2012
Mensagens: 65

MensagemEnviada: Ter Dez 17, 2013 7:58 pm    Assunto: Responder com Citação

informaticaac escreveu:
marcieldeg escreveu:
Esse webservice retorna 1 ou 0, na tag <resultado>. Esse retorno é o que vale.



Como faço para pegar este resultado no delphi ?



Ótimo amigo, porem aqui não rodou, da erro na hora de compilar.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Ir à página 1, 2  Próximo
Página 1 de 2

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB