powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вывод данных из аксесса в тело письма в формате HTML
25 сообщений из 62, страница 1 из 3
Вывод данных из аксесса в тело письма в формате HTML
    #39808855
wladimirrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Помогите решить задачу. Надо из аксесс рассылать емейлы в формате HTML.
Например такой шаблон письма:
<h2>Напоминание.</h2>

<p>Уважаемый <strong>ИМЯ</strong>!</p>

<p>У Вас есть задолженность перед банком в сумме <span style="color:#16a085"><strong>СУММА</strong></span> рублей!</p>

<p>Просим погасить её до <strong>ДАТА</strong>.</p>
Вместо ИМЯ, СУММА, ДАТА мне надо вставить данные из соответствующих полей формы. Как их туда приклеить?
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809133
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrr, через OutLook попробуйте
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809153
Что именно вам подсказать? Как "вставить данные" или как отправить?
Для замены ключевых слов на данные используйте функцию Replace, например:
s = Текст шаблона
s = Replace(s, "ИМЯ", Me![ИМЯ]
s = Replace(s, "СУММА", Format(Me![СУММА], "# ##0.00")
...

Отправлять лучше через CDO, вставляя текст в реквизит HTMLBody.
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809337
wladimirrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кривцов АнатолийЧто именно вам подсказать? Как "вставить данные" или как отправить?
Для замены ключевых слов на данные используйте функцию Replace, например:
s = Текст шаблона
s = Replace(s, "ИМЯ", Me![ИМЯ]
s = Replace(s, "СУММА", Format(Me![СУММА], "# ##0.00")
...

Отправлять лучше через CDO, вставляя текст в реквизит HTMLBody.
Подсказать надо как "вставить данные".
Отправляю я через CDO, код следующий (нашел на форуме):
Код: sql
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.
Function SendEmail4()
Dim msg As Object
Dim config As String
Set msg = CreateObject("CDO.Message")
config = "http://schemas.microsoft.com/cdo/configuration/"
With msg
.To = Forms!Info!Email
.From = "******@mail.ru"
.Subject = Forms!Info!Tema
.HTMLBody = Forms!Info!Info
With .Configuration.Fields
.Item(config & "sendusing") = 2
.Item(config & "smtpserver") = "smtp.mail.ru"
.Item(config & "smtpauthenticate") = 1
.Item(config & "smtpserverport") = 465
.Item(config & "sendusername") = "******@mail.ru"
.Item(config & "sendpassword") = "******"
.Item(config & "smtpusessl") = True
.Item(config & "smtpconnectiontimeout") = 60
.Update
End With
.send
End With
Set msg = Nothing
End Function


В поле Info я формирую текст в формате HTML (см. первый пост). Как мне в этот текст вставить значения полей ИМЯ, СУММА и ДАТА?
С функцией Replace не работал пока, если можно напишите подробнее, лучше с примером. Спасибо.
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809340
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrrВ поле Info я формирую текст в формате HTML (см. первый пост).
В первом посте ничего конкретного не указано.
Если я правильно понял , то что Вы хотите , >>>>
wladimirrrВместо ИМЯ, СУММА, ДАТА мне надо вставить данные из соответствующих полей формы. Как их туда приклеить? >>>> , то значения ИМЯ, СУММА, ДАТА Вы передаете как аргументы в функцию , а HTML код формируете здесь же в функции , и вместо значений вставляете переменные переданные как параметры в функцию.
Как то так наверное . :)

P.S
В скрипте PHP это выглядит примерно так .
Код: 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.
                        $order_details=Orderdetail::where('order_id',$order_id)->get();	
			
			// Send Orders Email
			
			$to= $customer->email;
			$subject= "Uzsakymas Nr. :" . $order->order_number ;
				
			$headers="Mime-Version: 1.0\r\nContent-Type: text/html; 
			charset=utf-8\r\nFrom: email@email";
	 	
			$message= "Uzsakymas Nr. : " . $order->order_number . "<br>";
			$message .=  "Vardas : " . $customer->first_name . "<br>";
			$message .=   "Pavarde : " . $customer->last_name . "<br>";
			$message .=  "El.pastas : " . $customer->email . "<br>";
			$message .=   "Mob.telefonas: " . $customer->mob_phone . "<br>";
			$message .=   "Adresas : " . $customer->address .  " , " .
			$customer->city_id . " , " . $customer->post_code . "<br>" ;
	 	                             
			$message .="<table <table border=1px cellspacing=1 width=800px>";	
			$message .=   "<tr>" ;
			$message .=    "<th>Prekiu pavadinimas</th>";
			$message .=    "<th>Kiekis</th>";
			$message .=    "<th>Kaina</th>";
			$message .=    "<th>Is viso</th>";
				
			foreach($order_details as $value){
				$message .=  "<tr>";
				$message .= 	"<td>" . $value->product_name . "</td>";
				$message .= 	"<td align=center>" . $value->quantity . "</td>";
				$message .= 	"<td align=right>" . $value->price . "</td>";
				$message .= 	"<td align=right>" .  $value->quantity*$value->price . "</td>";
				$message .=  "</tr>";
			}
			$message .= "</table>";

			$message .= "<table width=800px>";
			$message .=  "<tr>";
			$message .= "<td align=right style=\"font-weight:bolder\"> Is viso : " 
			. $order->total . " &euro;  </td>";
			$message .=  "</tr>";
			$message .=  "<tr>";
			$message .= "<td align=right style=\"font-weight:bolder\">PVM ( 21% ) : " 
			. $order->tax_amount . " &euro; </td>";
			$message .=  "</tr>";
			$message .=  "<tr>";
			$message .= "<td align=right style=\"font-weight:bolder\">Kelioniu islaidos : "
			. $order->shipping_amount . " &euro;</td>";
			$message .=  "</tr>";
			$message .=  "<tr>";
			$message .= "<td align=right><span style=\"font-weight:bolder\">Is viso moketi : "
			. ($order->total_amount + $order->shipping_amount)  . " &euro;</span></td>";
			$message .=  "</tr>";
			$message .= "</table>";
				      
			mail($to,$subject,$message,$headers);
	 	        
			//$to='email@email';
			$to='email@email';		  
			mail($to,$subject,$message,$headers);			
			
			//End Send Email 

...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809341
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrr, Под понятием функция подразумевается Function SendEmail4() , надеюсь Вы догадались . :))
P.S
В приведенном примере в коде HTML используется таблица , я выложил навсякий случай , может Вам подойдет.
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809355
wladimirrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMan, я предполагал, что HTML код формируется не в функции, а в поле Info, как шаблон. А значения ИМЯ, СУММА и ДАТА можно передать как аргументы в этот код HTML (в шаблон). Не обладая глубокими познаниями в программировании, я могу ошибаться.
Если это невозможно, то как можно решить эту задачу? Прикладываю пример бд.
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809395
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrrDarkMan, я предполагал, что HTML код формируется не в функции, а в поле Info, как шаблон. А значения ИМЯ, СУММА и ДАТА можно передать как аргументы в этот код HTML (в шаблон). Не обладая глубокими познаниями в программировании, я могу ошибаться.
Если это невозможно, то как можно решить эту задачу?
В Acces возможно Все , ну или почти все !
Посмотрел Вашу базу . Мое мнение .
1. Вы что ? На каждого пользователя в таблице инфо собираетесь хранить шаблон? 1 000 000 пользователей , и
1 000 000 шаблонов? Т.е дублирование данных ?
2. Как Вы собираетесь этот шаблон засунуть в VBA , в коде HTML есть открывающие и закрывающие теги , а также косая черта и так далее.
Если Вы в таком виде передадите его в VBA , то скорее всего Вы получите ошибку.
3. Вам нужно отредактировать шаблон , чтобы в письме было все красиво , для этого в HTML есть стили CSS .
В приведенном моем примере я Вам написал , что используется таблица , а в ней применены некоторые стили.
Посмотрите внимательно пример . Вы каждый раз в поле формы собираетесь редактировать шаблон????
4. Мое мнение . В Вашу фукцию в качестве аргументов из поля формы Вы передаете только необходимые
данные , ну или ID клиента ,
а в функции используя эти данные или ID Вы делаете запрос к базе данных и вытягиваете вси информацию по клиенту ,
как в моем примере по ID заказа я получаю информацию о заказе. И здесь же в функции я формирую текст
письма в формате HTML и вставляю туда необходимые данные .
5.Это мое мнение , может у кого то есть другое , пусть они Вам подскажут.
6.Удачи в нашем не леХком труде .
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809587
wladimirrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkManwladimirrrDarkMan, я предполагал, что HTML код формируется не в функции, а в поле Info, как шаблон. А значения ИМЯ, СУММА и ДАТА можно передать как аргументы в этот код HTML (в шаблон). Не обладая глубокими познаниями в программировании, я могу ошибаться.
Если это невозможно, то как можно решить эту задачу?
В Acces возможно Все , ну или почти все !
Посмотрел Вашу базу . Мое мнение .
1. Вы что ? На каждого пользователя в таблице инфо собираетесь хранить шаблон? 1 000 000 пользователей , и
1 000 000 шаблонов? Т.е дублирование данных ?
Эта база условная для выработки решения. Реальная баз другая.
2. Как Вы собираетесь этот шаблон засунуть в VBA , в коде HTML есть открывающие и закрывающие теги , а также косая черта и так далее.
Я именно это и хочу узнать, можно так или нет. Если нельзя, то как лучше сделать.
Если Вы в таком виде передадите его в VBA , то скорее всего Вы получите ошибку.
3. Вам нужно отредактировать шаблон , чтобы в письме было все красиво , для этого в HTML есть стили CSS .
В приведенном моем примере я Вам написал , что используется таблица , а в ней применены некоторые стили.
Посмотрите внимательно пример . Вы каждый раз в поле формы собираетесь редактировать шаблон????
Нет, шаблон должен быть один и тот же. В него нужно подставлять данные из таблицы (формы).
4. Мое мнение . В Вашу фукцию в качестве аргументов из поля формы Вы передаете только необходимые
данные , ну или ID клиента ,
а в функции используя эти данные или ID Вы делаете запрос к базе данных и вытягиваете вси информацию по клиенту ,
как в моем примере по ID заказа я получаю информацию о заказе. И здесь же в функции я формирую текст
письма в формате HTML и вставляю туда необходимые данные .
Для меня это сложно, могли бы Вы сделать это на моем примере?
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809685
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrrДля меня это сложно, могли бы Вы сделать это на моем примере?
Я уже вроде как все подробно описал выше . Вам только стоит определиться что для Вас удобнее , или передавать все параметры в функцию , или передать только ID клиента , а запрос к базе данных и получение всех данных пользователя делать уже непосредственно в этой функции , или создать отдельную функцию , а в этой вызывать.
Сделать полностью на Вашем примере я не могу , так как уже почти 3 года не работаю в VBA и немного подзабыл синтаксис. Я Вам выкладывал пример в PHP , Вы можете на основе его подогнать под себя . Я могу примерно подредактировать Вашу функцию , но за синтаксис я ответственности не несу . Там будет только логика. :))
Код: 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.
 Function SendEmail4(client_ID as integer)

 Dim db As Database
 Set db = CurrentDb()
 Dim Rs As DAO.Recordset
 Dim strSQL as string 
 Dim MsgHtml as string
 Dim Name as  string

 strSQL="Select * Ftom tablica Where ID=" & client_ID

 Set Rs = db.OpenRecordset(strSQL)

 Name=Rs("Поле таблицы имя") 'присваиваем значение переменной из поля таблицы

 MsgHtml ="Здесь Вы вставляете код HTML , и  вставляете данные из Recordset которые получите из таблицы "

