Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

POP3-Client mit Relationaler Datenbank

Frage Internet E-Mail

Mitglied: greenavatar

greenavatar (Level 1) - Jetzt verbinden

08.05.2013 um 08:20 Uhr, 2695 Aufrufe, 17 Kommentare


Hallo zusammen,

ich bin auf der Suche nach einem POP3-Client, der die eingehenden Emails in einer Relationalen Datenbank speichert. Die Email-Attachments sollen nach Möglichkeit in Dateiform separat gespeichert werden. Ebenso eingebettete Bilder. Der Zugriff auf die Dateien muss auf jeden Fall unkompliziert sein.

Ziel:

Ich möchte aus verschiedenen Anwendungen (VB.NET, PHP) heraus auf die Emails zugreifen können, auch auf die Attachments und eingebetteten Bilder (bei RichText- oder HTML-Emails kann man ja Bilder direkt in den Text einbetten), um sie in andere Systeme importieren zu können.

Bedeutet natürlich auch, es muss zumindest einen passenden ODBC-Treiber für die POP3-Client-Datenbank geben.

Hat jemand eine oder mehrere Ideen?

Im ersten Schritt ist es erstmal nicht so wichtig, ob es sich um Freeware oder Lizenzware handelt. Wenn das Programm was taugt, darf es auch was kosten. Wichtig ist, dass der POP3-Client auf einer Relationalen Datenbank basiert.

Der Import in die Zieldatenbanken würde über eine VB.NET-Anwendung oder über einen MS-SQL Server Job erfolgen.

Eine Alternative wäre, einen eigenen Email-Server hochzuziehen (mit einer Relationalen Datenbank als Backend), aber ich denke mal, das ist vom Aufwand mehr ein paar (hundert) Nummern größer

Nee, ich glaube ein separater Email-Server wäre mir lieber, dann habe ich auch den ganzen Sicherheits-Kladeradatsch separat, die ganze Adress-/IP-/DNS-Geschichte, da bin ich nicht scharf drauf. Das wäre ja wirklich ein Megaprojekt für sich - nee, muss nicht sein. Schon lieber einen vorhandenen POP3-Server nutzen.

Freue mich über Input. Euch schon einmal einen schönen Feiertag!

Gruß

Tommy

Mitglied: knut4linux
10.05.2013 um 11:31 Uhr
Nach groben überfliegen deines Anliegens glaube ich zu meinen, dass der GFI-Mailarchiver eine Lösung für dich ist.

In der Version 6 konnte man das Teil noch Standalone betreiben (ohne Anbindung an einem Mail Server).

Mit dazu gab es auch ein Outlook Plugin, was die Mails in die Datenbank geschoben hat.

Effektiver ist es allerdings, wenn du es mit einem Mailserver betreiben würdest.

