Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
informaticaac Novato

Registrado: Quarta-Feira, 1 de Agosto de 2012 Mensagens: 65
|
Enviada: Seg Dez 02, 2013 1:07 pm Assunto: E possivel verificar se um e-mail existe no provedor? |
|
|
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 |
|
 |
marcieldeg Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011 Mensagens: 1054 Localização: Vitória - ES
|
|
Voltar ao Topo |
|
 |
informaticaac Novato

Registrado: Quarta-Feira, 1 de Agosto de 2012 Mensagens: 65
|
Enviada: Seg Dez 02, 2013 1:49 pm Assunto: |
|
|
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 |
|
 |
marcieldeg Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011 Mensagens: 1054 Localização: Vitória - ES
|
|
Voltar ao Topo |
|
 |
informaticaac Novato

Registrado: Quarta-Feira, 1 de Agosto de 2012 Mensagens: 65
|
Enviada: Sáb Dez 14, 2013 1:29 pm Assunto: |
|
|
Legal, até que este funcionou bem |
|
Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Sáb Dez 14, 2013 10:15 pm Assunto: |
|
|
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 |
|
 |
marcieldeg Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011 Mensagens: 1054 Localização: Vitória - ES
|
Enviada: Seg Dez 16, 2013 12:29 pm Assunto: |
|
|
Tô curioso pra saber como essa validação é feita. Alguém tem ideia? |
|
Voltar ao Topo |
|
 |
informaticaac Novato

Registrado: Quarta-Feira, 1 de Agosto de 2012 Mensagens: 65
|
Enviada: Seg Dez 16, 2013 12:45 pm Assunto: |
|
|
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 |
|
 |
Nope Novato

Registrado: Segunda-Feira, 9 de Dezembro de 2013 Mensagens: 2
|
Enviada: Seg Dez 16, 2013 1:43 pm Assunto: |
|
|
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 |
|
 |
informaticaac Novato

Registrado: Quarta-Feira, 1 de Agosto de 2012 Mensagens: 65
|
Enviada: Seg Dez 16, 2013 2:14 pm Assunto: |
|
|
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 |
|
 |
weberdamasio Experiente


Registrado: Sábado, 19 de Julho de 2003 Mensagens: 420 Localização: Maringá - PR
|
Enviada: Seg Dez 16, 2013 3:23 pm Assunto: |
|
|
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 |
|
 |
marcieldeg Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011 Mensagens: 1054 Localização: Vitória - ES
|
Enviada: Seg Dez 16, 2013 4:31 pm Assunto: |
|
|
Esse webservice retorna 1 ou 0, na tag <resultado>. Esse retorno é o que vale. |
|
Voltar ao Topo |
|
 |
informaticaac Novato

Registrado: Quarta-Feira, 1 de Agosto de 2012 Mensagens: 65
|
Enviada: Seg Dez 16, 2013 7:43 pm Assunto: |
|
|
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 |
|
 |
marcieldeg Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011 Mensagens: 1054 Localização: Vitória - ES
|
Enviada: Ter Dez 17, 2013 12:05 pm Assunto: |
|
|
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 |
|
 |
informaticaac Novato

Registrado: Quarta-Feira, 1 de Agosto de 2012 Mensagens: 65
|
Enviada: Ter Dez 17, 2013 7:58 pm Assunto: |
|
|
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 |
|
 |
|