Как встроить изображение в HTML и отправить HTML в виде электронной почты msdb.dbo.sp_send_dbmail? - PullRequest
4 голосов
/ 19 марта 2009

Я могу использовать msdb.dbo.sp_send_dbmail для отправки электронной почты в формате html. Это очень хорошо для текста только с точки зрения формата. Например:

EXEC msdb.dbo.sp_send_dbmail
  @recipients = @p_recipients,
  @subject = @v_subject,
  @body=@emailHTML, 
  @body_format = 'HTML';

Однако, если я хочу включить изображения, такие как тренд, сгенерированный из данных на моем сервере SQL, и вставить их в html (@emailHTML), какой тег html мне следует использовать?

Если я использую тег [img], мне нужно установить атрибут src. Созданные изображения сохраняются на жестком диске моего локального сервера SQL. Я мог бы разместить их в области веб-страницы IS-сервера. Но все эти веб-серверы доступны внутри сети, но не за пределами моей работы.

Есть ли способ вставить изображение в электронное письмо? Как я могу установить HTML для вставки изображений?

Я использую Microsoft SQL Server 2005. Я предпочитаю msdb.dbo.sp_send_dbmail для отправки отчетов в виде электронной почты. У меня есть большой контроль над форматом HTML. Если это невозможно, возможно, мне придется отправлять изображения в виде файлов вложений.

1 Ответ

13 голосов
/ 19 марта 2009

Мне кажется, я получил ответ:

EXEC msdb.dbo.sp_send_dbmail
   @recipients = 'myemail@someemail.com',
   @subject = 'test',
   @file_attachments = 'C:\MyFolder\Test\Google.gif;C:\MyFolder\Test\Yahoo.gif',
   @body=N'<p>Image Test</p><img src="Google.gif" /><p>See image there?</p>
        <img src="Yaoo.gif" /><p>Yahoo!</p>', 
   @body_format = 'HTML';

В основном, добавьте изображение как вложение, и атрибут src содержит только имя файла изображения, никакой путь не требуется. Если требуется более одного файла изображения, просто используйте «;» отделить их.

Я посылаю письмо на мой почтовый ящик Outlook, и оно работает. Попробуйте это на мою электронную почту Yahoo ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...