|
рассылка писем из MS Access 2010: 1 ID контракта = 1 письмо = 1 участник(получатель)
|
|||
---|---|---|---|
#18+
Привет всем! Решаю следующую задачу на MS Access 2010: Имеется: Таблица c ID контракта и имейлом участника (на самом деле код участника, который резолвиться в MS Outlook как имейл) Задача: Написать VBA код для рассылки писем участникам с ID контракта в теме письма : Условия: ID контракта = 1 письмо = 1 участник(получатель) Пробовала: With rsEmail .MoveFirst Do Until rsEmail.EOF If IsNull(.Fields(14)) = False Then sToName = Left(.Fields(14), 7) sSubject = "Ticket #: " & .Fields(1) sMessageBody = "ююю" MailOutLook.SentOnBehalfOfName = "" DoCmd.SendObject acSendNoObject, , , _ sToName, , , sSubject, sMessageBody, False, False End If .MoveNext Loop End With можно ли это вообще осуществить???? Спасибо за любые комменты! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 12:25 |
|
рассылка писем из MS Access 2010: 1 ID контракта = 1 письмо = 1 участник(получатель)
|
|||
---|---|---|---|
#18+
Если почтовый сервер разрешает отправку без шифрования, то можно использовать программу blat: в наши дни он вполне неплохо отправляет письма даже в русской кодировке. Если сервер требует шифрования, то можно отправлять blat-ом через stunnel. Другой вариант — отправка с помощью CDOSYS библиотеки (смотрим гугл), например так: http://www.rondebruin.nl/win/s1/cdo.htm Она и шифрование умеет и русский язык. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 15:02 |
|
рассылка писем из MS Access 2010: 1 ID контракта = 1 письмо = 1 участник(получатель)
|
|||
---|---|---|---|
#18+
Спасибо за ответ, NBjHCBrc6KlSObm! Пока не гуглила про blat-ом +stunnel, CDOSYS библиотеку.... хочу сразу уточнить ответ на мой вопрос "Возможно ли это вообще осуществить, используя только VBA код в MS Access и MS Outlook????" P.S. ... только лицензированные программки можно ставить Спасибо!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 15:14 |
|
рассылка писем из MS Access 2010: 1 ID контракта = 1 письмо = 1 участник(получатель)
|
|||
---|---|---|---|
#18+
Ну я и написал, что «можно использовать». А можно и не использовать. Скорее всего кто-то придёт и поможет с вашим вариантом через Outlook. У варианта с Blat преимущество в том, что можно запускать отправку пачкой, т.е. не ждать завершения одной отправки для следующей отправки. Если у вас очень большой список получателей спама, возможно вы устанете ждать, пока все отправки выполнятся последовательно. Так же blat полностью бесплатен и не требует установки. У варианта с CDO преимущество в том, что он родной микрософтский и не требует stunnel для SSL соединений. Я после blat перешёл на него. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 15:26 |
|
рассылка писем из MS Access 2010: 1 ID контракта = 1 письмо = 1 участник(получатель)
|
|||
---|---|---|---|
#18+
Спасибо, NBjHCBrc6KlSObm. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 15:55 |
|
рассылка писем из MS Access 2010: 1 ID контракта = 1 письмо = 1 участник(получатель)
|
|||
---|---|---|---|
#18+
А это не подойдёт? Работа с электронной почтой из программ Access средствами MS Outlook ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 15:55 |
|
рассылка писем из MS Access 2010: 1 ID контракта = 1 письмо = 1 участник(получатель)
|
|||
---|---|---|---|
#18+
Вот сама все таки сделала: Function SendEmail() ' on Error GoTo Exit_Function Dim oOutlook As Outlook.Application Dim oEmailItem As Outlook.MailItem Dim rs As Recordset Set rs = CurrentDb.OpenRecordset("Table Name") If rs.RecordCount > 0 Then rs.MoveFirst Do Until rs.EOF If IsNull(rs![Name of Column1]) Then rs.MoveNext Else If oOutlook Is Nothing Then Set oOutlook = New Outlook.Application End If Set oEmailItem = oOutlook.CreateItem(olMailItem) With oEmailItem .To = Left(rs![Name of Column1], 7) .cc = "email_cc@dgfgg.com" .BodyFormat = olFormatHTML .Subject = "Ticket #: " & rs![Name of Column2] .HTMLBody = "text" MailOutLook.SentOnBehalfOfName = "email_from@dgfgg.com" .Display '.Send End With Set oEmailItem = Nothing Set oOutlook = Nothing rs.MoveNext End If Loop Else 'do nothing End If End Function ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2016, 10:02 |
|
рассылка писем из MS Access 2010: 1 ID контракта = 1 письмо = 1 участник(получатель)
|
|||
---|---|---|---|
#18+
Вообще-то на форуме есть средства для форматирования текста Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2016, 10:23 |
|
рассылка писем из MS Access 2010: 1 ID контракта = 1 письмо = 1 участник(получатель)
|
|||
---|---|---|---|
#18+
если не аутлоком (самый управляемый из VBA), то батом - у него хорошо прописанная командная строка, которая передается в работающий экземпляр бата, если он запущен....или библиотека штатная CDO - я правда не нашел куда она логи о работе пишет...других почтовых прог не ковырял, хотя с трекеров накачал... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2016, 13:19 |
|
|
start [/forum/topic.php?fid=45&msg=39213469&tid=1613688]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 132ms |
0 / 0 |