Hoffe der Ansatz bringt dir etwas
Bitte warten ..
Mitglied: colinardo
10.05.2013, aktualisiert um 12:24 Uhr
Hallo Tommy,
habe so etwas in der Art schon mal als VB.Net Projekt erstellt, also POP3 Nachrichten runterladen und in eine Access-Datenbank schreiben. Die dazugehörigen Attachments werden alle im Filesystem mit eindeutigen Ordner-IDs abgelegt. Des weiteren werden noch einige Infos zu den Attachments wie (Dateiname,Größe,Extension,Typ(Inline im Body/Normal) gespeichert. Zu erwähnen ist, das du zu dem Projekt die Komponente "Mail.dll" der Firma Limilabs benötigst (149€) - ein Demoversion ist vorhanden. Das Projekt ist als Konsolenanwendung mit Parameterübergabe konzipiert.
Ein Aufruf würde dann wie folgt aussehen:

Aufruf mit Parametern
pop3download.exe /server:pop.mailserver.de /user:USERNAME /password:PASSWORD /dbpath:"C:\Pfad\database.mdb" /fileroot:"C:\Pfad\Attachments"
VB.Net Projekt-Code
01.
Imports System.Text 
02.
Imports System.Text.RegularExpressions 
03.
Imports Limilabs.Client.POP3 
04.
Imports Limilabs.Mail 
05.
Imports Limilabs.Mail.MIME 
06.
Imports Limilabs.Mail.Headers 
07.
Imports System.Data 
08.
 
09.
Module Pop3ToDatabase 
10.
    Private _server As String 
11.
    Private _user As String 
12.
    Private _password As String 
13.
    Private _attachmentRootPath As String 
14.
    Private _dbPath As String 
15.
    Private _dbConn As OleDb.OleDbConnection 
16.
 
17.
    Sub Main() 
18.
        Dim cmdArgs() As String = System.Environment.GetCommandLineArgs() 
19.
        If cmdArgs.Length = 6 Then 
20.
            Dim line As String = [String].Join("|", cmdArgs, 1, 5) 
21.
            _server = New Regex("/server:([^\|]*)", RegexOptions.IgnoreCase).Match(line).Groups(1).Value 
22.
            _user = New Regex("/user:([^\|]*)", RegexOptions.IgnoreCase).Match(line).Groups(1).Value 
23.
            _password = New Regex("/password:([^\|]*)", RegexOptions.IgnoreCase).Match(line).Groups(1).Value 
24.
            _attachmentRootPath = New Regex("/fileroot:([^\|]*)", RegexOptions.IgnoreCase).Match(line).Groups(1).Value 
25.
            _dbPath = New Regex("/dbpath:([^\|]*)", RegexOptions.IgnoreCase).Match(line).Groups(1).Value 
26.
        Else 
27.
            Console.WriteLine("Falsche Anzahl an Parametern!") 
28.
            System.Environment.Exit(1) 
29.
        End If 
30.
 
31.
        Using pop3 As New Pop3 
32.
            Try 
33.
                pop3.Connect(_server)                           ' Use overloads or ConnectSSL if you need to specify different port or SSL. 
34.
                pop3.UseBestLogin(_user, _password) 
35.
            Catch ex As Exception 
36.
                Console.WriteLine("Error connecting to POP3-Server." & vbCrLf & ex.Message) 
37.
                System.Environment.Exit(2) 
38.
            End Try 
39.
 
40.
            Dim uids As List(Of String) = pop3.GetAll()             ' Get unique-ids of all messages. 
41.
 
42.
            If uids.Count > 0 Then 
43.
                If ConnectDB() Then 
44.
                    For Each uid As String In uids 
45.
                        Dim email As IMail = New MailBuilder().CreateFromEml(pop3.GetMessageByUID(uid))      ' Download and parse each message 
46.
                        WriteMessageToDatabase(email) 
47.
                        pop3.DeleteMessageByUID(uid) 
48.
                    Next 
49.
                Else 
50.
                    pop3.Close() 
51.
                    System.Environment.Exit(3) 
52.
                End If 
53.
                CloseDB() 
54.
                pop3.Close() 
55.
            End If 
56.
            Console.WriteLine(vbCrLf & "Finished.") 
57.
            System.Environment.Exit(0) 
58.
        End Using 
59.
 
60.
    End Sub 
61.
 
62.
    Function ConnectDB() As Boolean 
63.
        Try 
64.
            Console.WriteLine("Connecting to DB...") 
65.
            _dbConn = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _dbPath) 
66.
            _dbConn.Open() 
67.
        Catch ex As Exception 
68.
            Console.WriteLine("Could not connect for some reason.... is the file on the right location? --> check connectionstring ### " & vbCrLf & ex.Message) 
69.
            Return False 
70.
        End Try 
71.
        If _dbConn.State = ConnectionState.Open Then 
72.
            Return True 
73.
        Else 
74.
            Return False 
75.
        End If 
76.
    End Function 
77.
 
78.
    Sub CloseDB() 
79.
        _dbConn.Close() 
80.
    End Sub 
81.
 
82.
    Sub WriteMessageToDatabase(ByVal email As IMail) 
83.
 
84.
        Try 
85.
 
86.
            Console.WriteLine("Saving Mail to Database: " + email.MessageID) 
87.
            Dim uniqueID As String = tobase36(DateTime.Now.Ticks) 
88.
            Dim attSavePath As String = _attachmentRootPath + "\" + uniqueID + "_" + email.MessageID 
89.
 
90.
            Dim SQL As New OleDb.OleDbCommand("Select * FROM MAILS", _dbConn) 
91.
            Dim da As New OleDb.OleDbDataAdapter(SQL) 
92.
            Dim builder As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(da) 
93.
            Dim dataSet As DataSet = New DataSet 
94.
            da.Fill(dataSet, "MAILS") 
95.
            da.InsertCommand = builder.GetInsertCommand() 
