Вопрос

У меня есть веб-приложение, разработанное с использованием ASP.net и C #, которое работает во внутренней сети моей компании.Поскольку все пользователи этого приложения без исключения используют Microsoft Outlook, я бы хотел, чтобы приложение открывало сообщение Outlook на стороне клиента. Я понимаю, что Office предназначен для запуска на рабочем столе, а не с сервера, однако у меня не возникает проблем с созданием документа Word или Excel на стороне клиента.

У меня есть код, который создает экземпляр объекта Outlook с помощью Microsoft.Офис.Взаимодействие.Пространство имен Outlook и Outlook, установленный на сервере.Когда я пытаюсь запустить код с сервера, я получаю сообщение об ошибке источника DCOM, в котором говорится: "Настройки разрешений по умолчанию для компьютера не предоставляют разрешение на локальную активацию для приложения COM-сервера с CLSID {000C101C-0000-0000- C000-000000000046} для пользователя это разрешение безопасности может быть изменено с помощью средства администрирования служб компонентов ". Я изменил разрешения с помощью инструмента Component Services, но все равно получаю ту же ошибку.

Есть ли способ преодолеть это или это бесплодное упражнение, потому что Outlook не может быть открыт на стороне клиента из серверного кода?

Mailto не будет работать из-за чрезмерной длины электронных писем.Кроме того, пользователю, который отправляет его, необходимо добавить в текст привлекательность для получателей.

Это было полезно?

Решение

Вы не можете открыть что-либо на клиенте из кода на стороне сервера.Вам придется использовать script на странице, чтобы делать то, что вы хотите (или что-то еще на стороне клиента, например ActiveX или embedded .NET или что-то еще)

Вот пример Javascript, который вызывает почтовый элемент Outlook с веб-страницы.Это может быть легко введено на страницу из вашего серверного кода, чтобы оно выполнялось на клиенте.

http://www.codeproject.com/KB/aspnet/EmailUsingJavascript.aspx

Другие советы

(подсказка:форматирование в вашем вопросе)

Я не понимаю, что не так со ссылкой mailto или страницей типа formmail.

Если все в компании используют Outlook, то просто используя стандартную ссылку "mailto", вы всегда должны открывать Outlook.Похоже, ты переоцениваешь это.

Вы хотите открыть существующее электронное письмо или создать новое?

Возможно, я неправильно понял ваш вопрос, но вы можете предоставить ссылку типа

mailto:recipient@email.tld?subject=This%20is%20the%20subject&body=Hello%20there !

Когда пользователь нажимает на эту ссылку, открывается новое электронное письмо Outlook, получателем которого является tld recipient@email, тема сообщения - "Это тема", а текст сообщения - "Здравствуйте!".Все эти поля уже заполнены по ссылке.

Я просто выложу это там, потому что об этом уже спрашивали.

Mailto имеет массу недостатков;в основном размер.Поскольку отправителю необходимо выполнить большое форматирование текста электронного письма, сгенерированный html-код может занимать много места, что приводит к сбою при использовании mailto.

однако спасибо за предложение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top