ѧԺÊ×Ò³>ÍøÂç±à³Ì>ASP.NET>ÈçºÎÓÃMAPIºÍCDONTSÀ´·¢Óʼþ

ÈçºÎÓÃMAPIºÍCDONTSÀ´·¢Óʼþ

×÷Õߣº À´Ô´£º Ìí¼Óʱ¼ä£º2006-5-21 19:50:50

Private Function Base64_Encode(strSource) As String 'base6¼ÓÃÜËã·¨
Const BASE64_TABLE As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
Dim strTempLine As String
Dim j As Integer
For j = 1 To (Len(strSource) - Len(strSource) Mod 3) Step 3
  strTempLine = strTempLine + Mid(BASE64_TABLE, (Asc(Mid(strSource, j, 1)) \ 4) + 1, 1)
  strTempLine = strTempLine + Mid(BASE64_TABLE, ((Asc(Mid(strSource, j, 1)) Mod 4) * 16 _
+ Asc(Mid(strSource, j + 1, 1)) \ 16) + 1, 1)
  strTempLine = strTempLine + Mid(BASE64_TABLE, ((Asc(Mid(strSource, j + 1, 1)) Mod 16) * 4 _
+ Asc(Mid(strSource, j + 2, 1)) \ 64) + 1, 1)
  strTempLine = strTempLine + Mid(BASE64_TABLE, (Asc(Mid(strSource, j + 2, 1)) Mod 64) + 1, 1)
Next j
If Not (Len(strSource) Mod 3) = 0 Then
   If (Len(strSource) Mod 3) = 2 Then
   strTempLine = strTempLine + Mid(BASE64_TABLE, (Asc(Mid(strSource, j, 1)) \ 4) + 1, 1)
   strTempLine = strTempLine + Mid(BASE64_TABLE, (Asc(Mid(strSource, j, 1)) Mod 4) * 16 _
+ Asc(Mid(strSource, j + 1, 1)) \ 16 + 1, 1)
strTempLine = strTempLine + Mid(BASE64_TABLE, (Asc(Mid(strSource, j + 1, 1)) Mod 16) * 4 + 1, 1)
   strTempLine = strTempLine & "="
  ElseIf (Len(strSource) Mod 3) = 1 Then
   strTempLine = strTempLine + Mid(BASE64_TABLE, Asc(Mid(strSource, j, 1)) \ 4 + 1, 1)
   strTempLine = strTempLine + Mid(BASE64_TABLE, (Asc(Mid(strSource, j, 1)) Mod 4) * 16 + 1, 1)
strTempLine = strTempLine & "=="
  End If
  End If
Base64_Encode = strTempLine
End Function

Private Sub cmdExit_Click()
Unload Me
End Sub

Private Sub CmdSend_Click()
Winsock1.Close
Winsock1.LocalPort = 0
strserver = txtserver
ColonPos = InStr(strserver, ":")
If ColonPos = 0 Then
  Winsock1.Connect strserver, 25
Else
  lngPort = CLng(Right$(strserver, Len(strserver) - ColonPos))
  strserver = Left$(strserver, ColonPos - 1)
  Winsock1.Connect strserver, lngPort
End If
m_State = MAIL_CONNECT '
StatusTxt = "ÊÔͼÓë·þÎñÆ÷Á¬½Ó"
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strServerResponse   As String
Dim strResponseCode  As String
Dim strDataToSend As String '
Const RandString As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_"
Dim Globalstr As String
For jd = 1 To 24
  uniquey = Int(Rnd * Len(RandString)) + 1
  Globalstr = Globalstr + Mid(RandString, uniquey, 1)