Dim msg As Object
Dim config As String
Set msg = CreateObject("CDO.Message")
config = "http://schemas.microsoft.com/cdo/configuration/"
With msg
.To = Forms!Info!Email
.From = "******@mail.ru"
.Subject = Forms!Info!Tema
.HTMLBody = MsgHtml 
With .Configuration.Fields
.Item(config & "sendusing") = 2
.Item(config & "smtpserver") = "smtp.mail.ru"
.Item(config & "smtpauthenticate") = 1
.Item(config & "smtpserverport") = 465
.Item(config & "sendusername") = "******@mail.ru"
.Item(config & "sendpassword") = "******"
.Item(config & "smtpusessl") = True
.Item(config & "smtpconnectiontimeout") = 60
.Update
End With
.send
End With

Set Rs =  Nothing
Set msg = Nothing

End Function



Логика будет примерно такая . При нажатии кнопки в форме вызываете эту функцию в качестве параметра передаете в функцию ID клиента . В функции Вы делаете запрос к базе данных для получение данных из таблицы для этого клиента . Открываете RecordSet . Теперь в коде HTML Вы можете вставлять необходимые Вам данные из таблицы , такие поля как Имя,Фамилия сумма долга и т.д. Данные из RecordSet можно присваивать переменным,пример переменная Name, или вставлять переменную Rs("Поле таблицы") непосредственно в код HTML .
Ну и естесственно Вам нужно разобраться с синтаксисом . Здесь я не помощник . Пример из PHP я Вам привел Выше , в нем переменные со знаком $ . На основе того примера можете сделать свой . Если Вы один раз сделаете шаблон - функцию рабочего примера . То потом не будет никаких проблем . В функцию передаете ID клиента и отсылаете ему сообщение . Пробуйте дерзайте , с синтаксисом акцессники Вам помогут . Они добрые.
Удачи.
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809704
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrrДля меня это сложно, могли бы Вы сделать это на моем примере?
Ну вот вкратце накидал Вам пример в Вашей базе данных . E-mail на моем компе не отправляется т.к там нужно делать настройки , а мне конечно лень . Я как всегда набросал Вам логику . Надеюсь дальше разберетесь .
1.Поубирайте нафинг поля подстановок из таблиц и навсегда их забудьте.
2.Поубирайте нафинг из базы данных названия контролов и полей базы данных кирилицей и навсегда их забудьте.
P.S
Прикладываю пример Вашей базы , нажмите в форме на кнопку , и полычите MsgBox
Ну начало Вам есть . А далее уж сударь дерзайте сами.
Вот Ваш код

