Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Отправка письма с вложенной картинкой, выгруженной из таблицы  [new]
solonafendere
Member

Откуда:
Сообщений: 17
Всем доброго времени суток!
Была у меня задача сделать отправку письма из sql и чтобы в письме были картинки (маленький хедер и футер).
Решил взять вариант с простым
set @nbody_user = '...<img src="cid:line.png" />...'
...
EXEC msdb.dbo.sp_send_dbmail 
	...,
    @file_attachments = 'D:\temp\line.png'


Так как web-страница, которая запускает процедуру, коннектится к базе под локальным sql пользователем, то чтобы брать файл из папки мне этого пользователя пришлось сделать sysadmin...

Сейчас я сокращаю количество sysadmin на сервере и задался вопросом:
Как вставить картинку из БД и отправляемое письмо из SQL и можно ли вообще?

Пока ещё не загружал картинки в БД и не касался этого вообще. Но вот понадобилось.
Заранее спасибо за ответы!
11 янв 19, 15:05    [21782915]     Ответить | Цитировать Сообщить модератору
 Re: Отправка письма с вложенной картинкой, выгруженной из таблицы  [new]
uaggster
Member

Откуда:
Сообщений: 630
solonafendere, а дать права на папку для nt service\mssqlserver, или под чем там у вас стартует инстанс - почему не помогает?
Ну и процедуру with execute as owner (разумеется если у вас владелец базы принадлежит к роли sysadmin)
11 янв 19, 16:28    [21783031]     Ответить | Цитировать Сообщить модератору
 Re: Отправка письма с вложенной картинкой, выгруженной из таблицы  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6551
solonafendere,

почему именно такая постановка задачи - хранить картинки непосредственно в файле базы и отсылать почту непременно с помощью sp_send_dbmail (которая выполняет внешнюю утилиту, кстати сказать)?
11 янв 19, 17:04    [21783086]     Ответить | Цитировать Сообщить модератору
 Re: Отправка письма с вложенной картинкой, выгруженной из таблицы  [new]
solonafendere
Member

Откуда:
Сообщений: 17
uaggster,

ПО коннектится к базе с помощью локального SQL пользователя. Чтобы этот локал юзер мог шариться по папкам сервера, ему нужна роль sysadmin в SQL. Доступ к папке для пользователя, под которым стартует служба, конечно же нужен. Но с локал юзером без роли sysadmin не работает...
14 янв 19, 09:50    [21784497]     Ответить | Цитировать Сообщить модератору
 Re: Отправка письма с вложенной картинкой, выгруженной из таблицы  [new]
solonafendere
Member

Откуда:
Сообщений: 17
Владислав Колосов,

Ну задача - чтобы приходило письмо с картинкой :) ПО у меня на вебе (HTML+PHP+Js). Я могу перевести часть для отправки письма на веб, но интересует этот вариант. Он вообще реален? Нашёл только Импорт+Экспорт картинки с диска на диск.
14 янв 19, 10:20    [21784520]     Ответить | Цитировать Сообщить модератору
 Re: Отправка письма с вложенной картинкой, выгруженной из таблицы  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6551
solonafendere,

скажем так - это скорее административное средство и плохо приспособлено для массовой рассылки почты. Тем более, что вам придется периодически очищать таблицы журналов почты в базе msdb.

Для доступа к файлам можно использовать File Table, но это решение не всегда быстро работает. Для рассылки лучше написать отдельную утилиту.
14 янв 19, 12:19    [21784616]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить