Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    34

    conoscere il numero di mail ricevute

    Vorrei implementare il sito con uno script con il quale si possa conoscere il numero di messaggi che ha ricevuto una casella di posta es
    la casella info @ miosito . it ha ricevuto della posta nr. mressaggio
    la casella pres @ miosito . it non ha ricevuto posta 0 messaggi

    o qlcs di simile in modo che chi gestisce il sito sappia quale mail aprire senza fare il giro di tutto quanto il server di posta
    la cosa è possibile?
    grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    La richiesta è un po generica, ma 99% direi di no.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    34
    allora al 99 aggiungiamo 1 così risolviamo il dubbio!
    a questo punto però vorrei chiederti
    e prelevare dall'host della posta a cui è collegato il dominio solamente il nome dell'oggetto del messaggio e relativi mittenti (indirizzo mail) è possibile o si ricollega alla precedente opzione del 99%+1

    grazie

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Insisto, senza informazioni direi che la seconda richiesta è anche peggio.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di xGioweb
    Registrato dal
    Oct 2007
    Messaggi
    114
    Senza scomodare script asp inrealizzabili non puoi configurare all'interno della casella email in questione un indirizzo alias che si occupa di inoltrare tutto il messaggio ad una casella di posta specifica?
    La cosa però potrebbe ledere la privacy "dell'intercettato" che a mio avviso dovrebbe essere informato ed autorizzarti.
    Ciao
    xGioweb

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    34
    allora!
    il sottoscritto per gestire caselle e-mail, upload, download, database internet file copia incolla etc etc etc non ha problema!
    il problema sta nel fatto che ho realizzato un sito (poca cosa nulla di ecclatante) per una persona che di informatica ne capisce poco se non nulla e volevo rendergli la cosa semplice semplice, affinchè con un click sappia se qlcn ha inviato una mail o niente affatto, evintando quindi di mandarlo in giro per 5 0 6 caselle di posta.
    Tanto per rendervi idea: Il solo fatto che debba aprire live mail piuttosto che outlook o altro gestore di posta è un'impresa per il solo fattoc che a volte le icone si spostano.
    vedete in che situazione mi trovo!!!

    per questo cercavo una soluzione più agevole a cui prtp. credo non vi sia risposta!
    grazie ugualmente

  7. #7
    Certo che lo puoi fare ma in ASP.NET
    Non dovrei postarlo qui ... ma datosi che ho faticato molto per capirne il funzionamento ... ti do la pappa pronta.

    Ti do qui il sorgente. Inserisci i tuoi dati nell'area modificabile.

    FindMail.aspx
    codice:
     
    <?xml version="1.0" encoding="iso-8859-1"?>
    
    <%@ Page Language="vb" Debug="True" %>
    <%@ import Namespace="System.Net" %>
    <%@ import Namespace="System.Net.Sockets" %>
    <script runat="server">
        
             Dim tcpC as New TcpClient()
        
             Sub Page_load()
    
                 ' inizio area modificabile
                 POP3URL.Text = "pop3.mysite.it"
                 MailAddress.Text = "mymail@domail.com"
                 Password.Text = "mypassword"
                 ' fine area modificabile
    
                 lblMessaggi.Text = 0
                 ReadMail(POP3URL.text, MailAddress.text, Password.text)
             End Sub
        
             ' Ricerca specifica informazione dall'intestazione della mail
             Function SeeInfo(FindValue,MyStr)
    		     dim valore as string
    			 dim posizione as integer
                 posizione=InStr(MyStr,FindValue) 
                 if posizione>0 then
    			    posizione=posizione+Len(FindValue)
    			    Valore=Mid(MyStr,posizione)
    		     end if
                 Return Valore
             End Function
    		 
             ' Manda il comando e restituisce la risposta
             Function SendCommand(byRef NetStream as NetworkStream, byVal sToSend as String)
                 Dim bData() as Byte = Encoding.ASCII.GetBytes(sToSend.ToCharArray)
                 NetStream.Write(bData,0,bData.Length())
                 Return GetResponse(NetStream)
             End Function
        
             ' Controlla se c'è una risposta e la restituisce
             Function GetResponse(byRef NetStream as NetworkStream)
                 Dim bytes(tcpC.ReceiveBufferSize) As Byte
                 NetStream.Read(bytes, 0, bytes.length)
        
                 'Restituisce i dati ricevuti
                 Dim ReturnData As String = Encoding.ASCII.GetString(bytes)
                 Return ReturnData
             End Function
        
             Function ReadMail(host as string, user as string, pass as string)
                 Dim NetStream as NetworkStream, MyResponse as string
        
                 ' apre una connessione con il server di posta sulla porta 110
                 try
                     tcpC.Connect(host,110)
                 catch MyEx as Exception
                 'in caso di errore restituisce un messaggio
                     'lblMessaggi.Text += "Errore nella connessione all'host: " & host & " (porta 110)
    " & _
                      '   "L'errore riportato è: " & MyEx.message & "
    Controlla e riprova
    "
                 end try
        
                 ' Recupera la risposta
                 try
                    NetStream = tcpC.GetStream()
                    MyResponse = GetResponse(netstream)
                 catch MyEx as Exception
                    'lblMessaggi.Text += "Si è verificato un errore!"
                 end try
        
                 'Invia il nome dell'utente (account sul server)
                 MyResponse = SendCommand(netstream,"user " & user & vbCrLF)
        
                 'Invia la password
                 MyResponse = SendCommand(netstream,"pass " & pass & vbCrLf)
        
                 'Controlla se il collegamento è andato a buon fine
                 if left(MyResponse,4)="-ERR" then
                     'lblMessaggi.Text += "Errore  nel collegamento dell'utente; controlla i dati e riprova
    "
                     'lblMessaggi.Text += MyResponse & "
    "
                     MyResponse=SendCommand(netstream,"QUIT" & vbCrLF)
                     tcpC.close
                 else
                    'Indica che il collegamento ha avuto successo
                    'lblMessaggi.Text += "Utente correttamente collegato
    
    "
        
                    'Richiede le statistiche dell'intera casella
                     MyResponse=SendCommand(netstream,"stat" & vbCrLf)
        
                     dim tmpArray() as string
                     'nel primo elemento (indice 0) c'è '+OK' nel secondo il numero dei messaggi, nel terzo la dimensione dei messaggi in bytes
                     tmpArray = split(MyResponse," ")
        
                     dim thisMess as integer
                     'quindi qui trovo il numero dei messaggi
                     dim NumMess as string = tmpArray(1)
    				 lblMessaggi.Text = NumMess
        
                     if cint(NumMess) > 0 then 'controllo se ci sono messaggi
                        'Scrivo il numero dei messaggi
                         'lblMessaggi.Text += "Ci sono " & NumMess & " messaggi per un totale di " & tmpArray(2) & " bytes
    "
    					 
                     else
                         'lblMessaggi.Text += "La casella è vuota"
    
                     end if
                 end if
        
                 ' chiudo la connessione con il server
                 MyResponse=SendCommand(netstream,"QUIT" & vbCrLF)
        
                 ' chiudo la connessione TCP
                 tcpC.close
             End Function
    
    </script>
    <html>
    
    <body>
    
    <asp:Label id="lblMessaggi" Visible="false" runat="server"></asp:Label>
    <script language="JavaScript">
    if (<%=lblMessaggi.Text%>>0) {
       ConfCFG = alert("Ci sono <%=lblMessaggi.Text%> messaggi"); 
    }
    </script>
    </body>
    </html>
    Io nella vita ho visto cose che voi astemi neanche potete immaginare.

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Puoi provare a far partire in batch una sessione telnet sulla porta 110 e registrarne le risposte...

    Un esempio di lista comandi:

    telnet pop3.mioserver.it 110
    USER roberto
    PASS nonteladico
    LIST
    QUIT


    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    34
    grazie vivamente per le risposte in questi g. provo le soluzioni

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.