ASP.NET | Leggere la posta di un account POP3 con la libreria LumiSoft
Il seguente esempio mostra la possibilità di leggere i messaggi di posta elettronica di un account POP3 e di scaricare gli eventuali allegati. La procedura utilizza la libreria LumiSoft Imports LumiSoft.Net.Log Imports LumiSoft.Net.MIME Imports LumiSoft.Net.Mail Imports LumiSoft.Net.POP3.Client Part
Il seguente esempio mostra la possibilità di leggere i messaggi di posta elettronica di un account POP3 e di scaricare gli eventuali allegati. La procedura utilizza la libreria LumiSoft
Imports LumiSoft.Net.Log Imports LumiSoft.Net.MIME Imports LumiSoft.Net.Mail Imports LumiSoft.Net.POP3.Client
Partial Class MyPOP3 Inherits System.Web.UI.Page
Protected Sub ReadMessage() Dim pop3 As POP3_Client = New POP3_Client Try pop3.Logger = New Logger pop3.Connect(“pop3_server”, 110, False) pop3.Authenticate(“username”, “password”, True) Dim i As Integer = 0 For Each message As POP3_ClientMessage In pop3.Messages If Not message.IsMarkedForDeletion Then Dim mime As Mail_Message = Mail_Message.ParseFromByte(message.HeaderToByte) Dim mId As String = message.SequenceNumber.ToString() Dim mUid As String = message.UID Dim mDate As String = mime.Date.ToString
'Email del mittente Dim mEmail As String = String.Empty If Not mime.From Is Nothing Then mEmail = mime.From.Item(0).Address Else mEmail = “” End If
'Nome del mittente Dim mFrom As String = String.Empty If Not mime.From Is Nothing Then mFrom = mime.From.Item(0).DisplayName Else mFrom = “” End If
'Oggetto Dim mSubj As String = String.Empty If Not mime.Subject Is Nothing Then mSubj = mime.Subject.ToString Else mSubj = “” End If
'Testo del messaggio Dim mimeMsg As Mail_Message = Mail_Message.ParseFromByte(message.MessageToByte) Dim mText As String = String.Empty If Not mimeMsg.BodyText Is Nothing Then mText = mimeMsg.BodyText Else mText = “” End If
'Gestione allegati: se esiste un allegato, verrà scaricato nella cartella C:\Files Dim mFile As String = String.Empty For Each entity As MIME_Entity In mimeMsg.Attachments If Not entity.ContentDisposition Is Nothing Then Dim f As MIME_h_ContentDisposition = entity.ContentDisposition If Not f.Param_FileName Is Nothing Then mFile = “C:\Files\” & f.Param_FileName Dim ms As MIME_b_SinglepartBase = entity.Body File.WriteAllBytes(mFile, ms.Data) End If End If Next
'Marcatura del messaggio per la cancellazione message.MarkForDeletion()
Dim sOut As String = “Messaggio da: " & mFrom & " (” & mEmail & “)
”
sOut &= “Oggetto: " & mSubj & “
”
sOut &= “Testo del messaggio: " & mText & “
” Response.Write(sOut) End If Next pop3.Disconnect() Catch ex As Exception response.Write(”
” & ex.Source & “
” & ex.Message & “
” & ex.StackTrace) End Try End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ReadMessage() End Sub
End Class