Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - ASP и VBScript

Страница: 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
ПОДСКАЖИТЕ ПОЖАЛУЙСТА!!!

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 DrugON__



Вопросов: 5
Ответов: 21
 Профиль | | #1 Добавлено: 29.04.09 15:41
а файл-аттачмент можно как-то кодом прописать?

Ответить

Номер ответа: 2
Автор ответа:
 DrugON__



Вопросов: 5
Ответов: 21
 Профиль | | #2 Добавлено: 07.05.09 14:29
У меня получилось.
Вот мой код (точнее не мой, нашел где-то и переделал немного. Прошу прощения за каменты на английском, думаю это не проблема):

  1.  
  2. '____________________________________________________________________________________
  3. 'Read the text of message and signature from txt-file "MessText.txt"
  4.  
  5. Set fso = CreateObject("Scripting.FileSystemObject")
  6. 'Open the file for reading
  7. Set f = fso.OpenTextFile("c:\Apps\MessText.txt", ForReading)
  8. 'The ReadAll method reads the entire file into the variable BodyText
  9. MessText = f.ReadAll
  10. 'Close the file
  11. f.Close
  12. Set f = Nothing
  13. Set fso = Nothing
  14. '____________________________________________________________________________________
  15.  
  16. 'Read the recipients of Distribution List from txt-file:
  17. Set fso = CreateObject("Scripting.FileSystemObject")
  18. Set f = fso.OpenTextFile("c:\Apps\DistrList.txt", ForReading)
  19. DistribList = f.ReadAll
  20. f.Close
  21. Set f = Nothing
  22. Set fso = Nothing
  23. '____________________________________________________________________________________
  24.  
  25.  
  26. AttFile = ("C:\Apps\Temp\Test_attach.txt")          'Path to file-attachment
  27. Set objEmail = WScript.CreateObject("CDO.Message")  'Create CDO-object and get link on it into objEmail (var)
  28.  
  29. ''''''''''''''''''''''''''''''''''''''''''''''''''''
  30. ' Required parameters of CDO-object
  31. ''''''''''''''''''''''''''''''''''''''''''''''''''''
  32. objEmail.From = "MyAddress@shell.com"                         'Sender (mine) address
  33. 'objEmail.To = DistribList                                    'Address of recipient or distribution list
  34. objEmail.BCC = "address@mail.com"                             'Hide copy recipient address
  35. objEmail.Subject = "Field Management Report " & DateSubj      'Subject of message
  36. objEmail.AddAttachment = AttFile                              'Attachment
  37. objEmail.TextBody = MessText                                  'Message Text
  38. objEmail.BodyPart.Charset = "windows-1251"                    'Cyrillic encoding
  39.  
  40.  
  41. 'Sending message using SMTP-service (1 - using of local SMTP-service)
  42. objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
  43. 'Name of SMTP-server
  44. objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "SLMCPF-S-01001"
  45. objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2
  46. objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "MyAddress@shell.com"
  47. objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = ""
  48.  
  49.  
  50.  
  51. objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25  'Port of SMTP-server
  52. objEmail.Configuration.Fields.Update           'Update configuration of CDO-object
  53. objEmail.Send    'Sending of message by using Send-method



Только я использую Exchange-сервак, не работало пока не поменял значение строки

  1. objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2
с единицы на двойку. Точно не знаю, но логически понял, что это определение способа аутентификации на SMTP-сервере, у нас она не нужна, при логине в систему происходит аутентификация везде где нужно.
Если будете использовать внешнюю почту, измените на единицу.
Ну и само сообщение я не стал прописывать в коде, а сделал считывание его из текстового файла. То же и со списком рассылки - он очень большой (человек 50), поэтому в коде его прописывать - изврат, имхо.
Порт тоже можно не указывать, по дефолту устанавливается 25.

Ответить

Номер ответа: 3
Автор ответа:
 DrugON__



Вопросов: 5
Ответов: 21
 Профиль | | #3 Добавлено: 07.05.09 14:31
Ну и переменные не забудьте объявить, не стал писать, у меня там до этого еще кое-какие хитрожопости производятся, здесь их указывать смысла нет.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам