用winsock发送邮件的问题,急在线等,解决了马上给分 我用winsock实现邮件发送,可是发送的时候,右下角托盘处会闪现一个邮件的小图标,哪位大哥大姐,知道怎么不让这个小图标出现?急在线等,解决了马上给分 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 全部代码如下:Private Sub Command1_Click() Winsock1.Close Winsock1.Connect "smtp服务器地址", 25End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Call sendmailEnd 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" & vbCrLfEnd 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 = StrTempLineEnd Function base6加密算法 好像有问题,不支持中文... 发送数据已经成功了,这些都正常,就一个问题!!!!我用winsock实现邮件发送,可是发送的时候,右下角托盘处会闪现一个邮件的小图标,哪位大哥大姐,知道怎么不让这个小图标出现? LISTVIEW控件,LIST状态显示,如何让HEAD变为ENABLE状态,即不触发事件 怎么将十六进制的数(比如B)转换成十进制的11 小弟又来求大家了 我写了一个存储过程!! 给大家拜个早年,兼散分 怎么能让tooltiptext分行显示信息???-- 在线等 DocumentProperties 设置打印机,我如何设置 {缩放} 中 {调整为} 这个属性 程序里这段代码怎么写? 问问大家作为一个真正的程序员要具被什么条件? 我是一个初学者,哪里有VB的MSDN下载?(100)分啊! 讨论:程序员与项目经理大家愿意选择哪个职位? 求 Crystal Report 9.2 下載地址?
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