Домашняя страничка Стефурак П.Б. Промзона. MS Project Mail relay Решение для различной обработки email сообщений, создаваемых MicroSoft Project Server 2002/2003.
 
     Домашняя Промзона Спальный район  

Промзона \ MS Project Mail relay
Решение для различной обработки email сообщений, создаваемых MicroSoft Project Server 2002/2003.

 
Зачем вообще нужна такая программа?
MicroSoft Project Server 2002/2003 умеет отправлять уведомления о различных событиях (таких как назначения, изменения, уведомления и т.д.) в виде сообщений email по адресам указанным в атрибутах ресурсов или учетных записей Project Server.
Но Project Server умеет отправлять почту только по SMTP :(

Использовать SMTP сервера даже внутри сети при поднятом и отлично работающем Exchenge server - это нонсенс!
По сему была предпринята попытка подружить Project Server и корпоративную почту на Exchenge Server'е.
+ к тому, при использовании eng версий Project и Project Server возникает проблема в том, что сообщения, генерируемые Project Server идут на английском языке.

Это конечно не большая проблема, но пользователи желают получать сообщения на русском языке. Кроме того, может понадобиться еще какая либо обработка сообщений, например текст "Microsoft Project Server" в конце сообщения можно заменить на "Это сообщение создано программой, пожалуйста, не отвечайте на него." и т.д.
Какие то строки лучше удалить, чтобы не перегружать смыслом сообщение.


Технология
Можно было бы обращаться напрямую к базе Project Server'а, но это будет несколько сложнее и более громоздко по сему был выбран другой путь:
Пусть Project Server скидывает свою почту на SMTP сервер, раз по-другому не умеет. :(
В качестве такого промежуточного SMTP сервера будем использовать SMTP сервер, входящий в состав IIS - он идеально подходит для этого:
  • он уже есть и может работать на том же IIS, на котором крутится Project Server
  • принятую почту складывает в папку в виде файлов .eml
  • прост в настройке и надежен в работе.
    Настраиваем на работу SMTP сервер (лучше всего, на том же сервере, на котором работает web узел Project Server'а):
  • прежде всего, его нужно установить, но на этом останавливается не будем
  • Свойства- доступ - проверка подлинности - анонимный доступ разрешен
  • Свойства- доступ - подключения - указать только нужные для работы и тестирования IP

  • все остальные настройки можно оставить по умолчанию

    Настройка Project Server:
  • Зайдите на страницу "Администрирование" Project Server web access
  • Настройка Microsoft Project Web Access - Уведомления и напоминания
  • Укажите в качестве SMTP сервера созданный выше сервер
  • Адрес отправителя и адрес почты организации: данные учетной записи, с которой будет работать SMTP сервер. (если компьютер называется project, домен организации domain.ru, mail - учетная запись на компьютере project: то это будет mail@project.domain.ru)

    Дальше нужно настроить emailы учетных записей и ресурсов Project Server (Администрирование - управление пользователями и группами - изменить пользователя):
    адрес email будет представлять из себя следующее сочетание - "user_name"@project.domain.ru
    ,где user_name - имя пользователя из домена организации, project.domain.ru - фиктивный суффикс, чтобы SMTP сервер принял сообщение:
    если компьютер называется project, домен организации domain.ru.

    Теперь почта отправляемая Project Server будет валится в каталог "C:\Inetpub\mailroot\Drop\" в виде .eml файлов!

    Дальше настраиваем программу:
    Настройки программы - в ini файле.
    Ключ Значение
    correct_scheduled_time=1 если 1 - будет корректироваться показатель: "Настройка расписания для службы напоминаний по электронной почте Служба напоминаний по электронной почте ежедневно в заданное время просматривает базу данных сервера Project Server и отправляет пользователям сообщения электронной почты с напоминаниями о предстоящих или просроченных задачах и отчетах о состоянии."
    Значение "Запуск службы напоминаний по электронной почте ежедневно в" устанавливается на ближайшее время следующим образом:
    Если текущее время в мин меньше 30 - то на "текущий час":30 мин, если больше 30 мин - "текущий час+1":00 мин
    ConnectionString=Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ProjectServer;Data Source=project строка для подключения к БД, см предыдущий ключ
    showmainform=1 если 1 - окно программы будет показано, если 0 - то нет
    Smtp_DropMail_path=с:\Inetpub\mailroot\Drop\ путь, куда smtp сервер складывает принятые сообщения
    MAPIProfile=Outlook профиль, при помощи которого будет осуществляться отправка сообщений - если не указан используется значение по умолчанию из реестра
    Password пароль, если нужен, см предыдущий ключ
    domain_name=domain.ru что будет дописываться после @ при отправке письма лучше всего написать то что написано в свойствах Exchange
    send_copy_to=mail@domain.ru если заполнено, копии будут отсылаться на указанный адрес (например для отладки)
    send_mail=1 ключ для отладки, указывает отсылать ли обработанные сообщения если 0 - сообщение полностью обрабатывается, но никуда не отсылается
    Delete_or_move=0 Удалять обработанные сообщения или перемещать в определенную папку 1-удалять 0-перемещать
    moveto_path=c:\temp\ Если перемещать, то куда см. пред ключ Папка автоматически не создается!!!!
    Max_log_length=2000 максимальное количество строк в log файле
    Секция [Strings2change] Если встретятся такие строки в теме или тексте письма, то они будут заменены соответствующими строками из секции [equivalentStrings]
    Секция [equivalentStrings] см. предыдущую секцию если строка пуста, значит найденная строка просто удаляется

    Для того чтобы программа обрабатывала файлы, она должна периодически запускаться, проще всего это настроить при помощи "службы назначенных заданий" (Пуск - настройка - панель управления - назначенные задания).

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

    Например, многофункциональное устройство Kyocera 2050 умеет пересылать полученные со сканера изображения (в форматах tif или pdf) на адреса email, указанные в адресной книге.
    Но это устройство использует только протокол SMTP для доставки почты. При помощи данной программы удалось интегрировать это устройство в общую почтовую систему организации, для чего программа была модернизирована - теперь пересылается и вложенный в сообщение файл.

    Delphi 5, MAPI, использует специальные процедуры ShellApi.
    Тестирование проводилось под WIN2K/WIN2Ksrv/WIN2003srv. SMTP из комплекта IIS5/6. Project server 2002/2003

    Скачать...(размер 500 кб)
     
  •