Привожу пример решения (2 варианта) вышеприведенной задачи:VB:
Dim HttpReq As New MSXML2.XMLHTTP
Dim xmldoc As New MSXML2.DOMDocument
Call HttpReq.Open("POST", "http://localhost/***/robotmail.asp", True)
rQuery = MyStr
'1 вариант:
[code]
HttpReq.setRequestHeader "Content-Type", "text/xml; Windows-1251"
HttpReq.setRequestHeader "Content-Length", CStr(Len(rQuery))
HttpReq.Send rQuery
'2 вариант:
HttpReq.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
HttpReq.Send "my_value=" & rQuery
[code]
Do While HttpReq.readyState <> 4
bufer_= DoEvents()
Loop
в файле приема данных .asp читаю передачу так:
'для 1 варианта:
[code]
a = Request.BinaryRead(Request.TotalBytes)
For nIndex = 1 to LenB(a)
PostData = PostData & Chr(AscB(MidB(a,nIndex,1)))
Next
'для 2 варианта:
PostData=Request.Form("My_value")
If Len(PostData)>0 Then
sch = "http://schemas.microsoft.com/cdo/configuration/"
set objMsg = CreateObject("CDO.Message")
set objConf = CreateObject("CDO.Configuration")
Set objFlds = objConf.Fields
With objFlds
.Item(sch & "sendusing") = 2
.Item(sch & "smtpserver") = "smtp.yandex.ru"
.Item(sch & "smtpserverport") = 25
.Item(sch & "sendusername") = "aaa"
.Item(sch & "sendpassword") = "***"
.Item(sch & "smtpauthenticate") = 1
.Item(sch & "smtpusessl") = "False"
.Item(sch & "smtpconnectiontimeout") = 60
.Update
End With
With objMsg
Set .Configuration = objConf
.To = "sss2006@yandex.ru"
.From = "админ<aaa@yandex.ru>"
.Subject = "письмецо"
.TextBody = PostData
'.HTMLBody = PostData
.TextBodyPart.Charset = "windows-1251"
'.Addattachment "c:\"
.Fields("urn:schemas:mailheader:disposition-notification-to") = "aaa@yandex.ru"
.Fields("urn:schemas:mailheader:return-receipt-to") = "aaa@yandex.ru"
.DSNOptions = 14
.Fields.update
.Send
flag=1
End With
Set objFlds=Nothing
Set objMsg=Nothing
Set objConf=Nothing
End If
'.....
[code]
Оба варианта благополучно работают.
Теперь самое главное:
Почему письмо приходит в каракулях????
С этого наверное надо было б начать :)