Веб программирование

Отправка почты, средствами CDO

 
 

Здравствуйте, дорогие товарищи. Вдохновленный жаркой дискуссией вокруг моей минувшей статьи, я написал новую, и спешу опубликовать ее.

Многие из вас вероятно видели исходники почтовых червей на vbs - для своего распространения свиток создает объект "Outlook.Application" (родила гора мышь, гм., это я отвлекаюсь.) Это не всегда срабатывает, потому, что для того, чтобы создать объект с таким именем требуется установленный Офис(стандартный Оутлук не является OLE приложением). Учить писать почтовые вирусы я Вас не буду, но сама идея отправки почты скриптом очень заманчива, и я хочу поделиться с вами исходником.

Set objMessage = CreateObject("CDO.Message") 
objMessage.Subject = "Заголовок письма"
objMessage.Sender = "от кого"
objMessage.To = "кому"
objMessage.TextBody = "текст сообщения"
objMessage.AddAttachment ="путь к прикрепляемому файлу"  
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 '!!
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 '!!
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.yandex.ru/smtp.gmail.com" 'если у вас почта на яндексе, оставьте smtp.yandex.ru
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587 '!!
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "мейл отправителя"
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "пароль от почты отправителя"
objMessage.Configuration.Fields.Update
objMessage.Send

* Пункты, отмеченные знаком (!!) оставить без изменений.

Вот, в принципе, и все. Срабатывает свиток на всех машинах под виндой.


Есть вопросы? Спроси на нашем форуме!!
iceman [05.05.2013 16:08]

помогите у меня пишет ошибка 438 обьект не поддерживает свойство и метод останавливается на (objMessage.AddAttachment = "D:1.txt") а если без него то на(objMessage.Configuration.Fields.Item(schemas.microsoft.com/cdo/configuration/sendusing") = 2) ошибка 48 в загрузке dll

iceman [05.05.2013 16:10]

до schemas http было я убрал чтобы комент принял сайт

Stertor370 [05.12.2014 18:25]

Уже не работает ((( Яндекс и Mail запретили отправку почты не по защищённому соединению. Скорее всего, другие хосты тоже...



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.