Страница: 1 |
|
Вопрос: Help! Отправка письма через "cdo.message"
|
Добавлено: 09.07.05 16:31
|
|
Автор вопроса: checanos
|
При отправке письма и через "cdo.message"
и через "cdonts.newmail" - письмо не
приходит. В чём может быть проблема???
Код(vbscript):
Dim cdo
Dim sBody, sTotal, sShipping
Set cdo = createobject("CDO.Message")
'часть кода(бла бла)
With cdo
.From = "Заказчик: " & sName & "<noreply@domen.com>"
.To = "name@domen.com"
.Subject = "Заказ покупателя"
.TextBody = "Так... проверка..."
End With
и
Dim cdo
Dim sBody, sTotal, sShipping
Set cdo = server.createobject("cdonts.newmail")
'часть кода(бла бла)
With cdo
.From = "Заказчик:" &sName& "<noreply@domen.com>"
.To = "name@domen.com"
.Subject = "Заказ покупателя"
.Body = sBody
.Send
End With
Set cdo = Nothing
ПОДСКАЖИТЕ ПОЖАЛУЙСТА!!!
Ответить
|
Номер ответа: 2 Автор ответа:
DrugON__
![](images/starRed.gif) ![](images/starRed.gif)
Вопросов: 5 Ответов: 21
|
Профиль | | #2
|
Добавлено: 07.05.09 14:29
|
У меня получилось.
Вот мой код (точнее не мой, нашел где-то и переделал немного. Прошу прощения за каменты на английском, думаю это не проблема):
-
-
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set f = fso.OpenTextFile("c:\Apps\MessText.txt", ForReading)
- MessText = f.ReadAll
- f.Close
- Set f = Nothing
- Set fso = Nothing
-
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set f = fso.OpenTextFile("c:\Apps\DistrList.txt", ForReading)
- DistribList = f.ReadAll
- f.Close
- Set f = Nothing
- Set fso = Nothing
-
-
- AttFile = ("C:\Apps\Temp\Test_attach.txt")
- Set objEmail = WScript.CreateObject("CDO.Message")
-
- objEmail.From = "MyAddress@shell.com"
- objEmail.BCC = "address@mail.com"
- objEmail.Subject = "Field Management Report " & DateSubj
- objEmail.AddAttachment = AttFile
- objEmail.TextBody = MessText
- objEmail.BodyPart.Charset = "windows-1251"
-
-
- objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
- objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "SLMCPF-S-01001"
- objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2
- objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "MyAddress@shell.com"
- objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = ""
-
-
-
- objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
- objEmail.Configuration.Fields.Update
- objEmail.Send
Только я использую Exchange-сервак, не работало пока не поменял значение строки
- objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2
с единицы на двойку. Точно не знаю, но логически понял, что это определение способа аутентификации на SMTP-сервере, у нас она не нужна, при логине в систему происходит аутентификация везде где нужно.
Если будете использовать внешнюю почту, измените на единицу.
Ну и само сообщение я не стал прописывать в коде, а сделал считывание его из текстового файла. То же и со списком рассылки - он очень большой (человек 50), поэтому в коде его прописывать - изврат, имхо.
Порт тоже можно не указывать, по дефолту устанавливается 25.
Ответить
|
Страница: 1 |
Поиск по форуму