Код: 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.
 Private Sub Command18_Click()
   Call SendEmail4(Me.IDinfo)
 End Sub

 Function SendEmail4(client_ID As Integer)

 Dim db As DAO.Database
 Set db = CurrentDb()
 Dim Rs As DAO.Recordset
 Dim strSQL As String
 Dim MsgHtml As String
 
 'strSQL = "Select * From Info Where IDinfo=" & client_ID
 strSQL = "SELECT Info.IDinfo, Info.IDcontact, Contact.Имя, Contact.Email, Info.Tema, Info.Info, Info.Сумма, Info.Дата " _
       & "FROM Contact INNER JOIN Info ON Contact.IDcontact = Info.IDcontact " _
       & "Where Info.IDinfo=" & client_ID

 Set Rs = db.OpenRecordset(strSQL)
 
 MsgHtml = "<p> Уважаемый <strong> " & Rs("Имя") & "</strong>!</p>"
 MsgHtml = MsgHtml & "У Вас есть задолженность перед банком в сумме - " & Rs("Сумма") & " рублей"
 
 MsgBox (MsgHtml)

Dim msg As Object
Dim config As String

Set msg = CreateObject("CDO.Message")
config = "http://schemas.microsoft.com/cdo/configuration/"

With msg
.To = Forms!Info!Email
.FROM = "******@mail.ru"
.Subject = Forms!Info!Tema
.HTMLBody = Forms!Info!Info
With .Configuration.Fields
.Item(config & "sendusing") = 2
.Item(config & "smtpserver") = "smtp.mail.ru"
.Item(config & "smtpauthenticate") = 1
.Item(config & "smtpserverport") = 465
.Item(config & "sendusername") = "******@mail.ru"
.Item(config & "sendpassword") = "******"
.Item(config & "smtpusessl") = True
.Item(config & "smtpconnectiontimeout") = 60
.Update
End With

