powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отправка почты из кода VBA.
17 сообщений из 42, страница 2 из 2
Отправка почты из кода VBA.
    #38489940
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DmitrievASвсе, нашел:
Код: vbnet
1.
.To = DLookup("[mail]", "[Parts_search]")


нуу, это ненадолго :)

DmitrievAS...
И да, [Parts_search] - это таблица, [mail] - соответственно поле с перечнем мэйл адресов, на данный момент для отладки процедуры в данной таблице всего одна запись с одним мэйл адресом.
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #38490050
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot qwerty112]
нуу, это ненадолго :)[/quotъ]

:) :) :)
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #38584932
Treason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Понимаю, что тема старая и заезженная, но ответа найти так и не смогла.
К сути: был код, взятый отсюда, который успешно работал со следующими параметрами на majordomo.ru

CFields(" http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
CFields(" http://schemas.microsoft.com/cdo/configuration/smtpserver") = "192.168.17.69" '"smtp"
CFields(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
CFields(" http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 5025
CFields(" http://schemas.microsoft.com/cdo/configuration/sendusername") = "postmaster@....ru" 'Login
CFields(" http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*****" 'пароль
CFields("urn:schemas:mailheader:content-language") = "windows-1251"

но вот не задача, переехали мы на Mail.ru
При внесении соответствующих изменений параметров, письма не уходят, выдает иероглифы (вложение). Пару раз выдавал 550 ошибку, но честно воспроизвести ее не могу. Проштудировав интернет, наткнулась на пост
Barloneа с чего вы взяли, что почта адресату на mail.ru шлется через smtp.mail.ru ?

mail.ru MX preference = 10, mail exchanger = mxs.mail.ru
mxs.mail.ru internet address = 194.67.23.20
smtp.mail.ru internet address = 194.67.23.111

сервер для входящей почты другой :)
пробовала рекомендации, не помогло

CFields(" http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
CFields(" http://schemas.microsoft.com/cdo/configuration/smtpserver") = "194.67.23.111" ' "smtp.mail.ru/mxs.mail.ru/194.67.23.20/194.67.23.111"
CFields(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
CFields(" http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
CFields(" http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
'CFields(" http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
CFields(" http://schemas.microsoft.com/cdo/configuration/sendusername") = "okdoc@.....ru" 'Login
CFields(" http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*****" 'пароль
CFields("urn:schemas:mailheader:content-language") = "windows-1251"

Помогите, пожалуйста!!!
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #38584949
Treason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С Mail.ru

Для настройки почтовых программ вам понадобится следующая информация:

Ваш электронный адрес (имя почтового ящика/e-mail address) — это полное название вашего почтового ящика, включая логин, значок «@» собачки и домен (например, vash_pomoshnik@mail.ru).

Сервер входящей почты IMAP-сервер — imap.mail.ru
POP3-сервер — pop.mail.ru;

Сервер исходящей почты (SMTP-сервер) — smtp.mail.ru;

Имя пользователя — это полное название вашего почтового ящика, включая логин, значок «@» собачки и домен (например, vash_pomoshnik@mail.ru);

Пароль — текущий пароль, который вы используете для входа в почтовый ящик;

Порт — IMAP — 143 (протокол шифрования STARTTLS) или 993 (протокол шифрования SSL/TLS)
POP3 — 995 (протокол шифрования SSL/TLS)
SMTP — 465 (протокол шифрования SSL/TLS).

Аутентификация — Обычный пароль (без шифрования).
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #38584990
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я умею отправлять почту из акцесса

там фишка не в аксе а в хостинге почты может быть
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #38585005
Treason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понятно, что дело не в аксе, раз с другими настройками работало. Вопрос как под mail.ru все это намтроить
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #38614274
Vitalay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
samaranchesА я вот такую функцию использую:
Код: 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.
Public Function sendEmail(emailTo As String, emailSubject As String, emailBody As String, Optional VarDebug As Boolean) As Integer
On Error GoTo Err_sendEmail
Dim oMSG As Object
Dim oConfig As Object
Dim CFields As Object
Dim strBody As String

Set oMSG = CreateObject("CDO.Message")
Set oConfig = CreateObject("CDO.Configuration")
Set CFields = oConfig.Fields
Set oMSG.Configuration = oConfig

CFields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
CFields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.inbox.ru"
CFields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
'CFields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
CFields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "login" 'Login
CFields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "parol" 'password
CFields("urn:schemas:mailheader:content-language") = "windows-1251"
CFields.Update

oMSG.To = emailTo
oMSG.From = "login@inbox.ru"
oMSG.Subject = emailSubject
oMSG.BodyPart.Charset = "windows-1251"
'oMSG.AddAttachment "c:\temp\Test0.rtf"
oMSG.TextBody = emailBody
oMSG.Send

sendEmail = 1

Exit_sendEmail:
    Set CFields = Nothing
    Set oConfig = Nothing
    Set oMSG = Nothing
    Exit Function

Err_sendEmail:
    sendEmail = 0
    If Not IsNull(VarDebug) Then If VarDebug Then MsgBox (Err.Description)
    Resume Exit_sendEmail
End Function

Всё прекрасно работает и никаких глючных аутлуков не нужно

Всем привет. А как заставить данную функцию брать запрос и отправлять его в виде exel файла на почту? Пол дня сегодня убил, так и не получилось. Выручайте.
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #38614399
VitalayА как заставить данную функцию брать запрос и отправлять его в виде exel файла на почту? Пол дня сегодня убил, так и не получилось. Сначала надо экспортировать запрос в Excel, а при создании письма добавить файл в Attachments.
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #38614407
Vitalay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),

а без этого никак нельзя, что ли?
при отправке через стандартную команду (аутлук) такая возможность есть, а как ее примострячить к данной функции х.з.
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #38614459
Vitalayпри отправке через стандартную команду (аутлук) такая возможность есть, а как ее примострячить к данной функции х.з. Вы имеете ввиду не прицепить файл, а всунуть в тело письма? Тогда вам нужно из данных запроса сформировать текст в формате HTML и всунуть его в oMSG.HTMLBody.
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #38614536
Vitalay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),

ну я не силен в этом, может быть вы поможете довести до ума данную функцию, буду премного благодарен
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Отправка почты из кода VBA.
    #39582161
blade_snl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Касательно нижеизложенной процедуры. Туплю на примитивном. Я ее прописал в глобальном модуле (поменял на свои настройки smtp и т.д.) и туплю - не могу понять, каков синтаксис обращения к ней из модулей? как именно мне указывать параметры в виде адресата, темы, тела??? помогите начинающему, пожалуйста!

авторPublic Function sendEmail(emailTo As String, emailSubject As String, emailBody As String, Optional VarDebug As Boolean) As Integer
On Error GoTo Err_sendEmail
Dim oMSG As Object
Dim oConfig As Object
Dim CFields As Object
Dim strBody As String

Set oMSG = CreateObject("CDO.Message")
Set oConfig = CreateObject("CDO.Configuration")
Set CFields = oConfig.Fields
Set oMSG.Configuration = oConfig

CFields(" http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
CFields(" http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.inbox.ru"
CFields(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
'CFields(" http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
CFields(" http://schemas.microsoft.com/cdo/configuration/sendusername") = "login" 'Login
CFields(" http://schemas.microsoft.com/cdo/configuration/sendpassword") = "parol" 'password
CFields("urn:schemas:mailheader:content-language") = "windows-1251"
CFields.Update

oMSG.To = emailTo
oMSG.From = "login@inbox.ru"
oMSG.Subject = emailSubject
oMSG.BodyPart.Charset = "windows-1251"
'oMSG.AddAttachment "c:\temp\Test0.rtf"
oMSG.TextBody = emailBody
oMSG.Send

sendEmail = 1

Exit_sendEmail:
Set CFields = Nothing
Set oConfig = Nothing
Set oMSG = Nothing
Exit Function

Err_sendEmail:
sendEmail = 0
If Not IsNull(VarDebug) Then If VarDebug Then MsgBox (Err.Description)
Resume Exit_sendEmail
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #39585520
cylindr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blade_snl,

У вас же сверху всё перечислено.

Код: vbnet
1.
call  sendEmail("123@pochta.ru", "тест", "Здравствуйте!")
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #39585560
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Только не call. Это функция, она возвращает значение, по которому можно проверить, успешно ли она сработала.
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #39585570
cylindr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч,

Небольшая поправка, посмотрел как у меня:
Код: vbnet
1.
call  sendEmail("123@pochta.ru", "тест", "Здравствуйте!", true)



так что call
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #39585821
Call for Function
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cylindrтак что callВы не поняли, о чем речь. Call вызывает функцию, да, но не получает результата ее выполнения. Через Call вызывают процедуры - вы же понимаете разницу между процедурами (Sub) и функциями (Function)?
Функцию нужно вызывать так (на нашем примере):

Dim result as Integer
result = sendEmail("123@pochta.ru", "тест", "Здравствуйте!", true)

при этом в result после выполнения функции будет некое значение, возвращенное функцией: в нашем случае либо 0 (сообщение отправлено не было), либо 1 (сообщение отправлено).

можно чуть сложнее, передавая результат выполнения функции не в переменную, а сразу в операторы ветвления:

If sendEmail("123@pochta.ru", "тест", "Здравствуйте!", true) = 0 Then
здесь код, который выполнится, если сообщение НЕ отправлено
Else
здесь код, если сообщение отправлено
End if

Об этом говорил Владимир Саныч
...
Рейтинг: 0 / 0
Отправка почты из кода VBA.
    #39586284
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Call for FunctionОб этом говорил Владимир Саныч
Спасибо за помощь. Вот не думал, что понадобится такое длинное пояснение.
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отправка почты из кода VBA.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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