powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как отправить письмо через Outlook с картинками
6 сообщений из 6, страница 1 из 1
Как отправить письмо через Outlook с картинками
    #39496031
K-Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Появилась необходимость отправлять из Access 2010 письмо через Outlook в формате HTML с картинками, так, чтобы картинка отображалась в теле письма. Как отправлять письмо с простым текстом и вложениями я знаю, а тут вышел затык.
Подскажите, как это делается?
(В теме Access я этот вопрос уже задал, но ИМХО он не совсем по Access-у)
Заранее премного благодарен.
...
Рейтинг: 0 / 0
Как отправить письмо через Outlook с картинками
    #39496482
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее вопрос по HTML. Забыл, там можно встраивать рисунок непосредственно в текст в каком-то закодированном виде что-то типа base64, названий не помню. Скрее всего размер файла от этого сильно увеличивается.
...
Рейтинг: 0 / 0
Как отправить письмо через Outlook с картинками
    #39496953
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложил пример встраивания внутрь письма картинки, а заодно и подписи по умолчанию (тоже может быть с картинкой).
Скорректируйте только константу PicPathName с полным путем и именем файла-картинки.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
Sub Email_Picture_With_Signature()
' ZVI:2017-07-29 sql.ru

  ' --> Settings, change to suit
  Const PicPathName = "C:\Temp\ThePictire.jpg"  ' Full pathname to the picture
  Const IsDisplay As Boolean = True             ' Change to False to .Send instead of .Display
  Const IsSilent As Boolean = False             ' Change to True to skip confirmation MsgBox
  '<-- End of settings
  
  Dim OutlApp As Object
  Dim Signature As String, Message As String, PicName As String
  Dim IsOutlCreated As Boolean
  
  PicName = Mid(PicPathName, InStrRev(PicPathName, "\") + 1)
  
  ' Use already open Outlook if possible
  On Error Resume Next
  Set OutlApp = GetObject(, "Outlook.Application")
  If Err Then
    Set OutlApp = CreateObject("Outlook.Application")
    IsOutlCreated = True
  End If
  On Error GoTo 0
  
  ' Prepare email with embedded pictire and the default signature
  With OutlApp.CreateItem(0)
    
    .BodyFormat = 2
    
    ' Add the attachment first for correct attachment's name with non English symbols
    .Attachments.Add PicPathName
   
    ' Get default email signature without blinking (instead of .Display method)
    With .GetInspector: End With
    Signature = .HTMLBody
 
    ' Prepare e-mail (uncommenmt and fill the lines below)
    .Subject = "Embedding a Picture"
    .To = "email@is.here"
    .CC = ""
    Message = "Hi," & vbLf & vbLf _
          & "Look at this picture please" & vbLf & vbLf _
          & Chr(60) & "IMG src=cid:" & PicName & Chr(62) & vbLf
    .HTMLBody = Replace(Message, vbLf, Chr(60) & "br" & Chr(62)) & Signature
   
    ' Try to send or just display the e-mail
    On Error Resume Next
    If IsDisplay Then .Display Else .Send
   
    ' Show error of .Send method
    If Not IsDisplay Then
      ' Put focus to the host application window
      Application.Visible = True
      ' Show the sending status
      If Err Then
        MsgBox "E-mail has not been sent for some reasons" & vbLf & "Please check it", vbExclamation
        .Display
      Else
        If Not IsSilent Then
          MsgBox "E-mail has been sent successfully", vbInformation
        End If
      End If
    End If
    On Error GoTo 0
 
  End With
 
  ' Try to quit Outlook if it was not previously open
  If IsOutlCreated Then OutlApp.Quit
 
  ' Try to release the memory of object variable
  Set OutlApp = Nothing
  
End Sub
...
Рейтинг: 0 / 0
Как отправить письмо через Outlook с картинками
    #39497294
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если лениво или разово, то можно онлайн
https://www.base64-image.de/
...
Рейтинг: 0 / 0
Как отправить письмо через Outlook с картинками
    #39497643
K-Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZVI,

Огромное спасибо. Замечательный пример, он открыл мне глаза!
...
Рейтинг: 0 / 0
Как отправить письмо через Outlook с картинками
    #39497758
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K-Nick, рад, что помогло, удачи Вам!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как отправить письмо через Outlook с картинками
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]