Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 MAPI проблема с SignOn - Login has failed  [new]
kulib
Member

Откуда: Москва
Сообщений: 125
Здравствуйте! В надежде что кто-то сталкивался и сможет определить что за ерунда происходит с MSMAPI при поптыке отправки почты через TheBat. пожалуйста откликнитесь кто что думает. Есть подозрение, что дело в настройке Бата. Может вручную в реестре где что поковырять типа принудительной установки дефолтового аккаунта или что еще. Но я уже без сил. В форуме и в интернете ничего не нашел т.к. самое фиговое, что в одном месте работает, а в другом НЕТ!!!

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

Кусок кода обращения к MAPI
'Почта использоваться может ТОЛЬКО установленная по умолчанию
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 - Та же самая проблема!
30 янв 19, 19:05    [21798194]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
kulib
Member

Откуда: Москва
Сообщений: 125
Таак, кое что уже стало немного понятнее. Поигрался с параметром
Me.MAPISession1.LogonUI
сделал его True и после ручного ввода логина-пароля ящика всё сработало. Елы палы что ж ему не нравится то в первом варианте, почему автоматом не хочет цепляться к ящику?!
Я уже и логин пароль попробовал обрезать тримом для чистоты эксперимента, ноль результата.
30 янв 19, 21:22    [21798292]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
kulib
Member

Откуда: Москва
Сообщений: 125
Ээх, ерундень несусветная. Рано я обрадовался - теперь там где работало, перестало, а где НЕ работало, заработало (но с батовским диалогом выбора аккаунта для отправки). что-то где-то с дефолтами в Бате, а где .......?
Теперь почему-то там где работало ругается на
Me.MAPIMessages1.Compose 'очистить буфер перед отсылкой
MAPI Failure: valid session ID does not exist

До этого оно находило всё, а теперь не хочет.

К сообщению приложен файл. Размер - 6Kb
30 янв 19, 23:14    [21798337]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
court
Member

Откуда:
Сообщений: 1577
kulib,

А зачем тебе понадобилось это МАПИ ?
У Бата очень не слабая поддержка параметров командной строки, во всяком случае отправить/получить письма - "как два байта переслать"
Первое же, что выдал Гугл:
тыц
тыц
31 янв 19, 10:46    [21798510]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
kulib
Member

Откуда: Москва
Сообщений: 125
court
kulib,

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

есть такая необходимость. В базе хранятся все данные по адресатам, типам мессейджев, периодичности, аттачам и пр.. Поэтому мне нужно (ну можно сказать я умею только так) из базы и инициировать создание и отправку писем. Причем еще раз повторяю - это работает (если надо выложу полный код. но там ничего нового для разбирающихся), только как-то странно работает. Мне пришлось даже на пользовательской форме пока сделать два варианта - типа если не получилось так, попробуй так))))

К сообщению приложен файл. Размер - 10Kb
31 янв 19, 14:20    [21798799]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
kulib
Member

Откуда: Москва
Сообщений: 125
самое главное что и здесь всё нормально! Дефолтовый аккаунт есть и он правильный (даже неправильный пробовал. всё равно та же самая ерунда!)
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
31 янв 19, 14:25    [21798811]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 65
kulib, есть подозрение, что используется x86 COM-объект, а система x64. Из-за этого скорее всего проблема и возникает.
1 фев 19, 11:41    [21799463]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 65
Было-бы неплохо, если бы ты выложил код, в котом этот объект создаётся.
1 фев 19, 11:45    [21799472]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
kulib
Member

Откуда: Москва
Сообщений: 125
Stanislav P
kulib, есть подозрение, что используется x86 COM-объект, а система x64. Из-за этого скорее всего проблема и возникает.

МАПИшка вот эта https://yadi.sk/d/o8qzQZMxk1MBtw

Система конечно W10 64. На 32-й десятке работает нормально. Но в то же время ж на ХП тоже не работает. поэтому разрядность тут под вопросом.
4 фев 19, 12:58    [21801200]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
kulib
Member

Откуда: Москва
Сообщений: 125
Stanislav P
Было-бы неплохо, если бы ты выложил код, в котом этот объект создаётся.

собственно вот и кусок кода относяшийся именно к созданию письма
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 '-и это письмо лежит у вас в исходящих НЕ РАБОТАЕТ!

Если требуется могу скорректировать в работающую процедуру без моих перс переменных и значений.
4 фев 19, 13:05    [21801210]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 65
kulib, msmapi.ocx регистрировал на обеих проблемных системах?
Куда клал файл в Win x64?
Сопутствующие DLL имеются на проблемных компютерах?
Напрямую текстом задавал username и password?
5 фев 19, 09:16    [21801704]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
kulib
Member

Откуда: Москва
Сообщений: 125
Stanislav P
kulib, 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 ???
5 фев 19, 12:51    [21801868]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 65
kulib,

А на Win x64 используется The Bat x64?
6 фев 19, 14:59    [21802744]     Ответить | Цитировать Сообщить модератору
 Re: MAPI проблема с SignOn - Login has failed  [new]
kulib
Member

Откуда: Москва
Сообщений: 125
Stanislav P
kulib,

А на 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"
6 фев 19, 19:50    [21803050]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить