Question
I've installed, twiki on my intranet for evaluation.
I tried to register a new user and got this error message:
*
Software error:
Can't call method "mail" on an undefined value at ../lib/TWiki/Net.pm line 187.
For help, please send mail to the webmaster (
krayc@comcastPLEASENOSPAM.net), giving this error message and the time and date of the error.
*
I've read about similar errors but could not make sense of the answers, besides which all these tools are new to me, Apache, Perl, Cyqwin, Twiki, etc.
.
- TWiki version: not sure, but it was downloaded, April 14th, 2002
- Web server: Apache, 1.3.24
- Server OS: Windows 2000 pro
- Web browser: IE 6.0
- Client OS: Windows 2000 pro
--
KevinCook - 15 Apr 2002
Answer
I know the feeling (all this stuff being new to you (and me)).
Try looking at these pages:
The first one does not have that many words (so is presumably less confusing). The second one describes my oddyssey, and is confusing, what with false starts and all.
PS: I guess that that disables the mail confirming registration -- that wasn't a concern for me on my private TWiki, but might be a concern for you -- maybe someone else can comment. (It's been something like a year since I did that.)
--
RandyKramer - 15 Apr 2002
This is a bug - it's fixed at
Codev.NetSmtpFailsToConnect, which includes a patch for the Dec 2001 release. The fix is in the recently announced
TWikiBetaRelease as well.
To apply the patch, you can use
CygWin (make sure you install the
patch program): just get into the
twiki/lib/TWiki directory and run
patch -i email-host-down.patch, which will update the Net.pm file for you. (Once you have Cygwin installed, it's easy to apply patches to fix bugs - see
TWikiPatches).
--
RichardDonkin - 15 Apr 2002
For what's worth, I had exactly this problem today and fixed it by going to the
TWikiPreferences page and removing "mail" from SMTPMAILHOST = mail. The problem seems to be that my default mail program is sendmail (defined by $mailProgram in TWiki.cfg) but Net.pm tries to access Net::SMTP. The page says: "if SMTPMAILHOST is empty, the external sendmail program is used". Afterwards, the registration seemed to work and I received email notification as expected. Server OS is Linux.
--
DavidGroskind - 15 Apr 2002
Interesting - sounds like the SMTPMAILHOST in the distribution should be empty, so it works on Linux/Unix. It might be simpler to just have a switch that says 'mailer is Net::SMTP or $mailProgram'.
--
RichardDonkin - 16 Apr 2002
Default for
SMTPMAILHOST should remain
mail since
Net::SMTP is usually installed and not all platforms have
sendmail installed.
--
PeterThoeny - 17 Apr 2002