.send
End With

Set Rs = Nothing
Set msg = Nothing
End Function


...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809723
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrr, Немного подправил базу . Проверил , код рабочий . С моего компа сообщения отправляются . Добавил в Ваш модуль кодировку UTF-8 , так как в первом варианте вместо кирилицы отправлялись ???????? . Установите правильно настройки сервера и работайте. Вот скрин с моего компа .
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809724
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrr, А вот база
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809775
wladimirrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMan, огромное спасибо! Все работает хорошо. У меня даже без кодировки все отправлялось. Буду тестировать дальше. Еще раз Большое Спасибо!
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809777
wladimirrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMan, а если в письмо надо вставить еще рисунок (логотип), как его присоединить?
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809779
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrrDarkMan, огромное спасибо! Все работает хорошо. У меня даже без кодировки все отправлялось. Буду тестировать дальше. Еще раз Большое Спасибо! Это до поры до времени , кодировку лучше таки использовать.
wladimirrrDarkMan, а если в письмо надо вставить еще рисунок (логотип), как его присоединить?
Я сечас не за компом . Попробуйте вставить в коде HTML <img src="здесь прописываете путь к файлу"/> .
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809821
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrrDarkMan, а если в письмо надо вставить еще рисунок (логотип), как его присоединить?
Вставить изображение в код HTML на скорую руку не получилось. Немного добавил кода в процедуру .
Файл можно приатачить. Вот код
Код: 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.
Function SendEmail4(client_ID As Integer)

 Dim db As DAO.Database
 Set db = CurrentDb()
 Dim Rs As DAO.Recordset
 Dim strSQL As String
 Dim MsgHtml As String
 
 'strSQL = "Select * From Info Where IDinfo=" & client_ID
 strSQL = "SELECT Info.IDinfo, Info.IDcontact, Contact.Имя, Contact.Email, Info.Tema, Info.Info, Info.Сумма, Info.Дата " _
       & "FROM Contact INNER JOIN Info ON Contact.IDcontact = Info.IDcontact " _
       & "Where Info.IDinfo=" & client_ID

 Set Rs = db.OpenRecordset(strSQL)
 
 MsgHtml = "<p> Уважаемый <strong> " & Rs("Имя") & "</strong>!</p>"
 MsgHtml = MsgHtml & "У Вас есть задолженность перед банком в сумме - " & Rs("Сумма") & " рублей "
 MsgHtml = MsgHtml & "<p> Об оплате , просьба сoобщить на e-mail - " & Rs("Email") & " не позднее " & Rs("Дата") & "  </p>"

