我用winsock实现邮件发送,可是发送的时候,右下角托盘处会闪现一个邮件的小图标,哪位大哥大姐,知道怎么不让这个小图标出现?
急在线等,解决了马上给分

解决方案 »

  1.   

    全部代码如下:Private Sub Command1_Click()
        Winsock1.Close
        Winsock1.Connect "smtp服务器地址", 25
    End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
        Call sendmail
    End SubPrivate Sub sendmail()
        Winsock1.SendData "HELO " & "[email protected]" & vbCrLf
        Winsock1.SendData "AUTH LOGIN" & vbCrLf
        Winsock1.SendData Base64("帐号") & vbCrLf
        Winsock1.SendData Base64("密码") & vbCrLf    Winsock1.SendData "MAIL FROM:" & "寄件人" & vbCrLf '寄件人
        Winsock1.SendData "RCPT TO:" & "收件人" & vbCrLf '收件人
        Winsock1.SendData "DATA" & vbCrLf
        Winsock1.SendData "From: " & "寄件人" & "<" & "寄件人" & ">" & vbCrLf '寄件人
        Winsock1.SendData "To: " & "收件人" & "<" & "收件人" & ">" & vbCrLf '收件人
        Winsock1.SendData "Subject:" & Chr(32) & "测试" & vbCrLf '邮件主题
        Winsock1.SendData "X-Mailer: SkyGz MAIL1.0" & vbCrLf '邮件发送者
        Winsock1.SendData "X-Priority: " & CStr(LngPriority) & vbCrLf '邮件发送级别
        Winsock1.SendData "MIME-Version: 1.0" & vbCrLf    Const RandString As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_"
        Dim GlobalStr As String
        For i = 1 To 24
            GlobalStr = GlobalStr & Mid(RandString, Int(Rnd * Len(RandString)) + 1, 1)
        Next
        
        Winsock1.SendData "Content-Type: multipart/alternative;" & vbCrLf & Chr(9) & "boundary=""----=_NextPart_" & GlobalStr & """" & vbCrLf & vbCrLf
        Winsock1.SendData "This Is A Multi-Part Message In MIME Format." & vbCrLf & vbCrLf
        Winsock1.SendData "------=_NextPart_" & GlobalStr & vbCrLf
        Winsock1.SendData "Content-Type: " & "Text/Html" & "; charset=" & "Gb2312" & ";" & vbCrLf & vbCrLf '语言编码和邮件编码
        Winsock1.SendData "测试" & vbCrLf & vbCrLf '邮件内容
        Winsock1.SendData "------=_NextPart_" & GlobalStr & "--" & vbCrLf
        Winsock1.SendData "." & vbCrLf    Winsock1.SendData "QUIT" & vbCrLf
    End SubPrivate Function Base64(ByVal Str As String) As String 'base6加密算法
        Const BASE64_TABLE As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
        Dim StrTempLine As String
        Dim j As Integer
        For j = 1 To (Len(Str) - Len(Str) Mod 3) Step 3
            StrTempLine = StrTempLine + Mid(BASE64_TABLE, (Asc(Mid(Str, j, 1)) \ 4) + 1, 1)
            StrTempLine = StrTempLine + Mid(BASE64_TABLE, ((Asc(Mid(Str, j, 1)) Mod 4) * 16 _
                          + Asc(Mid(Str, j + 1, 1)) \ 16) + 1, 1)
            StrTempLine = StrTempLine + Mid(BASE64_TABLE, ((Asc(Mid(Str, j + 1, 1)) Mod 16) * 4 _
                          + Asc(Mid(Str, j + 2, 1)) \ 64) + 1, 1)
            StrTempLine = StrTempLine + Mid(BASE64_TABLE, (Asc(Mid(Str, j + 2, 1)) Mod 64) + 1, 1)
        Next j
        If Not (Len(Str) Mod 3) = 0 Then
             If (Len(Str) Mod 3) = 2 Then
                StrTempLine = StrTempLine + Mid(BASE64_TABLE, (Asc(Mid(Str, j, 1)) \ 4) + 1, 1)
                StrTempLine = StrTempLine + Mid(BASE64_TABLE, (Asc(Mid(Str, j, 1)) Mod 4) * 16 _
                          + Asc(Mid(Str, j + 1, 1)) \ 16 + 1, 1)
                 StrTempLine = StrTempLine + Mid(BASE64_TABLE, (Asc(Mid(Str, j + 1, 1)) Mod 16) * 4 + 1, 1)
                StrTempLine = StrTempLine & "="
            ElseIf (Len(Str) Mod 3) = 1 Then
                StrTempLine = StrTempLine + Mid(BASE64_TABLE, Asc(Mid(Str, j, 1)) \ 4 + 1, 1)
                StrTempLine = StrTempLine + Mid(BASE64_TABLE, (Asc(Mid(Str, j, 1)) Mod 4) * 16 + 1, 1)
                 StrTempLine = StrTempLine & "=="
            End If
         End If
        Base64 = StrTempLine
    End Function
      

  2.   

    base6加密算法  好像有问题,不支持中文...
      

  3.   

    发送数据已经成功了,这些都正常,就一个问题!!!!我用winsock实现邮件发送,可是发送的时候,右下角托盘处会闪现一个邮件的小图标,哪位大哥大姐,知道怎么不让这个小图标出现?