96.
 
97.
            Dim SQL2 As New OleDb.OleDbCommand("Select * FROM ATTACHMENTS", _dbConn) 
98.
            Dim da2 As New OleDb.OleDbDataAdapter(SQL2) 
99.
            Dim builder2 As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(da2) 
100.
            Dim dataSet2 As DataSet = New DataSet 
101.
            da2.Fill(dataSet2, "ATTACHMENTS") 
102.
            da2.InsertCommand = builder2.GetInsertCommand() 
103.
 
104.
            'Add email-content to database 
105.
            Dim new_row As DataRow = dataSet.Tables("MAILS").NewRow() 
106.
            new_row("mailID") = uniqueID & "_" & email.MessageID 
107.
            new_row("mailDate") = email.Date 
108.
            new_row("mailSubject") = email.Subject 
109.
            new_row("mailText") = email.Text 
110.
            new_row("mailHTML") = email.Html 
111.
            new_row("mailFrom") = JoinMailboxes(email.From) 
112.
            new_row("mailTo") = JoinAddresses(email.To) 
113.
            new_row("mailCc") = JoinAddresses(email.Cc) 
114.
            new_row("mailBcc") = JoinAddresses(email.Bcc) 
115.
            dataSet.Tables("MAILS").Rows.Add(new_row) 
116.
            da.Update(dataSet, "MAILS") 
117.
 
118.
            'Process attachments 
119.
            If email.Attachments.Count > 0 Then 
120.
                'Process normal attachments 
121.
                For Each attachment As MimeData In email.NonVisuals 
122.
                    Dim new_row_att As DataRow = dataSet2.Tables("ATTACHMENTS").NewRow() 
123.
                    new_row_att("mailID") = uniqueID & "_" & email.MessageID 
124.
                    new_row_att("attPath") = attSavePath 
125.
                    new_row_att("attFilename") = attachment.SafeFileName 
126.
                    new_row_att("attExtension") = Mid(attachment.SafeFileName, InStr(attachment.SafeFileName, ".") + 1) 
127.
                    new_row_att("attFileSize") = attachment.Data.Length 
128.
                    new_row_att("attType") = "normal" 
129.
                    dataSet2.Tables("ATTACHMENTS").Rows.Add(new_row_att) 
130.
                    If Not My.Computer.FileSystem.DirectoryExists(attSavePath) Then 
131.
                        My.Computer.FileSystem.CreateDirectory(attSavePath) 
132.
                    End If 