Dim msg As Object
Dim config As String

Set msg = CreateObject("CDO.Message")
config = "http://schemas.microsoft.com/cdo/configuration/"

With msg
.To = "********@mail.ru"
.FROM = "********@mail.ru"
.Subject = Rs("Tema")
.AddAttachment ("C:\Users\UserName\Documents\image\logo.png") 'Здесь прописываем путь к файлу
.HTMLBody = MsgHtml
.HTMLBodyPart.Charset = "utf-8"
.TextBodyPart.Charset = "utf-8"
.BodyPart.Charset = "utf-8"
   
With .Configuration.Fields
.Item(config & "sendusing") = 2
.Item(config & "smtpserver") = "smtp.mail.ru"
.Item(config & "smtpauthenticate") = 1
.Item(config & "smtpserverport") = 25
.Item(config & "sendusername") = "username"
.Item(config & "sendpassword") = "password"
.Item(config & "smtpusessl") = False
.Item(config & "smtpconnectiontimeout") = 60
.Update
End With
.send
End With

Set Rs = Nothing
Set msg = Nothing
End Function

Set Rs = Nothing
Set msg = Nothing
End Function

...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809826
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrrDarkMan, а если в письмо надо вставить еще рисунок (логотип), как его присоединить?
В функции добавилось вот это . Это путь к папке Documents->image . Вместо UserName вставьте свое имя User . Надеюсь разберетесь.
Код: vbnet
1.
 .AddAttachment ("C:\Users\UserName\Documents\image\logo.png") 'Здесь прописываем путь к файлу
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809831
wladimirrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkManwladimirrrDarkMan, а если в письмо надо вставить еще рисунок (логотип), как его присоединить?
В функции добавилось вот это . Это путь к папке Documents->image . Вместо UserName вставьте свое имя User . Надеюсь разберетесь.
Код: vbnet
1.
 .AddAttachment ("C:\Users\UserName\Documents\image\logo.png") 'Здесь прописываем путь к файлу


