Имя: Пароль:
1C
1С v8
Отправка почты через OUTLOOK с сервера 1с
0 nii
 
04.12.13
14:20
Добрый день.
Подскажите:
пытаюсь отправить почту с сервера приложения 1с, т.е. в серверном контексте. Использую Новый COMОбъект("Outlook.Application").

Ошибка возникает на строчке "Письмо.Recipients.Add("[email protected]")";
Отладчик говорит: "Письмо.Recipients = Ошибка при получении значения атрибута контекста (Recipients )", т.е. поле не доступно для чтения / записи.

В клиентском контексте данное поле доступно, письма отправляются. В чем здесь может быть косяк?

Для чего нужно:
1. ИнтернетПочта не подходит, так как у клиентов внутри сети шифрование
2. Отправлять нужно именно с сервера, от служебного аккаунта.. Вариант отправлять с компьютера пользователя пож его аккаунтом не подходит.
1 dk
 
04.12.13
14:30
а OUTLOOK на сервере настроен для виндового пользователя под которым сервер 1с крутится?
2 shuhard
 
04.12.13
14:34
(1) +1
и 64-х ли он ?
3 nii
 
04.12.13
14:38
(2) сервер 64 битный, Outlook 2007 32 битный, каталог C:\Windows\SysWOW64\config\systemprofile\Desktop есть.

"Новый COMОбъект("Excel.Application")", например, работает.
4 nii
 
04.12.13
14:39
(1) да, захожу на сервер через удаленный доступ под юзером USR1cV82 все то же самое. При этом если руками запустить OUTLOOK то все работает.
5 nii
 
04.12.13
14:40
такое ощущение что outlook тупо не работает в серверном контексте. кроме атрибута "Recipients" еще множество других атрибутов также недоступно.
6 shuhard
 
04.12.13
14:47
(5) не верю
7 nii
 
04.12.13
14:52
(6) инфы по этому поводу нигде не нашел.
Ссылки в инете про 1с + OUTLOOK только про вариант "с клиентом".

Да, кстати, если в серверном контексте не задавать список адресатов, письмо не отправлять, а тупо сохранять (метод SAVE), то оно сохраняется, потом можно зайти в OUTLOOK и увидеть его в папке "Черновики" (без адресата)
8 dk
 
04.12.13
14:53
запусти на сервере 1с залогиненым под USR1cV82
ну и visible вруби для Новый COMОбъект("Excel.Application")
9 dk
 
04.12.13
14:55
кстатиииии
там же появляется дурное окно, типа "программа OUTLOOK пытается отправить от вашего имени письмо ..." и как ты это собираешься на сервере гасить?
10 nii
 
04.12.13
14:55
Кусок кода:

&НаСервере
Процедура ВыполнитьНаСервере()

Outlook        = Новый COMОбъект("Outlook.Application");
Письмо         = Outlook.CreateItem(0);
Письмо.Subject = "Тема письма";
Письмо.Body    = "Текст письма";

Письмо.Recipients.Add("[email protected]"); //ЗДЕСЬ ОШИБКА!
Письмо.Send();

КонецПроцедуры
11 dk
 
04.12.13
14:56
(8) +
Excel.Application = Outlook.Application
12 nii
 
04.12.13
14:58
(8) запускал под юзером USR1cV82. ничего не поменялось. Запускал на другом сервере где запуск сервера под системной учетной записью. Ситуация аналогична.
(9) гасим с помощью проги Advanced Security for Outlook 2.00
для клиентского соединения отрабатывает. Для Серверного пока не понятно, возможно нет, т.к. в списке действий только "C:\Program Files (x86)\1cv82\8.2.14.540\bin\1CV8C.exe 8.2.14.540";
13 nii
 
04.12.13
14:59
(11) попробую сейчас..
14 nii
 
04.12.13
15:40
(11) А нет у OUTLOOK атрибута visible. По крайней мере у меня
15 nii
 
05.12.13
09:30
Подниму темку, может есть у кого еще идеи?