powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / MAPI проблема с SignOn - Login has failed
15 сообщений из 15, страница 1 из 1
MAPI проблема с SignOn - Login has failed
    #39767279
kulib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! В надежде что кто-то сталкивался и сможет определить что за ерунда происходит с MSMAPI при поптыке отправки почты через TheBat. пожалуйста откликнитесь кто что думает. Есть подозрение, что дело в настройке Бата. Может вручную в реестре где что поковырять типа принудительной установки дефолтового аккаунта или что еще. Но я уже без сил. В форуме и в интернете ничего не нашел т.к. самое фиговое, что в одном месте работает, а в другом НЕТ!!!

База ACC2003, все компоненты зарегены, лицензии введены, объекты на форме, код отлажен.
В ОС: TheBat проинсталлирован, клиент по умолчанию, Simple MAPI работает (инициирование отправки письма срабатывает корректно даже если Бат не запущен запускает его и создает письмо) и всё прочее.

Кусок кода обращения к MAPI
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
'Почта использоваться может ТОЛЬКО установленная по умолчанию
Me.MAPISession1.LogonUI = False 'это чтобы не показывалось окно подтверждения email и пароля
Me.MAPISession1.UserName = "мойаккаунт"
Me.MAPISession1.Password = "мойпароль"
Me.MAPISession1.NewSession = True'Me.MAPISession1.Action = 1

Me.MAPISession1.SignOn'ЗАТЫК ВСЕГДА ЗДЕСЬ. ЧТО ЕЙ НЕ НРАВИТСЯ????

Me.MAPIMessages1.SessionID = Me.MAPISession1.SessionID
Me.MAPIMessages1.Compose 'очистить буфер перед отсылкой



Ситуация такая: Винда 10 32-б, Офис 2010 32-б, TheBat 7.4 - всё работает, отправляется. никаких ошибок!

Винда 10 64-б, Офис 2010 32-б, TheBat 7.4 - спотыкается всё время на Me.MAPISession1.SignOn с ошибкой "Login has failed"
Винда ХР, Офис 2003, TheBat 7.4 - Та же самая проблема!
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39767323
kulib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таак, кое что уже стало немного понятнее. Поигрался с параметром
Код: vbnet
1.
Me.MAPISession1.LogonUI

сделал его True и после ручного ввода логина-пароля ящика всё сработало. Елы палы что ж ему не нравится то в первом варианте, почему автоматом не хочет цепляться к ящику?!
Я уже и логин пароль попробовал обрезать тримом для чистоты эксперимента, ноль результата.
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39767343
kulib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ээх, ерундень несусветная. Рано я обрадовался - теперь там где работало, перестало, а где НЕ работало, заработало (но с батовским диалогом выбора аккаунта для отправки). что-то где-то с дефолтами в Бате, а где .......?
Теперь почему-то там где работало ругается на
Код: vbnet
1.
Me.MAPIMessages1.Compose 'очистить буфер перед отсылкой

MAPI Failure: valid session ID does not exist

До этого оно находило всё, а теперь не хочет.
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39767435
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kulib,

А зачем тебе понадобилось это МАПИ ?
У Бата очень не слабая поддержка параметров командной строки, во всяком случае отправить/получить письма - "как два байта переслать"
Первое же, что выдал Гугл:
тыц
тыц
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39767608
kulib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
courtkulib,

А зачем тебе понадобилось это МАПИ ?

есть такая необходимость. В базе хранятся все данные по адресатам, типам мессейджев, периодичности, аттачам и пр.. Поэтому мне нужно (ну можно сказать я умею только так) из базы и инициировать создание и отправку писем. Причем еще раз повторяю - это работает (если надо выложу полный код. но там ничего нового для разбирающихся), только как-то странно работает. Мне пришлось даже на пользовательской форме пока сделать два варианта - типа если не получилось так, попробуй так))))
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39767618
kulib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
самое главное что и здесь всё нормально! Дефолтовый аккаунт есть и он правильный (даже неправильный пробовал. всё равно та же самая ерунда!)
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Function DefaultMailAccount1() As String
    ' читает из реестра настройки почтового ящика,
    ' установленного в TheBAT! как "ящик по-умолчанию"
    ' возвращает адрес почты, или пустую строку, если TheBAT! не настроен
    On Error Resume Next: Err.Clear
    Key$ = "HKEY_CURRENT_USER\Software\RIT\The Bat!\Users depot\Default"
    DefaultMailAccount1 = CreateObject("WScript.Shell").RegRead(Key$)
End Function
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39768017
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kulib, есть подозрение, что используется x86 COM-объект, а система x64. Из-за этого скорее всего проблема и возникает.
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39768023
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Было-бы неплохо, если бы ты выложил код, в котом этот объект создаётся.
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39769170
kulib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stanislav Pkulib, есть подозрение, что используется x86 COM-объект, а система x64. Из-за этого скорее всего проблема и возникает.
МАПИшка вот эта https://yadi.sk/d/o8qzQZMxk1MBtw

Система конечно W10 64. На 32-й десятке работает нормально. Но в то же время ж на ХП тоже не работает. поэтому разрядность тут под вопросом.
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39769176
kulib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stanislav PБыло-бы неплохо, если бы ты выложил код, в котом этот объект создаётся.
собственно вот и кусок кода относяшийся именно к созданию письма
Код: 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.
Select Case Me.Группа65.Value
    Case 1
        Me.MAPISession1.LogonUI = False 'это чтобы не показывалось окно подтверждения email и пароля
    Case 2
        Me.MAPISession1.LogonUI = True
