我通过winsock 发送邮件时反回如下消息:
553 You are not authorized to send mail as <MAIL FROM:[email protected]>, authentication is required
请问是什么地方出错了?
553 You are not authorized to send mail as <MAIL FROM:[email protected]>, authentication is required
请问是什么地方出错了?
解决方案 »
- 很烦的一个XML绑到MSHFlexGrid问题,急呀!求你们了!
- 怎样添加MSHFLEXGRID某一行的双击事件?
- 求解???用程序控制键盘,如按一下按钮,就执行Ctrl+C,复制当前屏幕上的可复制部分
- 送分100分:请问RSTXM.open 。。adLockReadOnly 中的adLockReadOnly 会不会影响CONN.EXECUTE的执行
- 制作控件时怎样添加属性页!
- 100分求购用TREEVIEW做目录浏览器代码。
- 串口查询数据问题,求救!急急急!
- !!!绝对陷阱,千万别上当!!
- datagrid列的格式设定
- 追我的女孩昨天过的生日,她怕我不送她玫瑰,自己买了99朵,吃饭前让她们公司的开车来把我弄过去了,对我说:你帮我拿着。于是我拿着花跟在她后面走进礼堂,掌声顿时雷动…… 回来后写程序,遇到问题,不知道如何做。
- FlexGrid 和ado的recordset的问题
- DataReport怎么直接打印不用选择打印机?
我又一个简单的发邮件程序,也是用winsock编的,要的话留下邮箱
Public Answerf As Boolean
Function SendMail(WSock As Winsock, sFrom As String, sTo As String, sTitle As String, sMsg As String) As Boolean
On Error GoTo 12
Dim CodeDoc As String
Dim StrMessage As String
'Dim ca As New C64WSock.Connect
Waiting
WSock.SendData "HELO " & "发件人" & vbCrLf
'WSock.SendData "EHLO " & sFrom & vbCrLf
Waiting
WSock.SendData "AUTH LOGIN" + vbCrLf
Waiting
WSock.SendData B64E("你的用户名") + vbCrLf
Waiting
WSock.SendData B64E("你的密码") + vbCrLf
Waiting
WSock.SendData "MAIL FROM:<" + sFrom + ">" + vbCrLf
Waiting
WSock.SendData "RCPT TO:<" + sTo + ">" + vbCrLf
Waiting
WSock.SendData "DATA " + vbCrLf
Waiting
'WSock.SendData "DATE:" + Format(Now, "dd mmm yy tttt") + vbCrLf
'WSock.SendData "FROM:" + sFrom
'WSock.SendData "TO:" + sTo
WSock.SendData "SUBJECT:" & sTitle & vbCrLf'Exit Function
WSock.SendData sMsg & vbLf
WSock.SendData "." & vbCrLf
Waiting
WSock.SendData "QUIT"
WSock.Close
SendMail = True
Exit Function
12
SendMail = False
End Function
Sub Waiting()
Dim PauseTime, Start
PauseTime = 30
Start = Timer
Do While Timer < Start + PauseTime And Not Answerf
'Do While Answerf
DoEvents
Loop
Answerf = False
End Sub
Function MyAsc(OneChar)
If OneChar = "" Then MyAsc = 0 Else MyAsc = Asc(OneChar)
End Function
Function B64E(inData)
Const Base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
Dim sOut, cOut, iFor i = 1 To Len(inData) Step 3
Dim nGroup As Long
Dim pOut, sGroupnGroup = &H10000 * Asc(Mid(inData, i, 1)) + &H100 * MyAsc(Mid(inData, i + 1, 1)) + MyAsc(Mid(inData, i + 2, 1))
sGroup = Oct(nGroup)
sGroup = String(8 - Len(sGroup), "0") + sGrouppOut = Mid(Base64, CLng("&o" + Mid(sGroup, 1, 2)) + 1, 1) + Mid(Base64, CLng("&o" + Mid(sGroup, 3, 2)) + 1, 1) + Mid(Base64, CLng("&o" + Mid(sGroup, 5, 2)) + 1, 1) + Mid(Base64, CLng("&o" + Mid(sGroup, 7, 2)) + 1, 1)
'Mid(Base64, CLng("&o" + Mid(sGroup, 7, 2)) + 1, 1)
'
' Mid(Base64, CLng("&o" + Mid(sGroup, 3, 2)), 1)
'
'+ Mid(Base64, CLng("&o" + Mid(sGroup, 7, 2)) + 1, 1) + Mid(Base64, CLng("&o" + Mid(sGroup, 7, 2)) + 1, 1)
sOut = sOut + pOut
If (i + 2) Mod 57 = 0 Then sOut = sOut + vbCrLf
Next i
Select Case Len(inData) Mod 3
Case 1
sOut = Left(sOut, Len(sOut) - 2) + "=="
Case 2
sOut = Left(sOut, Len(sOut) - 1) + "="
End Select
B64E = sOut
End Function
--------------------------------------------------------------------
使用:
放一个Winsock控件,然后:
Wsk.Close
Wsk.RemoteHost = SMTP服务器
Wsk.RemotePort = 25
Dim a As Boolean
a = SendMail(Wsk, 你的邮箱, 对方的邮箱, 标题, 内容)
WSock.SendData "HELO " & "发件人" & vbCrLf
这句删除
邮:[email protected]
WSock.SendData "HELO " & "发件人" & vbCrLf
应该改为
WSock.SendData "EHLO " & sFrom & vbCrLf
上面的代码就可以实现啊!在更正下:
WSock.SendData "HELO " & "发件人" & vbCrLf
应该改为
WSock.SendData "EHLO " & sFrom & vbCrLf?
上面的代码就可以实现啊!在更正下:
WSock.SendData "HELO " & "发件人" & vbCrLf
应该改为
WSock.SendData "HELO " & sFrom & vbCrLf