  | 
     | 
    
Sample Scripts
MailHTML (VB script)
This script was invented as a sort of website
publishing system. If used in the connection client for mail, you can convert a
received message into HTML, and write this HTML in the publishing database of
your website.  
Example: you have a news section on your
website, and find it too difficult to daily edit a number of HTML files, and FTP
them on your webdirectory. Sending a message in plain text to a specific address
may be much easier. 
The code: 
Function
MailHtml(InputValue,Parameter1,Parameter2,Parameter3,Parameter4) 
    'Remove the line breaks  
    InputValue = InputValue & " " 
    PreviousCRPositie = 0 
    CRPositie = InStr(1, InputValue, Chr(&HD) & Chr(&HA)) 
    Do While CRPositie > 0 
        Karakter = Mid(InputValue, CRPositie
+ 2, 1) 
        If Karakter <> "" Then 
            ASCValue =
Asc(Mid(InputValue, CRPositie + 2, 1)) 
        Else 
            ASCValue = 0 
        End If 
        If CRPositie > 1 Then 
            VorigKarakter
= Mid(InputValue, CRPositie - 1, 1) 
        Else 
            VorigKarakter
= "#" 
        End If 
        'If next
character is lower case 
        Condition = (ASCValue >= 97
And ASCValue <= 122) 
        'If next
character is numeric 
        Condition = (ASCValue >= 48
And ASCValue <= 57) Or Condition 
        'If next
