Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2011, 16:11   #1
Chemik
 
Регистрация: 02.11.2011
Сообщений: 6
Сообщение Рассылка!

Добрый день! Хотел уточнить , возможно сделать эмэил рассылку с помощью Access 2007...Как должно быть в идеале , есть таблица в которой 5.тыс контактов которые разбиты на идентификаторы. Допустим мне нужно по идентификаторам отсортировать 500контактов и отправить им всем одно и то же сообщение...Возможно ли это сделать непосредственно из Access , если возможно , то как ?
Chemik вне форума Ответить с цитированием
Старый 14.12.2011, 14:56   #2
Chemik
 
Регистрация: 02.11.2011
Сообщений: 6
По умолчанию

Кто-то может ответить вообще это возможно или нет ?
Chemik вне форума Ответить с цитированием
Старый 15.12.2011, 00:04   #3
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Chemik.
"..возможно сделать эмэил рассылку с помощью Access..?" - хотя СУБД (система управления базами данных) MS Access не является почтовой программой
и не "умеет" работать с почтой, задачу можно выполнить подключив к проекту библиотеку соответствующего приложения (MS Outlook)
и выполнив подобный код:
Код:
Sub sendingToAddress()
Dim cn As New ADODB.Connection, rs As New ADODB.Recordset, s$
Const sQ = "select eAdress from table where ..." 'запрос возвращающий адреса получателей
Const sSubj = "Тема сообщения ..."
Const sBody = "Тело сообщения ..."
Set cn = CurrentProject.Connection

rs.Open sQ, cn, adOpenStatic, adLockReadOnly
If Not rs.EOF Then
    s = rs.GetString("; ") 'получение списка адресов
    sendMail s, sSubj, sBody 'отправка адресатам сообщения
End If
If Not rs.State = 0 Then rs.Close
Set rs = Nothing
If Not cn.State = 0 Then cn.Close
Set cn = Nothing
End Sub
Function sendMail(sTo$, sSybject$, sBody$)
Dim oApp As Object, oItem As Object, bRun As Boolean
On Error Resume Next
Set oApp = GetObject(, "Outlook.Application")
If Not Err.Number = 0 Then
    bRun = True: Err.Clear
    Set oApp = CreateObject("Outlook.Application")
End If
Set oItem = oApp.CreateItem(0)
With oItem
    .to = sTo: .Subject = sSybject: .Body = sBody
    '.Display'отображение при необходимости Outlook
    .Send 'отправка
End With
'If bRun Then oApp.Application.Quit 'закрывать Outlook если открывался
End Function
Евгений.

Последний раз редактировалось Teslenko_EA; 15.12.2011 в 00:10.
Teslenko_EA вне форума Ответить с цитированием
Старый 15.12.2011, 12:18   #4
Chemik
 
Регистрация: 02.11.2011
Сообщений: 6
По умолчанию

Спасибо большое Тестировать буду через недельку , потом отпишусь!)
Chemik вне форума Ответить с цитированием
Старый 15.12.2011, 12:45   #5
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Не знаю как в 2007, но в 2003 у меня там возникла проблема, что при каждой отправке необходимо подтверждение отправки сообщения. Я долго бился над данной проблемой, но так ничего и не нашёл - поэтому пошёл другим путём и нашёл приблизительно следующее:

Sub CDO()


Set objMsg = CreateObject("CDO.Message")
Set Config = CreateObject("CDO.Configuration")
Set Config = objMsg.Configuration
objMsg.FROM = "от"
objMsg.To = "кому"
objMsg.Subject = "Test sending email from sñriðt"
objMsg.Textbody = "This is a body of E-mail."
Config("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
Config("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "имя серевера"
Config("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
Config("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
Config("http://schemas.microsoft.com/cdo/configuration/sendusername") = "путь к вашей папке"
Config("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "пароль для входа на компьютер"
Config.Fields.Update
objMsg.Send
End Sub

Параметры кому отправлять и какое письмо можно засунуть в рекордсет и работает быстрее чем через аутлук.
И будет Вам счастье.....
gluk_fm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рассылка Claster Помощь студентам 1 25.08.2011 17:11
Рассылка Aqil_f Microsoft Office Excel 14 10.12.2010 16:08
Рассылка из Excel spoofing Microsoft Office Excel 1 11.11.2008 11:41