Это получается вложение к письму, а мне надо вставить рисунок в тело письма.
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809925
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrrЭто получается вложение к письму, а мне надо вставить рисунок в тело письма.
wladimirrr,Иногда полезно и погуглить , а не только ждать готовых решений. :))
Ловите
Код: 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.
Function SendEmail4(client_ID As Integer)

 Dim db As DAO.Database
 Set db = CurrentDb()
 Dim Rs As DAO.Recordset
 Dim strSQL As String
 Dim MsgHtml As String
 
 strSQL = "SELECT Info.IDinfo, Info.IDcontact, Contact.&#200;&#236;&#255;, Contact.Email, Info.Tema, Info.Info, Info.&#209;&#243;&#236;&#236;&#224;, Info.&#196;&#224;&#242;&#224; " _
       & "FROM Contact INNER JOIN Info ON Contact.IDcontact = Info.IDcontact " _
       & "Where Info.IDinfo=" & client_ID

 Set Rs = db.OpenRecordset(strSQL)
 
 MsgHtml = "<img src=""cid:logo.png""/><p> &#211;&#226;&#224;&#230;&#224;&#229;&#236;&#251;&#233; <strong> " & Rs("&#200;&#236;&#255;") & "</strong>!</p>"
 MsgHtml = MsgHtml & "&#211; &#194;&#224;&#241; &#229;&#241;&#242;&#252; &#231;&#224;&#228;&#238;&#235;&#230;&#229;&#237;&#237;&#238;&#241;&#242;&#252; &#239;&#229;&#240;&#229;&#228; &#225;&#224;&#237;&#234;&#238;&#236; &#226; &#241;&#243;&#236;&#236;&#229; - " & Rs("&#209;&#243;&#236;&#236;&#224;") & " &#240;&#243;&#225;&#235;&#229;&#233; "
 MsgHtml = MsgHtml & "<p> &#206;&#225; &#238;&#239;&#235;&#224;&#242;&#229; , &#239;&#240;&#238;&#241;&#252;&#225;&#224; &#241;o&#238;&#225;&#249;&#232;&#242;&#252; &#237;&#224; e-mail - " & Rs("Email") & " &#237;&#229; &#239;&#238;&#231;&#228;&#237;&#229;&#229; " & Rs("&#196;&#224;&#242;&#224;") & "  </p>"
 


Dim msg As Object
Dim config As String

Set msg = CreateObject("CDO.Message")
config = "http://schemas.microsoft.com/cdo/configuration/"

With msg
.To = "*****@list.ru"
.FROM = "*****@list.ru"
.Subject = Rs("Tema")

Set objbp = msg.AddRelatedBodyPart("C:/Users/Volodia/Documents/image/logo.png", "logo.png", 1)
objbp.Fields.Item("urn:schemas:mailheader:Content-ID") = "<logo.png>"
objbp.Fields.Update
 
.HTMLBody = MsgHtml
.HTMLBodyPart.Charset = "utf-8"
.TextBodyPart.Charset = "utf-8"
.BodyPart.Charset = "utf-8"
   
