Добрый день!
Сегодня потратил значительное время на решение одной досадной проблемы, связанной с отправкой писем по шаблонам.
От пользователей стали поступать жалобы на то, что письма, отправляемые по шаблонам зависают в папке "Исходящие" и дальше не идут.
В ходе разбирательства выяснилось, что проблема возникает только у пользователей MS Outlook 2007, и вызвана она тем, что шаблон был создан на основании входящего письма. Outlook 2007 определял, что это письмо входящее и отправлять его отказывался.
Для устранения ошибки пришлось создать все проблемные шаблоны заново, а старые удалить.
Если по каким-либо причинам необходимо именно обновить шаблон, а не создать новый (такое может понадобиться если на шаблон ссылаются какие-то записи, либо шаблони используется в скриптах или бизнес-процессах), то придется немного повозиться. Необходимо создать промежуточный шаблон (назовем его, например, "Промежуточный шаблон"), поместить в него нужный текст (можно взять прямо из неправильного шаблона). Затем выполнить такой запрос:
SET Incorrect.Template = Correct.Template
FROM
tbl_MailTemplate Incorrect,
tbl_MailTemplate Correct
WHERE
Incorrect.Name = 'Название шаблона, созданного по входящему письму'
AND Correct.Name = 'Промежуточный шаблон'
Запрос написан для СУБД MS SQL 2000, но портировать его для других, думаю, будет не сложно.
После этого промежуточный шаблон можно удалить.
За помощь в решении проблемы спасибо Андрею Кихтенко.