End Select

Me.MAPISession1.UserName = Trim("моймейл") '
Me.MAPISession1.Password = CurrentProject.Connection.Execute("Select Alias.Pass1 from [~TMPCLP_tbl_service] As Alias WHERE (Alias.Title=" & """" & "POST" & """" & ")").Fields(0)
Me.MAPISession1.NewSession = True
'Me.MAPISession1.Action = 1
Me.MAPISession1.SignOn
'текст письма
sTextMess = CurrentProject.Connection.Execute("SELECT tbl_Controls.[TextValue] FROM tbl_Controls WHERE ((tbl_Controls.[Control])=" & """" & "TextMail" & """" & ")").Fields(0)
'тема письма
sSubj = sSys & " " & CurrentProject.Connection.Execute("SELECT tbl_Controls.[TextValue] FROM tbl_Controls WHERE ((tbl_Controls.[Control])=" & """" & "Subject" & """" & ")").Fields(0)

    'собственно сама отправка письма _
    В среде разработки VBA вы должны добавить Tools->References->Components->Microsoft Mapi Controls 6.0 _
    У вас тогда станут доступны элементы MAPISession MAPIMessages и вы можете поместить их на форму _
    Предварительно добавить в ОС msmapi.ocx и зарегистрировать ее
 
    'SysCmd acSysCmdSetStatus, "Отправка письма на " & Trim(fld_Emailpost.Value)
    
    Me.MAPIMessages1.SessionID = Me.MAPISession1.SessionID
    Me.MAPIMessages1.Compose 'очистить буфер перед отсылкой
    Me.MAPIMessages1.RecipIndex = count
    
    '-собственно суть письма
    Me.MAPIMessages1.RecipAddress = Trim(fld_Emailpost.Value)
    Me.MAPIMessages1.RecipDisplayName = Trim(fld_Name.Value) 'E-mail или имя Адресата из адресной книги
    Me.MAPIMessages1.MsgSubject = sSubj 'Тема
    Me.MAPIMessages1.MsgNoteText = "Здравствуйте, " & Trim(fld_Name.Value) & "!" & vbNewLine & vbNewLine & sTextMess 'Текст вашего письма
    Me.MAPIMessages1.Send False '-и это письмо сразу отправляется Используя False в методе Send, вы запрещаете показ окна "Создание нового письма".
    'Me.MAPIMessages1.Send True
    'Me.MAPIMessages1.Save '-и это письмо лежит у вас в исходящих НЕ РАБОТАЕТ!


Если требуется могу скорректировать в работающую процедуру без моих перс переменных и значений.
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39769493
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kulib, msmapi.ocx регистрировал на обеих проблемных системах?
Куда клал файл в Win x64?
Сопутствующие DLL имеются на проблемных компютерах?
Напрямую текстом задавал username и password?
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39769607
kulib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stanislav Pkulib, msmapi.ocx регистрировал на обеих проблемных системах?Конечно
Stanislav PКуда клал файл в Win x64? Пробовал и в System32 и в SysWow64 (но он же и там и там сразу появляется). Регистрировал regsvr32
Stanislav PСопутствующие DLL имеются на проблемных компютерах? Какие именно?
Stanislav PНапрямую текстом задавал username и password?Да конечно, без изменений результата

Для чистоты эксперимента удалили регистрацию msmapi.ocx и заново последовательно с пробой запуска попробовал зарегить ее сначала в SysWow64, потом после того как это не изменило ничего, удалил регистрацию и зарегил в System32. но толку никакого

P.S. И почему-то она не появляется после регистрации в HKEY_CLASSES_ROOT\CLSID ???
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39770192
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kulib,

А на Win x64 используется The Bat x64?
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39770402
kulib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stanislav Pkulib,

А на Win x64 используется The Bat x64?
Win 10 x32, TheBat 7.4 x32, MSO 2010 x32 (ACCESS) - всё работает нормально
Win 10 x64, TheBat 7.4 x64, MSO 2010 x32 (ACCESS) - не работает как надо "Login has failed"
Win XP x32 SP3, TheBat 7.4 x32, MSO 2003 x32 (ACCESS) - не работает как надо "Login has failed"
...
Рейтинг: 0 / 0
MAPI проблема с SignOn - Login has failed
    #39790049
kulib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stanislav Pkulib, msmapi.ocx регистрировал на обеих проблемных системах?
Куда клал файл в Win x64?
Сопутствующие DLL имеются на проблемных компютерах?
Напрямую текстом задавал username и password?
Всё это делал, регистрировал, проверял регистрацию, менял расположение файла. напрямую текстом задавал и юзера и пароль. Не помогало.
Потом сменил запускаемую версию почтовика TheBat с 64-й на 32х и ошибка в Sing.On успешно исчезла!
Но всё равно отправка письма не отрабатывает зараза. Теперь на Win10 (при условии задействования TheBat32) мы спотыкаемся на самом последнем шаге MAPIMessages1.Send

Ошибка " Unspecified Failure Send Occurred " что напрочь не дает даже подумать в какую-нибудь сторону для решения!

Stanislav Pkulib, есть подозрение, что используется x86 COM-объект, а система x64. Из-за этого скорее всего проблема и возникает.
Действительно подозрения Stanislav P подтверждаются. Но вопрос "что делать" всё таки остается. ведь MSMAPI64 вроде нету? Или есть?

P.S. Но на Win10-32 всё работает.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / MAPI проблема с SignOn - Login has failed
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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