Ir para conteúdo
Fórum Script Brasil
  • 0

Acessando Um E-mail Pop3


bareta

Pergunta

Acessando um E-mail POP3 por uma página ASP

Autor: Christian Emil Hoh

Introdução:

Tenho reparado em muitas listas e fóruns de discussão, pessoas perguntando, como fazer para ler os e-mails de uma conta POP3 em outro servidor a partir de uma página ASP. Muitas pessoas perguntam se o CDONTS por exemplo, não faz este tipo de requisição. Infelizmente, o CDONTS não faz este tipo de requisição, ele foi desenvolvido, apenas para fazer o envio de mensagens. Para que isto seja possível, você precisa de um componente externo ( uma DLL ), que pode ser um componente comprado, ou um componente que possa ser desenvolvido por você mesmo. Neste tutorial, vamos abordar um componente chamado AspPop3.

Fazendo o Download e instalando o AspPop3:

Fazer o download do componente e instalar é muito simples. Primeiro, você deve acessar o site do desenvolvedor do AspPop3 clica aqui. Após efetuado o download, da "evaluation copy", você de ve extrair o arquivo pop3svg.dll para seu diretório system (ex: \WinNT\System23 ). Feitos estes passos, você deve abrir uma janela do prompt e digitar a seguinte linha de comando: regsvr32 pop3svg.dll . Pronto, agora você já pode acessá-lo em uma página ASP.

Conectando no Servidor POP3:

O primeiro passo para fazer a conexão é possuir o endereço IP ou nome do servidor onde queremos conectar ( Ex: pop3.provedor.com.br ). Tendo esta informação, vamos ver como iniciar o código de conexão no exemplo abaixo:

<!--Arquivo connect_pop3.asp-->

<%
'Vamos criar o Objeto;
Dim Mailer
Set Mailer = Server.CreateObject("POP3svg.Mailer")


'Servidor de E-mail à ser conectado;
Mailer.RemoteHost = "pop3.provedor.com.br" 

'Coloque o Login e a Senha para abrir a conta;
Mailer.UserName = "Login"
Mailer.Password = "Senha"

'Abre a conexão POP3
Mailer.OpenPop3
%> 
Até este ponto, o que aconteceu foi que a conexão com o servidor de mensagens POP3, foi estabelecida. Agora, você pode fazer uma série de operações, como listar mensagens, ler, apagar ... etc ... aqui vamos apenas mostrar como listar e ler as mensagens, as demais funcionalidades, podem ser conferidas no site do fabricante. A seguir, veremos exemplos de dois arquivos, um monta a lista de mensagens e o segundo faz a leitura de uma determinada mensagem. Vamos ver abaixo, o arquivo que lista as mensagens: <!--Arquivo list_pop3.asp-->
<%
'Abre a conexão
Dim Mailer
Set Mailer = Server.CreateObject("POP3svg.Mailer")
Mailer.RemoteHost = "pop3.provedor.com.br"
Mailer.UserName = "Login"
Mailer.Password = "Senha"
Mailer.OpenPop3

'Verifica o número de mensagens no servidor
Dim iMessages
iMessages = Mailer.MessageCount
Response.Write "Existem " & iMessages & " mensagens no servidor.<p>"

Dim iLoop

'Montando uma tabela
Response.Write "<table border=1 align=center cellspacing=1>"
Response.Write "<tr><th>&nbsp;</th><th>Assunto</th><th>De</th></tr>"

'Faz um Loop com todas as mensagens
For iLoop = 1 to iMessages
    If Mailer.Retrieve(iLoop) then
      Response.Write "<tr>"
      Response.Write "<td><a href=""read_pop3.asp?ID=" & _
      iLoop & """>Ler Msg</a></td>"
      Response.Write "<td>" & Mailer.Subject & "</td>"
      Response.Write "<td>" & Mailer.FromName & " (<a href=""mailto:""" & _
      Mailer.FromAddress & """>" & Mailer.FromAddress & _
      "</a>)</td>"
      Response.Write "</tr>"
    End If
Next 'iLoop

Response.Write "</table>"

'Fecha a Conexão
Mailer.ClosePop3
%>
 
Pronto, agora você já está listando as mensagens na caixa postal a qual você usou para se conectar. Vamos ver agora, como fica o código referente a página que retorna uma mensagem escolhida para leitura. <!--Arquivo read_pop3.asp-->
<%
'Abre a conexão
Dim Mailer
Set Mailer = Server.CreateObject("POP3svg.Mailer")
Mailer.RemoteHost = "pop3.provedor.com.br"
Mailer.UserName = "Login"
Mailer.Password = "Senha"
Mailer.OpenPop3

'Retorna a mensagem escolhida
If Mailer.Retrieve(Request("ID")) Then
    Response.Write "<b>Assunto</b>: " & Mailer.Subject & "<br>"
    Response.Write "<b>Mensagem</b>: <pre>" & _
    Server.HtmlEncode(Mailer.BodyText) & "</pre><br>"
Else
    'Retorna um erro caso id incorreto;
    Response.Write "Mensagem Nº " & Request("ID") & " não foi encontrada..."
End If

'Fecha a conexão
Mailer.ClosePop3
%> 
 

tirado de web tutoriais.....

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

bareta!

Seguinte, to utilizando o o componente JMAIL, consigo verificar as menagens do POP, como no teu exemplo deste tópico, mas como faço para enviar com um anexo que não está residente no servidor? eu tava utilizando o JMAILBOX (v8 e v9) mas ele ou não envia o anexo, ou na hora que c clica na opção de upload ele cai na tela de login, há uma função que checa se determinada SESSION está ativa, (a do arquivo verify.asp), mas eu destrinchando os codes, verifiquei que em nenhum momento alguma outra instrução "matou" aquela sessão, portanto NÃO deveria cair no login...

a pergunta é:Como enviar um anexo pelo JMAIL?

Link para o comentário
Compartilhar em outros sites

  • 0

muito bom bareta!

vou deixar esse tópico em destaque um tempo..

depois eu tiro do destaque!

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

hehe

o bareta postou isso ae no Tópico de Funções!

O tópico de funções tá pendurado, então não fica muito dificil de achar aqui.. basta abrir o tópico!

Vou deixar um tempo.. depois eu tiro o destaque.. é que sempre que eu acho alguma coisa legal, eu penduro aqui.. e se eu for deixando.. logo terá mais topicos pendurados, do que topicos normais.. hehe

abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...