character is ( 
        Condition = (ASCValue = 40) Or
Condition 
        'If next
character is a dash - 
        Condition = (ASCValue = 40) Or
Condition 
        'If next
character is upper case and previous was not a period and  
        'last line break was Parameter3
characters ago 
        Condition = (ASCValue >= 65
And ASCValue <= 90 And VorigKarakter <> "." And (CRPositie - PreviousCRPositie)
>= Parameter3) Or Condition 
        'Skip the
condition if the line contained double spaces and previous character 
        'was numeric = table 
        If CRPositie > 20 Then 
            TabelLijn =
InStr(CRPositie - 20, InputValue, " ") 
        Else 
            TabelLijn = 0 
        End If 
        Condition = (Not (TabelLijn > 0 And
TabelLijn < CRPositie)) And Condition 
        Condition = (Not
(((Asc(VorigKarakter) >= 48 And Asc(VorigKarakter) <= 57) Or VorigKarakter =
")") And TabelLijn > 0 And TabelLijn < CRPositie)) And Condition 
 
        If Condition Then 
            InputValue =
Left(InputValue, CRPositie - 1) & " " & Mid(InputValue, CRPositie + 2) 
        Else 
           
PreviousCRPositie = CRPositie 
        End If 
        CRPositie = InStr(CRPositie + 1,
InputValue, Chr(&HD) & Chr(&HA)) 
    Loop 
 
    'All other carriage returns may be
converted into breaks 
 
    Set replace_1 = New RegExp 
    replace_1.Pattern = Chr(13) & Chr(10) 
    replace_1.IgnoreCase = True 
    spare = "" 
    Do While InputValue <> spare 
        spare = InputValue 
        InputValue =
replace_1.Replace(InputValue, "<br>") 
    Loop 
 
    'Spaces should be converted to HTML
spaces 
 
    breakat = InStr(1, InputValue, "<br>") 
    PreviousBreak = 0 
    Do While breakat > 0 
        NextBreakAt = InStr(breakat + 4,
InputValue, "<br>") 
        If NextBreakAt = 0 Then NextBreakAt =
Len(InputValue) 
        FirstCharOfLine = Mid(InputValue,
breakat + 4, 1) 
        If NextBreakAt - breakat > Parameter4
Or FirstCharOfLine = "-" Or FirstCharOfLine = "·" Or FirstCharOfLine = "*" Then 
           
'The line is too long to be table oriented 
           
breakat = InStr(breakat + 4, InputValue, "<br>") 
        Else 
            If
InStr(breakat, InputValue, " ") < NextBreakAt Then 
               
SpaceAt = InStr(breakat, InputValue, " ") 
               
Do While SpaceAt > 0 And SpaceAt < NextBreakAt 
                   
InputValue = Left(InputValue, SpaceAt - 1) & " " & Mid(InputValue, SpaceAt
+ 1) 
                   
NextBreakAt = InStr(breakat + 4, InputValue, "<br>") 
                   
SpaceAt = InStr(SpaceAt, InputValue, " ") 
               
Loop 
            End If 
            PreviousBreak
= breakat 
            breakat =
InStr(breakat + 4, InputValue, "<br>") 
        End If 
    Loop 
 
    'Make a link of an email address 
 
    AtPositie = 1 
    Do While InStr(AtPositie, InputValue, "@") > 0 
        AtAT = InStr(AtPositie, InputValue,
"@") 
        BeginAt = AtAT 
        EndAt = AtAT 
        Do While Mid(InputValue, BeginAt, 6)
<> " " And Mid(InputValue, BeginAt, 1) <> " " And Mid(InputValue, BeginAt,
1) <> ">" 
            BeginAt =
BeginAt - 1 
        Loop 
        Select Case Mid(InputValue, BeginAt,
6) 
            Case " " 
               
BeginAt = BeginAt + 5 
        End Select 
        Do While Mid(InputValue, EndAt, 6) <>
" " And Mid(InputValue, EndAt, 1) <> " " And Mid(InputValue, EndAt, 1) <>
"<" And Mid(InputValue, EndAt, 7) <> ". " And Mid(InputValue, EndAt, 2) <>
".<" 
            EndAt = EndAt
+ 1 
        Loop 
        AtPositie = EndAt 
 
        MailAddress = Mid(InputValue, BeginAt
+ 1, EndAt - BeginAt - 1) 
        InputValue = Left(InputValue,
BeginAt) & "<a href=" & Chr(34) & "mailto:" & MailAddress & Chr(34) & ">" &
MailAddress & "</a>" & Right(InputValue, Len(InputValue) - EndAt + 1) 
        AtPositie = EndAt + 22 +
Len(MailAddress) 
    Loop 
 
    'Make a link of a link 
    wwwPositie = 1 
    Do While InStr(wwwPositie, InputValue, "www") > 0 
        AtAT = InStr(wwwPositie, InputValue,
"www") 
        BeginAt = AtAT 
        EndAt = AtAT 
        Do While Mid(InputValue, BeginAt, 6)
<> " " And Mid(InputValue, BeginAt, 1) <> " " And Mid(InputValue, BeginAt,
1) <> ">" 
            BeginAt =
BeginAt - 1 
        Loop 
        Select Case Mid(InputValue, BeginAt,
6) 
            Case " " 
               
BeginAt = BeginAt + 5 
        End Select 
        Do While Mid(InputValue, EndAt, 6) <>
" " And Mid(InputValue, EndAt, 1) <> " " And Mid(InputValue, EndAt, 1) <>
"<" And Mid(InputValue, EndAt, 7) <> ". " And Mid(InputValue, EndAt, 2) <>
".<" 
            EndAt = EndAt
+ 1 
        Loop 
        wwwPositie = EndAt 
 
        MailAddress = Mid(InputValue, BeginAt
+ 1, EndAt - BeginAt - 1) 
        If Left(MailAddress, 4) <> "http"
Then 
            MailAddress =
"http://" & MailAddress 
        End If 
        InputValue = Left(InputValue,
BeginAt) & "<a href=" & Chr(34) & MailAddress & Chr(34) & " target=" & Chr(34) &
"_blank" & Chr(34) & ">" & MailAddress & "</a>" & Right(InputValue,
Len(InputValue) - EndAt + 1) 
        wwwPositie = EndAt + 31 +
Len(MailAddress) 
    Loop 
 
    wwwPositie = 1 
    Do While InStr(wwwPositie, InputValue, "http://") > 0 
        AtAT = InStr(wwwPositie, InputValue,
"http://") 
        If Mid(InputValue,AtAt+7,3) <> "www"
Then 
            BeginAt =
AtAT 
            EndAt = AtAT 
            Do While
Mid(InputValue, BeginAt, 6) <> " " And Mid(InputValue, BeginAt, 1) <> " "
And Mid(InputValue, BeginAt, 1) <> ">" 
               
BeginAt = BeginAt - 1 
            Loop 
            Select Case
Mid(InputValue, BeginAt, 6) 
               
Case " " 
                   
BeginAt = BeginAt + 5 
            End Select 
            Do While
Mid(InputValue, EndAt, 6) <> " " And Mid(InputValue, EndAt, 1) <> " " And
Mid(InputValue, EndAt, 1) <> "<" And Mid(InputValue, EndAt, 7) <> ". " And
Mid(InputValue, EndAt, 2) <> ".<" 
               
EndAt = EndAt + 1 
            Loop 
            wwwPositie =
EndAt 
 
            MailAddress =
Mid(InputValue, BeginAt + 1, EndAt - BeginAt - 1) 
            If
Left(MailAddress, 4) <> "http" Then 
               
MailAddress = "http://" & MailAddress 
            End If 
            InputValue =
Left(InputValue, BeginAt) & "<a href=" & Chr(34) & MailAddress & Chr(34) & "
target=" & Chr(34) & "_blank" & Chr(34) & ">" & MailAddress & "</a>" &
Right(InputValue, Len(InputValue) - EndAt + 1) 
            wwwPositie =
EndAt + 31 + Len(MailAddress) 
        Else 
            wwwPositie =
AtAt + 6 
        End if 
    Loop 
 
    MailHtml = "<font face=""Courier New"" size=""2"">" &
InputValue & "</font>" 
 
End Function 
  
     | 
      |