Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Button e-mail send - Nothing happens #20

Closed
jenastadt opened this issue Mar 10, 2020 · 6 comments
Closed

Button e-mail send - Nothing happens #20

jenastadt opened this issue Mar 10, 2020 · 6 comments

Comments

@jenastadt
Copy link

jenastadt commented Mar 10, 2020

OS: Windows 10 Enterprise LTSC 2019 (1809)
E-Mail Client: Mozilla Thunderbird 68.5.0 (x86) de >>> (default e-mail client: yes)

Nothing happens when you press the Email button.

OS event viewer with two entries

Quelle: .NET Runtime
Ereignis-ID: 1026

Anwendung: clawPDF.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
Ausnahmeinformationen: System.OverflowException
   bei clawSoft.clawPDF.Mail.MapiMailMessage._AllocAttachments(Int32 ByRef)
   bei clawSoft.clawPDF.Mail.MapiMailMessage._ShowMail(System.Object)
   bei System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   bei System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   bei System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   bei System.Threading.ThreadHelper.ThreadStart()

Quelle: Application Error
Ereignis-ID: 1000

Name der fehlerhaften Anwendung: clawPDF.exe, Version: 0.8.4.0, Zeitstempel: 0x5cffa478
Name des fehlerhaften Moduls: KERNELBASE.dll, Version: 10.0.17763.1075, Zeitstempel: 0x148b44ee
Ausnahmecode: 0xe0434352
Fehleroffset: 0x0000000000039179
ID des fehlerhaften Prozesses: 0x1e40
Startzeit der fehlerhaften Anwendung: 0x01d5f6e4f24b7748
Pfad der fehlerhaften Anwendung: C:\Program Files (x86)\clawPDF\clawPDF.exe
Pfad des fehlerhaften Moduls: C:\Windows\System32\KERNELBASE.dll
Berichtskennung: 184d5dc5-7fe8-4d29-91a5-dead56d38649
Vollständiger Name des fehlerhaften Pakets: 
Anwendungs-ID, die relativ zum fehlerhaften Paket ist: 

The following can be read in the LOG-File "clawPDF.log"

2020-03-10 15:06:01.6020 [Fatal] clawSoft.clawPDF.App.CurrentDomain_UnhandledException: Uncaught exception, IsTerminating: True System.OverflowException: Die arithmetische Operation hat einen Überlauf verursacht.
   bei clawSoft.clawPDF.Mail.MapiMailMessage._AllocAttachments(Int32& fileCount)
   bei clawSoft.clawPDF.Mail.MapiMailMessage._ShowMail(Object ignore)
   bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   bei System.Threading.ThreadHelper.ThreadStart()

Windows features
.NET Framework 3.5 (include .NET 2.0 and 3.0)
.NET Framework 4.7 Advanced Services
are activated

I am available for further error analysis.

S. Lehnert
Systems engineer

@jenastadt
Copy link
Author

I noticed something else

The installation path is "C:\Program Files (x86)\clawPDF" of the MSI package, but the application is recognized as 64-bit in the task manager?

There is something structurally wrong.

A 64-bit compiled application must install in the "C: \Program Files" directory and a 32-bit compiled application must install in the "C: \Program Files (x86)" directory.

The operating system also determines the environment in which the application runs. In our case, a 64-bit application would also have the 64-bit environment, i.e. no access to a 32-bit email client.

In this case, the program directory does not determine the environment in which the application is run, but the operating system.

A compiled 32-bit version of the "clawPDF" would also be required for users who use a 32-bit e-mail client and a compiled 64-bit version of the "clawPDF" for users who use a 64-bit e-mail client " be available.

@christianpare
Copy link

christianpare commented Apr 19, 2020

I have the same issue here. My email client is the built-in Windows 10 Mail application. When I hit the Email button the application crashes silently. .. Any idea? I am available for diagnostics as well.

I have tried debugging the issue in Studio and the crash occurs in MAPISendMail. I am still digging.

@christianpare
Copy link

christianpare commented Apr 21, 2020

Follow-up!! I think I have found the issue.

Members of the MapiFileDescriptor, MapiRecipDesc and MapiMessage classes (structures) are not in the same order as what MAPISendMail is expecting

https://docs.microsoft.com/fr-ca/windows/win32/api/mapi/ns-mapi-mapimessage

I reordered the members to match what Microsoft expects and BOOM it worked like a charm.

Not sure why the members are not in the same order as the documentation though. Has this ever worked? :-)

[MapiClient.cs.patch.txt]

(https://github.com/clawsoftware/clawPDF/files/4512170/MapiClient.cs.patch.txt)

I have attached a patch file of what I have changed in order to get this to work.

@LeMerP
Copy link

LeMerP commented Oct 9, 2020

Follow-up!! I think I have found the issue.

Members of the MapiFileDescriptor, MapiRecipDesc and MapiMessage classes (structures) are not in the same order as what MAPISendMail is expecting

https://docs.microsoft.com/fr-ca/windows/win32/api/mapi/ns-mapi-mapimessage

I reordered the members to match what Microsoft expects and BOOM it worked like a charm.

Not sure why the members are not in the same order as the documentation though. Has this ever worked? :-)

[MapiClient.cs.patch.txt]

(https://github.com/clawsoftware/clawPDF/files/4512170/MapiClient.cs.patch.txt)

I have attached a patch file of what I have changed in order to get this to work.

Thank you @christianpare. Your patch works like a charm with Thunderbird 78.3.1 (32-Bit) on Windows 10 (64-Bit) [10.0.17763.1457]

@christian1980nrw
Copy link

christian1980nrw commented Feb 7, 2022

I uploaded a compiled version of the fix here: https://github.com/christian1980nrw/clawPDF/blob/master/clawPDF.Mail.DLL
E-Mail is working again after replacing the file.
@hessandrew @clawsoftware Please accept my pull request and release a new Version.
Please update your MSI to Ghostscript 9.55.0 too. I am already using the DLL´s without issue.

christian1980nrw added a commit to christian1980nrw/clawPDF that referenced this issue Feb 8, 2022
Windows MAPI Email Fix. See clawsoftware#20
christian1980nrw added a commit to christian1980nrw/clawPDF that referenced this issue Feb 8, 2022
Windows Mapi Email Fix, see clawsoftware#20
@clawsoftware
Copy link
Owner

Fixed with version 0.8.5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants