SendMAilMime64



'Base64Encode(originalString$)

Public Function Base64Encode(originalString$)
deciml = Asc(Left$(originalString$, 1))
For k = 7 To 0 Step -1
If (2 ^ k) <= deciml Then
binaryStr$ = binaryStr$ & "1"
deciml = deciml - (2 ^ k)
Else
binaryStr$ = binaryStr$ & "0"
End If
Next
If Len(originalString$) < 3 Then Goto unfpassone
deciml = Asc(Mid$(originalString$, 2, 1))
For k = 7 To 0 Step -1
If (2 ^ k) <= deciml Then
binaryStr$ = binaryStr$ & "1"
deciml = deciml - (2 ^ k)
Else
binaryStr$ = binaryStr$ & "0"
End If
Next
If Len(originalString$) < 3 Then Goto unfpassone
deciml = Asc(Right$(originalString$, 1))
For k = 7 To 0 Step -1
If (2 ^ k) <= deciml Then
binaryStr$ = binaryStr$ & "1"
deciml = deciml - (2 ^ k)
Else
binaryStr$ = binaryStr$ & "0"
End If
Next
unfpassone:
For k = 1 To 19 Step 6
Select Case Val(Mid$(binaryStr$, k, 6))
Case 0
temp$ = temp$ & "A"
Case 1
temp$ = temp$ & "B"
Case 10
temp$ = temp$ & "C"
Case 11
temp$ = temp$ & "D"
Case 100
temp$ = temp$ & "E"
Case 101
temp$ = temp$ & "F"
Case 110
temp$ = temp$ & "G"
Case 111
temp$ = temp$ & "H"
Case 1000
temp$ = temp$ & "I"
Case 1001
temp$ = temp$ & "J"
Case 1010
temp$ = temp$ & "K"
Case 1011
temp$ = temp$ & "L"
Case 1100
temp$ = temp$ & "M"
Case 1101
temp$ = temp$ & "N"
Case 1110
temp$ = temp$ & "O"
Case 1111
temp$ = temp$ & "P"
Case 10000
temp$ = temp$ & "Q"
Case 10001
temp$ = temp$ & "R"
Case 10010
temp$ = temp$ & "S"
Case 10011
temp$ = temp$ & "T"
Case 10100
temp$ = temp$ & "U"
Case 10101
temp$ = temp$ & "V"
Case 10110
temp$ = temp$ & "W"
Case 10111
temp$ = temp$ & "X"
Case 11000
temp$ = temp$ & "Y"
Case 11001
temp$ = temp$ & "Z"
Case 11010
temp$ = temp$ & "a"
Case 11011
temp$ = temp$ & "b"
Case 11100
temp$ = temp$ & "c"
Case 11101
temp$ = temp$ & "d"
Case 11110
temp$ = temp$ & "e"
Case 11111
temp$ = temp$ & "f"
Case 100000
temp$ = temp$ & "g"
Case 100001
temp$ = temp$ & "h"
Case 100010
temp$ = temp$ & "i"
Case 100011
temp$ = temp$ & "j"
Case 100100
temp$ = temp$ & "k"
Case 100101
temp$ = temp$ & "l"
Case 100110
temp$ = temp$ & "m"
Case 100111
temp$ = temp$ & "n"
Case 101000
temp$ = temp$ & "o"
Case 101001
temp$ = temp$ & "p"
Case 101010
temp$ = temp$ & "q"
Case 101011
temp$ = temp$ & "r"
Case 101100
temp$ = temp$ & "s"
Case 101101
temp$ = temp$ & "t"
Case 101110
temp$ = temp$ & "u"
Case 101111
temp$ = temp$ & "v"
Case 110000
temp$ = temp$ & "w"
Case 110001
temp$ = temp$ & "x"
Case 110010
temp$ = temp$ & "y"
Case 110011
temp$ = temp$ & "z"
Case 110100
temp$ = temp$ & "0"
Case 110101
temp$ = temp$ & "1"
Case 110110
temp$ = temp$ & "2"
Case 110111
temp$ = temp$ & "3"
Case 111000
temp$ = temp$ & "4"
Case 111001
temp$ = temp$ & "5"
Case 111010
temp$ = temp$ & "6"
Case 111011
temp$ = temp$ & "7"
Case 111100
temp$ = temp$ & "8"
Case 111101
temp$ = temp$ & "9"
Case 111110
temp$ = temp$ & "+"
Case 111111
temp$ = temp$ & "/"
End Select
Next
Base64Encode = temp$
End Function

Private Sub Command1_Click()
Command1.Enabled = False
If Text5.Text <> "" Then
Base64EncodeFile Text5.Text, RichTextBox1, Text1
End If
ConnectToServer "dudley.majordomos.com", Winsock1
End Sub

Private Sub Winsock1_Connect()
mailSend Text2.Text, Text3.Text, Text4.Text, Text6, Winsock1, Text5.Text, Text1
Command1.Enabled = True
End Sub


(sendmailmime64.html)- by Paolo Puglisi - Modifica del 25/3/2019