133.
                    attachment.Save(attSavePath + "\" + attachment.SafeFileName) 
134.
                Next 
135.
                'Process inline attachments (in HTML body) 
136.
                For Each attachment As MimeData In email.Visuals 
137.
                    Dim new_row_att As DataRow = dataSet2.Tables("ATTACHMENTS").NewRow() 
138.
                    new_row_att("mailID") = uniqueID & "_" & email.MessageID 
139.
                    new_row_att("attPath") = attSavePath 
140.
                    new_row_att("attFilename") = attachment.SafeFileName 
141.
                    new_row_att("attExtension") = Mid(attachment.SafeFileName, InStr(attachment.SafeFileName, ".") + 1) 
142.
                    new_row_att("attFileSize") = attachment.Data.Length 
143.
                    new_row_att("attType") = "inline" 
144.
                    dataSet2.Tables("ATTACHMENTS").Rows.Add(new_row_att) 
145.
                    If Not My.Computer.FileSystem.DirectoryExists(attSavePath) Then 
146.
                        My.Computer.FileSystem.CreateDirectory(attSavePath) 
147.
                    End If 
148.
                    attachment.Save(attSavePath + "\" + attachment.SafeFileName) 
149.
                Next 
150.
 
151.
                da2.Update(dataSet2, "ATTACHMENTS") 
152.
            End If 
153.
 
154.
        Catch ex As Exception 
155.
            Console.WriteLine(ex.Message) 
156.
        End Try 
157.
    End Sub 
158.
 
159.
 
160.
    Private Function JoinMailboxes(ByVal mailboxes As IList(Of MailBox)) As String 
161.
        Return String.Join(",", New List(Of MailBox)(mailboxes).ConvertAll(Function(x As MailBox) String.Format("{0} <{1}>", x.Name, x.Address)).ToArray()) 
162.
    End Function 
163.
 
164.
    Private Function JoinAddresses(ByVal addresses As IList(Of MailAddress)) As String 
165.
        Dim builder As New StringBuilder 
166.
 
167.
        For Each address As MailAddress In addresses 
168.
            If (TypeOf address Is MailGroup) Then 
169.
                Dim group As MailGroup = CType(address, MailGroup) 
170.
                builder.AppendFormat("{0}: {1};, ", group.Name, JoinAddresses(group.Addresses)) 
171.
            End If 
172.
            If (TypeOf address Is MailBox) Then 
173.
                Dim mailbox As MailBox = CType(address, MailBox) 
174.
                builder.AppendFormat("{0} <{1}>, ", mailbox.Name, mailbox.Address) 
175.
            End If 
176.
        Next 
177.
        Return builder.ToString() 
178.
    End Function 
179.
 
180.
 
181.
    Private Function tobase36(ByVal number As Long) As String 
182.
        Dim cList() As Char = ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ").ToCharArray 
183.
        Dim finalString As String = "" 
184.
 
185.
        While Not number = 0 
186.
            finalString += cList(CInt(number Mod 36)) 
187.
            number /= 36 
188.
        End While 
189.
        Return finalString 
190.
    End Function 
191.
End Module
Wenn du Interesse daran hast würde ich Dir das Access-Datenbankgerüst oder das ganze VB.Net Projekt das du dafür brauchst per PN schicken...

Grüße Uwe
Bitte warten ..
Mitglied: tschroeder
13.05.2013 um 10:34 Uhr
Hallo Uwe,

wow! Nicht übel. Weißt Du, wie groß der Aufwand ist, den Code nach Access VBA zu migrieren? Bekomme ich aber zur Not auch so raus, muss halt ein bissel testen.

Würde mich über weiteres Material freuen (Access-Datenbankgerüst / VB.Net Projekt).

Mein Ziel ist es an sich, die Tabellen in einem SQL Server bereitzustellen und den Import mit Access VBA vorzunehmen.

Freue mich auf Input.

Gruß

Tommy
Bitte warten ..
Mitglied: tschroeder
13.05.2013 um 10:36 Uhr
Hallo knut4linux,

werde mir das Teil mal ansehen. Die Produkte von GFI sind an sich alle ganz gut.

Danke Dir für den Tipp.

Gruß

Tommy
Bitte warten ..
Mitglied: colinardo
13.05.2013, aktualisiert um 17:55 Uhr
Zitat von tschroeder:
Weißt Du, wie groß der Aufwand ist, den Code nach Access VBA zu migrieren? Bekomme ich aber zur
Not auch so raus, muss halt ein bissel testen.
da muss schon einiges geändert werden...
Mein Ziel ist es an sich, die Tabellen in einem SQL Server bereitzustellen und den Import mit Access VBA vorzunehmen.
Warum machst du den Import in die SQL-Datenbank nicht direkt im VB.Net-Projekt so brauchst du nicht den Umweg über Access VBA nehmen. Mein Code ließe sich einfach an den SQL-Server anpassen, da nur die Datenbank-Verbindung(ConnectionString) und die Tabellennamen geändert werden müssten.
Wenn du dafür Hilfe brauchst melde dich, dann unterstütze ich dich dabei.

Uwe
Bitte warten ..
Mitglied: greenavatar
14.05.2013 um 07:51 Uhr
Hallo Uwe,

es müssen keine Tabellennamen geändert werden, weil es auf unserer Seite noch keine Datenbank gibt.

Können daher Deine Tabellen benutzen.

Klaro bin ich am ganzen Projekt interessiert.

Gruß

Thomas
Bitte warten ..
Mitglied: tschroeder
16.05.2013 um 07:42 Uhr
Hallo Uwe,

danke für Dein Projekt. Wie bekomme ich es zum Laufen?

Meine derzeitiges Entwicklungssystem:

- Microsoft Windows XP Professional SP 3
- Microsoft Visual Studio 2008
- Microsoft Visual Studio 2010 Express
- Microsoft Office 2003 Professional

Ich habe gesehen, das ist so eine *.dll, die man nicht registrieren muss. Muss sie in einem bestimmten Verzeichnis liegen?

Oh' mei, habe noch so viele Fragen.

Du hast gesagt, das VB-Programm speichert die Attachments auf Wunsch im Dateisystem. Benötigst Du eine bestimmte Verzeichnisstruktur?

Noch eine Frage: Mein Chef legt Wert auf eingebettete Bilder in RichText- und HTML-Emails. Wie kann ich die im Dateisystem speichern? Im Falle von RichText-Emails sind das OLE-Objekte. Eine harte Nuss!

Aber ich wäre schon froh, wenn das Projekt in der Basisform schon einmal funktionieren würde.

Was muss ich dazu tun?

Noch ein Hinweis: Nicht wundern, wenn ich mal einen halben Tag nicht antworten kann - bin derzeit viel unterwegs.

Freue mich auf Input.

Gruß

Thomas
Bitte warten ..
Mitglied: colinardo
16.05.2013 um 10:32 Uhr
Hi Thomas,

also, im ZIP-File-Root findest du die Datei Mail.dll diese ist für das Verbinden und Auswerten der Nachrichten des POP3-Servers verantwortlich.
Du öffnest als erstes das Projekt mit der Datei Pop3DownloadToDatabase.vbproj in Visual Studio 2010 Express. Dann überprüfst du in den Eigenschaften des Projekts (Rechtsklick auf den obersten Knoten im Solution-Explorer > Eigenschaften) in den References ob die Referenz zur Mail.dll richtig eingetragen ist; wenn nicht, fügst du den Pfad zu dieser Datei hinzu. Wenn jetzt alles stimmt und du in der Fehlerliste von VS2010Express keine Fehler siehst, solltest du das Projekt kompilieren können. Die fertige *.exe zusammen mit der Mail.dll findest du dann unter "./bin/Debug/". Diese müssen sich beim Aufruf zusammen in einem Verzeichnis befinden.
Wie oben schon erwähnt, ist es als flexibles Konsolenprogramm mit Parameterübergabe konzipiert, d.h. du rufst es folgendermaßen von der Kommandozeile auf:
pop3todatabase.exe /server:pop.mailserver.de /user:USERNAME /password:PASSWORD /dbpath:"C:\Pfad\database.mdb" /fileroot:"C:\Pfad\Attachments"
Dabei gibst du den Pfad zur *.mdb Datei an die mit im Root des ZIP-Files liegt, und ein Verzeichnis in dem die Attachments landen sollen. Das Verzeichnis muss keine Struktur aufweisen, da dies das Programm selber erledigt. Es erstellt für jede E-Mail einen Ordner mit einer eindeutigen Kennung, bestehend aus einem base36-kodierten String der Systemzeit und der eMail-ID. Die Attachments sowohl "normale" Anhänge als auch alle Inline-Objekte werden darin mit deren Namen gespeichert. In der Datenbank ist dann für jedes Attachment der Typ (inline/normal) hinterlegt, so das man diese unterscheiden kann.
Ich denke damit solltest du zurecht kommen.

Noch wichtige Hinweise:
  • .Net-Framework 3.5 muss installiert sein
  • Standardmäßig ist das Programm so eingestellt, dass es die verarbeiteten Mails vom POP-Server löscht sobald sie in die Datenbank eingetragen sind.(Zeile 53 im Code)
  • Die beigefügte Mail.dll befindet sich ja im Demo-Modus d.h. diese ersetzt nach dem Zufallsprinzip Werte wie z.B den Betreff einer Mail mit: Dies ist eine Demoversion,..blabla. Hier ist dann Kohle hinblättern angesagt wenn es dann soweit funktioniert wie Ihr es wollt.

So long...
Uwe
Bitte warten ..
Mitglied: tschroeder
16.05.2013, aktualisiert um 10:53 Uhr
Hallo Uwe,

reicht auch das Microsoft Visual Studio 2008?

Mit der Expressversion vom 2010er kann ich nämlich keine *.exe-Dateien erzeugen.

Gruß

Thomas
Bitte warten ..
Mitglied: colinardo
16.05.2013 um 10:59 Uhr
Da hast du Glück das ich die 2008er auch noch drauf hab. Hab's gerade mal damit geöffnet und kompiliert, sollte funktionieren.
Bitte warten ..
Mitglied: tschroeder
16.05.2013, aktualisiert um 11:08 Uhr
Alles klar.

Heute nachmittag bin ich nicht im Büro, hocke mich aber gleich morgen früh dran.

Gruß

Thomas
Bitte warten ..
Mitglied: tschroeder
16.05.2013 um 11:58 Uhr
Hallo Uwe,

habe die Parameter korrekt übergeben, die DOS-Box springt auf, dann passiert erst einmal gar nichts, dann schließt sie sich wieder. In der MDB ist in der Tabelle keine Mail drin.

Woran kann es liegen?

Gruß

Thomas
Bitte warten ..
Mitglied: colinardo
16.05.2013, aktualisiert um 12:11 Uhr
- Sind die Pfade mit Anführungszeichen eingeschlossen (wegen Leerzeichen) ?
- übergibst du die Parameter in Visual Studio ? mach das mal in einer separaten DOS-Box direkt.
- sind überhaupt Mails auf dem POP-Server ?
- eventuell musst du den ODBC-Connection-String ändern da du Office 2003 installiert hast; im Code Zeile 71 das Provider=Microsoft.ACE.OLEDB.12.0 durch Provider=Microsoft.Jet.OLEDB.4.0 ersetzen. Ansonsten lad dir mal die Access 2010 DB-Engine runter: http://www.microsoft.com/de-de/download/details.aspx?id=13255
- Setze halt mal Breakpoints dann siehst du schon wo's bei Dir hakt
Bitte warten ..
Mitglied: tschroeder
17.05.2013 um 07:33 Uhr
Hallo Uwe,

habe den Provider in der Pop3ToDatabase.vb angepasst, wie Du gesagt hast:

Provider=Microsoft.Jet.OLEDB.4.0

Ich nehme zum Testen eine *.bat-Datei, die den folgenden Inhalt hat:

"C:\test\pop3_vbnet\bin\Debug\Pop3DownloadToDatabase.exe" /server:"mail.arcor.de:25" /user:"..." /password:"..." /dbpath:"C:\test\pop3_vbnet\bin\Debug\MailDB.mdb" /fileroot:"C:\test\pop3_vbnet\bin\Debug\attachments"

Das müsste doch alles passen - die DOS-Box poppt kurz auf und schließt sich dann wieder. Und zwar in jedem Fall, ob ich nun die *.bat ausführe oder ob ich die *.exe direkt starte. Es müsste doch in letzterem Fall eigentlich so sein, dass ich die Eingaben über die DOS-Box machen kann, oder?

Gruß

Thomas
Bitte warten ..
Mitglied: colinardo
17.05.2013, aktualisiert um 08:04 Uhr
der POP-Server auf Port 25 ?????? das ist wohl eher SMTP , lass die Portangabe weg ... und der POP-Server bei Arcor lautet pop3.arcor.de !!!
und nur um die Pfade Anführungszeichen nicht um Username und Passwort wenn die keine Leerzeichen haben .mach den Aufruf mal bitte manuell in einer DOS-Box ohne Batchdatei. Bei einer Batch ohne Pause Befehl am Ende, ist es normal das sich das Fenster wieder schließt wenn sich das Programm beendet !
Bitte warten ..
Mitglied: tschroeder
17.05.2013 um 08:26 Uhr
Hallo Uwe,

oh Mann, ist das peinlich ... ich wollte über den SMTP-Server Mails abrufen ... ich glaub', ich verkriech mich ...

Genau das wars. Ich habe den POP3 eingetragen und es geht prima. Sogar die eingebetteten OLE-Bildobjekte in den RichText-Mails werden heruntergeladen - ist ja krass!!!

Ich muss Dir zuerst mal danken für Deine Bemühungen mit einem blutigen Anfänger.
Habe mich - glaube ich - wirklich angestellt wie der erste Mensch

Eine Frage noch: Wenn wir die *.dll regulär kaufen möchten, an wen müssten wir uns wenden? Den Preis hast Du ja oben schon erwähnt. Muss man das Ding über einen Händler kaufen oder direkt beim Entwickler? Hast Du eine URL?

Gruß

Thomas
Bitte warten ..
Mitglied: colinardo
17.05.2013 um 08:32 Uhr
steht oben im ersten Link http://www.limilabs.com/mail
Viel Erfolg weiterhin..
Uwe
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows 7
Wsus client findet am wsus server nicht alle updates (1)

Frage von endurance zum Thema Windows 7 ...

LAN, WAN, Wireless
Client Mode oder Bridge Mode bei Anbindung an einen AP per W Lan (3)

Frage von xpstress zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...