Skip Menu |

This queue is for tickets about the MailTools CPAN distribution.

Report information
The Basics
Id: 4706
Status: resolved
Priority: 0/
Queue: MailTools

People
Owner: Nobody in particular
Requestors: muenalan [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.60
Fixed in: (no value)



Subject: Win32-fails if no exe (smtp) defined
This happens with CPANPLUS or Test::Reporter (cpantest) reports via Mail::Mailer. Died at C:/Programme/Perl/site/lib/Mail/Mailer.pm line 266, <STDIN> line 4. Found out that the ->{Exe} produces undef under Win32 and this leads to die in this line. PS: I do not have sendmail or equivalents and though Net::SMTP would be used. Murat --- Summary of my perl5 (revision 5 version 8 subversion 0) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cl', ccflags ='-nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX' , optimize='-MD -DNDEBUG -O1', cppflags='-DWIN32' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -libpath:"C:\Programme\Perl\lib\CORE" -machine:x86' libpth=\lib libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm .lib version.lib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib gnulibc_version='undef' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -libpath:"C:\Programme\Perl\lib\CORE" -machine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS Locally applied patches: ActivePerl Build 806 Built under MSWin32 Compiled at Apr 24 2003 20:37:33 @INC: C:/Programme/Perl/lib C:/Programme/Perl/site/lib .
Not only Win32 fails if you start a binary which does not exist. It seems the right thing to do.
From: muenalan [...] cpan.org
[MARKOV - Wed Mar 10 04:30:08 2004]: Show quoted text
> Not only Win32 fails if you start a binary which does not exist. It > seems the right thing to do.
Suggestion: fallback to Net::SMTP or another perl module would really make sense in a win32 enviroment where sendmail is seldomly installed (but CPAN modules are, if perl is @work). Greets, Murat
No, that would be improper behavior. On a low level, the module which tries to send a message using a certain binary should complain about a missing library. On a higher level of abstraction, a general $msg->send could try more than one module to transmit the message, and therefore implement a fall-back. This is not implemented by MailTools, but is done for my Mail::Box modules in Mail::Transport::*