Что это за окно входа в систему? Использование VBSCRIPT для отправки электронного письма - PullRequest
0 голосов
/ 16 февраля 2012

Изображение -> http://i.stack.imgur.com/bKvVv.jpg

Когда я использую следующий скрипт для подключения к почтовому серверу Exchange для отправки своего электронного сообщения, я получаю приглашение в окне входа в систему с запросом учетных данных домена.Как мне автоматизировать мой скрипт, чтобы я не получил это окно входа в систему.Рабочая станция, отправляющая электронное письмо, не присоединена к домену AD.

Function sendMail(a,b,c)
set objMsg = CreateObject("CDO.Message")
set objConf = CreateObject("CDO.Configuration")

Set objFlds = objConf.Fields
With objFlds
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "email server name"
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = a
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = b
    .Update
End With

strBody = "Script has finished running, 6005 is finished"

With objMsg
    Set .Configuration = objConf
    .To = c
    .From = c
    .Subject = "[AUTO] Script has finished running!"
    .TextBody = strBody
    .Fields.update
    .Send
End With

Функция завершения

sendMail "username","password","my email address"

Спасибо

Джон

1 Ответ

0 голосов
/ 16 февраля 2012

с линией

.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2 

вы запрашиваете проверку подлинности NTLM. Вероятно, это приводит к отображению диалогового окна входа в систему.

Пожалуйста, попробуйте это вместо:

.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 

Это вызывает использование полей sendusername и sendpassword с «базовой аутентификацией». Обратите внимание, что некоторые почтовые серверы настроены на отказ от «базовой аутентификации».

...