Skip Menu |

This queue is for tickets about the MIME-Lite CPAN distribution.

Report information
The Basics
Id: 35339
Status: resolved
Priority: 0/
Queue: MIME-Lite

People
Owner: Nobody in particular
Requestors: Ian.Leveson [...] DW-World.de
Cc:
AdminCc:

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



Subject: CRITICAL ERROR MIME::Lite-3.021 on Unix broken: Requires local sendmail
Date: Wed, 23 Apr 2008 14:56:44 +0200
To: bug-MIME-Lite [...] rt.cpan.org
From: Ian Leveson <Ian.Leveson [...] DW-World.de>
Dear Supporters, MIME::Lite-3.021 is broken on Unix, since the default (sendmail) is clearly hardcoded as a requirement. The module fails to compile as soon as the following line is reached in the perl code: use MIME::Lite; This is also the case in the test files. Adding in a line such as: MIME::Lite->send("smtp", "remote mailserver", Timeout=>120); makes no difference, also not in the test routines, since the error occurs before it is reached. The normal error message which one sees is: can't find an executable sendmail at perl-application.pl line 17 Compilation failed in require at perl-application.pl line 17. BEGIN failed--compilation aborted at perl-application.pl line 17. This is a CRITICAL error since it prevents usage of MIME::Lite except where there is a locally installed sendmail server. If this is not fixed pronto, I will have to abandon MIME::Lite Yours, Ian Leveson
From: klinebch [...] gmail.com
I am facing the same problem. There is no documented requirement for a sendmail executable on UNIX's, and we are hoping to use this module for SMTP, but it dies immediately. All we can do is trap the die, but the die really shouldn't be there at all. On Wed Apr 23 08:57:29 2008, Ian.Leveson@DW-World.de wrote: Show quoted text
> > Dear Supporters, > > MIME::Lite-3.021 is broken on Unix, since the default (sendmail) is > clearly hardcoded as a requirement. > The module fails to compile as soon as the following line is reached in > the perl code: > use MIME::Lite; > This is also the case in the test files. > > Adding in a line such as: > MIME::Lite->send("smtp", "remote mailserver", Timeout=>120); > makes no difference, also not in the test routines, since the error > occurs before it is reached. > > The normal error message which one sees is: > > can't find an executable sendmail at perl-application.pl line 17 > Compilation failed in require at perl-application.pl line 17. > BEGIN failed--compilation aborted at perl-application.pl line 17. > > > This is a CRITICAL error since it prevents usage of MIME::Lite > except where there is a locally installed sendmail server. > > If this is not fixed pronto, I will have to abandon MIME::Lite > > Yours, > > Ian Leveson > > >
I feel it's also worth noting that I've just hit the same problem. However, I'm using the module to create mail samples for testing, and as such use the print() function, NOT send(). No sendmail is ever involved! Shouldn't this be a part of the send() function ONLY? This would then allow the user to also specify the transport method via the object call, not just the class call? For now I've edited the Carp:croak to a warn, and all is good :) Just don't tell anyone I did that ;)
On Wed Aug 06 07:00:56 2008, BARBIE wrote: Show quoted text
> I feel it's also worth noting that I've just hit the same problem. > However, I'm using the module to create mail samples for testing, and as > such use the print() function, NOT send(). No sendmail is ever involved! > > Shouldn't this be a part of the send() function ONLY? This would then > allow the user to also specify the transport method via the object call, > not just the class call? > > For now I've edited the Carp:croak to a warn, and all is good :) Just > don't tell anyone I did that ;)
This seems to be fixed in the Debian version of MIME::Lite. See here for the diff http://ftp.de.debian.org/debian/pool/main/libm/libmime-lite-perl/libmime-lite-perl_3.021-3.diff.gz I think this could be applied to the original MIME::Lite, too. Regards, Slaven
On Thu Oct 30 06:27:57 2008, SREZIC wrote: Show quoted text
> On Wed Aug 06 07:00:56 2008, BARBIE wrote:
> > I feel it's also worth noting that I've just hit the same problem. > > However, I'm using the module to create mail samples for testing,
> and as
> > such use the print() function, NOT send(). No sendmail is ever
> involved!
> > > > Shouldn't this be a part of the send() function ONLY? This would
> then
> > allow the user to also specify the transport method via the object
> call,
> > not just the class call? > > > > For now I've edited the Carp:croak to a warn, and all is good :)
> Just
> > don't tell anyone I did that ;)
> > This seems to be fixed in the Debian version of MIME::Lite. See here > for > the diff > http://ftp.de.debian.org/debian/pool/main/libm/libmime-lite- > perl/libmime-lite-perl_3.021-3.diff.gz > > I think this could be applied to the original MIME::Lite, too.
And the following might be used as workaround (by faking the presence of sendmail). Untested, but you get the idea: #!/usr/bin/perl BEGIN { use Config qw(); use File::Temp qw(); my($tempdir) = File::Temp::tempdir(CLEANUP => 1, TMPDIR => 1); open my $fh, ">", "$tempdir/sendmail" or die $!; close $fh; chmod 0755, "$tempdir/sendmail"; $ENV{PATH} = $ENV{PATH} . $Config::Config{path_sep} . $tempdir; } use MIME::Lite;
applied, released -- rjbs