Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Leggere un dato multiriga

    Allora ho una variabile di tipo string che chiamo Risposta.All interno di Risposta carico dei dati (il testo di una email) che quindi va a capo diverse volte.Quando faccio Label1.text = Response lui però mi stampa a video solo la prima riga.Come posso fare per fargli stampare anche le altre righe?Il dato lo prelevo usando il tutorial asp .net di questo sito riguardo lo scarico della posta via pop3 col metodo retr NumeroMessaggio.
    Spero di essermi spiegato bene!

  2. #2
    sinceramente non ho capito molto.

    sei sicuro che la mail venga letta tutta e non solo la prima riga?

    la tua label non è che hai delle dimensioni fisse non estendibili?

    se fai un response.write(testomail) che vedi?

  3. #3
    Allora ho seguito questo tutorial:

    http://www.aspitalia.com/articoli/aspplus/pop3.aspx

    serve per leggere delle mail scaricandole dal server pop3 (una specie di webmail.

    Questo è il codice della pagina:

    <%@ Page Language="vb" Debug="True" %>
    <%@ import Namespace="System.Net" %>
    <%@ import Namespace="System.Net.Sockets" %>
    <script runat="server">

    'E' utile leggere l'RFC 1939 che spiega il Post Office Protocol (POP3)
    'ftp://ftp.rfc-editor.org/in-notes/rfc1939.txt

    Dim tcpC as New TcpClient()

    Sub Page_load()
    if ispostback() then
    lblMessaggi.Text = ""
    ReadMail(host.text, utente.text, pwd.text)
    end if
    End Sub

    ' 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 LeggiMessaggio(host as string, user as string, pass as string, numMess 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,"retr " & numMess & vbCrLf)
    Dim testo as string
    testo = MyResponse
    lblMessaggi.text = testo
    end if

    ' chiudo la connessione con il server
    MyResponse=SendCommand(netstream,"QUIT" & vbCrLF)

    ' chiudo la connessione TCP
    tcpC.close
    End Function
    </script>
    <html>
    <head>
    <title>Statistiche casella mail</title>
    </head>
    <body>
    <form id="calc" method="post" runat="server">



    Server di posta (POP3):
    <asp:TextBox id="host" runat="server" Width="200px"></asp:TextBox>
    </p>



    Utente per collegamento:
    <asp:TextBox id="utente" runat="server" Width="200px"></asp:TextBox>
    </p>



    Password della casella:
    <asp:TextBox id="pwd" runat="server" Width="200px" TextMode="Password"></asp:TextBox>
    </p>



    <asp:Button id="Button1" runat="server" Text="Controlla Casella"></asp:Button>
    </p>



    <asp:Label id="lblMessaggi" runat="server"></asp:Label>
    </p>
    </form>
    </body>
    </html>

    Questo serve per leggere il contenuto di una mail ma quando stampo il risultato (Dim testo as string testo = MyResponse lblMessaggi.text = testo) mi stampa solo il messaggio di ok che sta nella prima riga e il resto che sta a capo e che è anche il corpo della mail non lo visualizza.Forse è un problema di Encode nn saprei....potete aiutarmi?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.