http://www.perlmonks.org?node_id=11131087

vexed has asked for the wisdom of the Perl Monks concerning the following question:

Good day Monks,

I hope you are all well. I am very novice Perl user, in fact I have only used sendEmail.exe by Brandon Zehm, which is a packed Windows executable based on Perl.

http://caspian.dotconf.net/menu/Software/SendEmail/

That specific version of sendEmail is old and only supports TLSv1.0

I have found an updated Perl script patched to used TLSv1.2.

https://gist.github.com/wilkart/7eb6c8ec7eb6b0cb18a8439bc40da6f8

I have used Par::Packer (installed via cpan)to pack this updated Perl script into an executable, but no matter what I do, the executable keeps asking for Net::SSLeay and IO::Socket::SSL if Perl is not installed. (It works fine if Perl is installed or if I run the .pl script)

Below is the error message from sendEmail.

sendEmail.exe: ERROR => No TLS support! SendEmail can't load required libraries. (try installing Net::SSLeay and IO::Socket::SSL)

Things that I tried:

  • I have used pp with -M Net::SSLeay -M IO::Socket::SSL.
  • I have installed Strawberry Perl 32 bit and 64 bit. (v5.32.1.1)
  • I have used Perl Portable instead. (v5.32.1.1)
  • I have used an older version of Perl. (v5.26.3.1 32 bit Portable)
  • I have made sure the needed packages are installed and up to date.
  • I have tried to use Dependency Walker, but it seems to hang on my workstation (Windows 10 20H2 x64).
  • pp -x sendEmail.pl fails with this error message: SYSTEM ERROR in executing sendEmail.pl : 256 at C:/Perl/perl/site/lib/Module/ScanDeps.pm line 1503.
  • I do not understand why the generated executable is not finding or loading the required libraries.

    Any help is greatly appreciated.