Dieses Projekt ist ein einfacher SMTP-Mail-Server. Er arbeitet sicherlich nicht perfekt, aber er kann alles, was die minimal Implementierung laut der RFC können muss. Leider fehlt noch ein Mail-Fowarder, aber der wird sicherlich noch kommen!
History:
30.08.2002 - Beginn der Programmierung
02.01.2003 - Onlinestellung auf vbInside
Autor: Tim Braun
eMail: zork_auf_vbinside.de
Code aus frmEditor.frm
Private Sub Form_Load()
On Error Resume Next
Dim i As Long
Dim Filename As String
Dim tmp As String
Dim FF As Integer
Dim actMail As TMail
With ListView1
.ColumnHeaders(1).Width = .Width / 3
.ColumnHeaders(2).Width = .Width / 3
.ColumnHeaders(3).Width = .Width / 3 - 90
End With
With File1
.Pattern = "*.mail"
.Path = SMTP_TempPath
End With
For i = 0 To File1.ListCount - 1
Filename = SMTP_TempPath & File1.List(i)
actMail.Filename = Filename
FF = FreeFile
Open Filename For Input As #FF
While Not EOF(FF)
Line Input #FF, tmp
Select Case LCase(Mid(tmp, 1, InStr(1, tmp, ":") - 1))
Case "from"
actMail.Sender = Mid(tmp, InStr(1, tmp, ":") + 1)
Case "to"
actMail.Receiver = Mid(tmp, InStr(1, tmp, ":") + 1)
Case "subject"
actMail.Subject = Mid(tmp, InStr(1, tmp, ":") + 1)
End Select
Wend
Close #FF
x = ListView1.ListItems.Count + 1
ListView1.ListItems.Add x, , GetRawString(actMail.Sender, "<>")
ListView1.ListItems(x).SubItems(1) = _
GetRawString(actMail.Receiver, "<>")
ListView1.ListItems(x).SubItems(2) = Trim(actMail.Subject)
Next
End SubPrivate Sub Form_Resize()
On Error Resume Next
ListView1.Width = Me.Width - 360
ListView1.Height = Me.Height - 640
With ListView1
.ColumnHeaders(1).Width = .Width / 3
.ColumnHeaders(2).Width = .Width / 3
.ColumnHeaders(3).Width = .Width / 3 - 90
End With
End Sub
Function GetRawString(strOld As String, strDelimiter As String) As _
String
Dim tmp As String
tmp = Mid(strOld, InStr(1, strOld, Mid(strDelimiter, 1, 1)) + _
1, InStrRev(strOld, Mid(strDelimiter, 2, 1)) - 1 - _
InStr(1, strOld, Mid(strDelimiter, 1, 1)))
GetRawString = tmp
End Function