With .Configuration.Fields
.Item(config & "sendusing") = 2
.Item(config & "smtpserver") = "smtp.mail.ru"
.Item(config & "smtpauthenticate") = 1
.Item(config & "smtpserverport") = 25
.Item(config & "sendusername") = "username"
.Item(config & "sendpassword") = "password"
.Item(config & "smtpusessl") = False
.Item(config & "smtpconnectiontimeout") = 60
.Update
End With
.send
End With

...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809927
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrr, Блин. Немножко copy/paste подвело.
Ловите .

Код: 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.
Function SendEmail4(client_ID As Integer)

 Dim db As DAO.Database
 Set db = CurrentDb()
 Dim Rs As DAO.Recordset
 Dim strSQL As String
 Dim MsgHtml As String
 
 strSQL = "SELECT Info.IDinfo, Info.IDcontact, Contact.Имя, Contact.Email, Info.Tema, Info.Info, Info.Сумма, Info.Дата " _
       & "FROM Contact INNER JOIN Info ON Contact.IDcontact = Info.IDcontact " _
       & "Where Info.IDinfo=" & client_ID

 Set Rs = db.OpenRecordset(strSQL)
 
 MsgHtml = "<img src=""cid:logo.png""/><p> Уважаемый <strong> " & Rs("Имя") & "</strong>!</p>"
 MsgHtml = MsgHtml & "У Вас есть задолженность перед банком в сумме - " & Rs("Сумма") & " рублей "
 MsgHtml = MsgHtml & "<p> Об оплате , просьба сoобщить на e-mail - " & Rs("Email") & " не позднее " & Rs("Дата") & "  </p>"
 


Dim msg As Object
Dim config As String

Set msg = CreateObject("CDO.Message")
config = "http://schemas.microsoft.com/cdo/configuration/"

With msg
.To = "*****@list.ru"
.FROM = "*****@list.ru"
.Subject = Rs("Tema")

Set objbp = msg.AddRelatedBodyPart("C:/Users/Volodia/Documents/image/logo.png", "logo.png", 1)
objbp.Fields.Item("urn:schemas:mailheader:Content-ID") = "<logo.png>"
objbp.Fields.Update
 
.HTMLBody = MsgHtml
.HTMLBodyPart.Charset = "utf-8"
.TextBodyPart.Charset = "utf-8"
.BodyPart.Charset = "utf-8"
   
With .Configuration.Fields
.Item(config & "sendusing") = 2
.Item(config & "smtpserver") = "smtp.mail.ru"
.Item(config & "smtpauthenticate") = 1
.Item(config & "smtpserverport") = 25
.Item(config & "sendusername") = "username"
.Item(config & "sendpassword") = "password"
.Item(config & "smtpusessl") = False
.Item(config & "smtpconnectiontimeout") = 60
.Update
End With
.send
End With


...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39809959
wladimirrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMan, благодарю за помощь и терпение!)
Гуглю я постоянно, не всегда могу разобраться самостоятельно, не хватает базовых знаний.
Еще раз большое спасибо, буду встраивать в реальную базу.
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39810002
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrrЕще раз большое спасибо, буду встраивать в реальную базу.
Пжлст . Приходите еще .
P.S Удачи в нашем нелеХком труде.
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39810005
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wladimirrr, Да, забыл . В своей функции добавьте эту строчку кода , я вчера в спешке упустил . И обязательно в VBA ,
в настройках установите галочку Обязательное обьявление переменных ( Require Variable Declaration ) .
Ну и помните про поля подстановок в таблицах и кирилицу в контролах. Удачи .
Код: vbnet
1.
Dim objbp As Object
...
Рейтинг: 0 / 0
Вывод данных из аксесса в тело письма в формате HTML
    #39820484
wladimirrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkManwladimirrrЕще раз большое спасибо, буду встраивать в реальную базу.
Пжлст . Приходите еще .
P.S Удачи в нашем нелеХком труде.
DarkMan, нужна Ваша помощь. Что-то у меня запрос не хочет открываться. "Where" не хочет понимать. Что я не так делаю?
...
Рейтинг: 0 / 0
25 сообщений из 62, страница 1 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вывод данных из аксесса в тело письма в формате HTML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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