SMTP-Server nach RFC 821
Zum Code
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 Sub

Private 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