Next jd
strime1 = "Subject:" + Chr(32) + subject + vbCrLf ' Subject of E-Mail
strime = txtMessage + vbCrLf ' E-mail message body
strime2 = "X-Mailer:³ÌÐò̫ƽÑó:Óʼþ·¢ËÍÈí¼þV1.0" + vbCrLf ' What program sent the e-mail, customize this
'MULTI-PART Edit
strime = "------=_NextPart_" + Globalstr + vbCrLf + "Content-type: text/plain; charset=gb2312" + vbCrLf + vbCrLf + strime
strime = strime + "------=_NextPart_" + Globalstr + vbCrLf + "Content-type: text/HTML" + vbCrLf + vbCrLf + txtmessage1 + vbCrLf + vbCrLf
strime = strime + "------=_NextPart_" + Globalstr + "--" + vbCrLf
strime1 = strime1 + "MIME-Version: 1.0" + vbCrLf + "Content-Type: multipart/alternative; " + vbCrLf + Chr(9) + "boundary=""----=_NextPart_" + Globalstr + """" + vbCrLf + vbCrLf + "This mail is In MIME format. Your mail interface does Not appear To support this format." + vbCrLf + vbCrLf
strimeall = strime2 + strime1
Winsock1.GetData strServerResponse
strResponseCode = Left(strServerResponse, 3)
If strResponseCode = "250" Or _
strResponseCode = "220" Or _
strResponseCode = "354" Or _
strResponseCode = "334" Or _
strResponseCode = "235" Then
  Select Case m_State
   Case MAIL_CONNECT
m_State = MAIL_HELO
strDataToSend = Trim$(txtfrom)
'strDataToSend = Left$(strDataToSend, _
  InStr(1, strDataToSend, "@") - 1)
  Winsock1.SendData "HELO " & strDataToSend & vbCrLf
  StatusTxt = "µÇ½·þÎñÆ÷"
   Case MAIL_HELO
  m_State = MAIL_USER
  Winsock1.SendData "AUTH LOGIN" & vbCrLf
  StatusTxt = "ÕýÔÚУÑéÓû§Ãû"
   Case MAIL_USER
  m_State = MAIL_PASS
  Winsock1.SendData (Base64_Encode(Trim(user.Text))) & vbCrLf
  StatusTxt = "УÑéÓû§ÃÜÂë"
   Case MAIL_PASS
  m_State = mail_login
  Winsock1.SendData (Base64_Encode(txtpwa)) & vbCrLf
  StatusTxt = "·¢ËÍÈËÓʼþµØÖ·"
   Case mail_login
  m_State = MAIL_from
  Winsock1.SendData "MAIL FROM:" & Trim$(txtfrom) & vbCrLf
  StatusTxt = "½ÓÊÕÈËÓʼþµØÖ·"
   Case MAIL_from
  m_State = MAIL_RCPTTO
  Winsock1.SendData "RCPT TO:" & Trim$(getaddress) & vbCrLf
  StatusTxt = "Óʼþ·¢ËÍÖ®ÖÐ..."
   Case MAIL_RCPTTO
  m_State = MAIL_DATA
  Winsock1.SendData "DATA" & vbCrLf
  StatusTxt = "»ñÈ¡ÓʼþÄÚÈÝ"
   Case MAIL_DATA
m_State = MAIL_DOT
Winsock1.SendData "From:" & user.Text & " <" & txtfrom & ">" & vbCrLf
Winsock1.SendData "To:" & toname & " <" & getaddress & ">" & vbCrLf
Winsock1.SendData strimeall & vbCrLf
Winsock1.SendData strime & vbCrLf
Winsock1.SendData "." & vbCrLf
StatusTxt = "ÓʼþËÍÍê±Ï"
   Case MAIL_DOT
m_State = MAIL_QUIT
Winsock1.SendData "QUIT" & vbCrLf
StatusTxt = "Óʼþ³É¹¦·¢ËÍ!!!"
  Case MAIL_QUIT
  Winsock1.Close
  StatusTxt = "´ýÃüÖ®ÖÐ..."
   End Select
Else
   Winsock1.Close
End If
Debug.Print strServerResponse
End Sub

FrmMail.frx:(×¢ÒâÇ°ÃæµÄÁ½¸öÌØÊâ×Ö·û)
-------------------------------------------------
ÿ
<style type=text/css>
<!--
A:link{color:#333333;text-decoration:none;}
A:visited{color:#333333;text-decoration:none;}
A:hover{color:#333333;text-decoration:underline overline;}
A:active{color:#333333;text-decoration:none;}
input.radio{background: #EFF3F9; color:#000000}
font{ FONT-size: 9pt; line-height: 13pt; FONT-FAMILY:ËÎÌå, Arial, Helvetica}
font_size{ FONT-size: 9pt; line-height: 13pt; FONT-FAMILY:ËÎÌå, Arial, Helvetica}
SELECT{ FONT-size: 9pt; line-height: 13pt; FONT-FAMILY:ËÎÌå, Arial, Helvetica; BACKGROUND-COLOR: #efefef}
table{ FONT-size: 9pt; line-height: 13pt; FONT-FAMILY:ËÎÌå, Arial, Helvetica}
td{ FONT-size: 9pt; line-height: 13pt; FONT-FAMILY:ËÎÌå, Arial, Helvetica}
textarea{ BACKGROUND-COLOR: #efefef; BORDER-BOTTOM: 1px double; BORDER-LEFT: 1px double; BORDER-RIGHT: 1px double; BORDER-TOP: 1px double; COLOR: #000000; font-size: 9pt ;FONT-FAMILY:ËÎÌå, Arial, Helvetica}
.Coolinput{ BACKGROUND-COLOR: #EFF3F9; BORDER-BOTTOM: 1px double; BORDER-LEFT: 1px double; BORDER-RIGHT: 1px double; BORDER-TOP: 1px double; COLOR: #000000; font-size: 9pt; FONT-FAMILY:ËÎÌå, Arial, Helvetica}
INPUT{ BACKGROUND-COLOR: #EFF3F9; CURSOR: HAND; BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 1px; PADDING-LEFT: 1px; BORDER-LEFT-WIDTH: 1px; FONT-SIZE: 9pt; FONT-FAMILY: "ËÎÌå, Arial, Helvetica"; BORDER-LEFT-COLOR: #cccccc; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-COLOR: #cccccc; PADDING-BOTTOM: 1px; BORDER-TOP-COLOR: #cccccc; PADDING-TOP: 1px; HEIGHT: 18px; BORDER-RIGHT-WIDTH: 1px; BORDER-RIGHT-COLOR: #cccccc}
BODY{ FONT-FAMILY: ËÎÌå; FONT-SIZE: 9pt; SCROLLBAR-HIGHLIGHT-COLOR: buttonface; SCROLLBAR-SHADOW-COLOR: buttonface; SCROLLBAR-3DLIGHT-COLOR: buttonhighlight; SCROLLBAR-TRACK-COLOR: #eeeeee; SCROLLBAR-DARKSHADOW-COLOR: buttonshadow }
//-->
</style>

µÚ 2 Ò³£¬¹² 2 Ò³ [1] [2]
Õ¾ÄÚËÑË÷