The Mojo Mail Error FAQ

This FAQ is targeted on helping solve errors frequently found with Mojo Mail. Please make sure you've read both the installation and The Config.pm tour. Many things are explained in those pages. If this page does not answer your question, please feel free to post your questoin to the Mojo Mail Boards

Mojo Mail isn't working

That's not much to go on, Why isn't it working? If you don't have a clue, find out as much about the server its software that you can and read on, brave soul!

Mojo Mail gives me a 'Server Error 500' Message when I first start it

Check to see that you:

can't open /usr/home/path/to/your/mojo_lists to read

I'm getting a Software Error that says:

        can't open /usr/home/path/to/your/mojo_lists to read: No such file or directory at /MOJO/GUTS.pm

Did you change the first 4 variables in the Config.pm file? What's happening is that its looking for a directory on the server that doesn't exists.

can't open /usr/home/myaccout/lists to read: Permission denied

I'm getting a sofware error that says:

        can't open /usr/home/myaccout/lists to read: Permission denied at /MOJO/GUTS.pm

The directory that you specified in the Config.pm as the place to put your lists (the $FILES variable) exists, but isn't something Mojo Mail can read and possibly write into. You'll need to change the permissions of this directoy. Usually, people on a regular hosting account will have to chmod the $FILES directory to 777.

Just to reiterate, this is a directory not a file. All sorts of files are going to be written inside this directory, so be ready.,

I get the 'Congratulations' startup screen, but ...

I get the 'Congratulations' startup screen, but when I enter my root password and click the button, I either see a 404 page, or nothing happens

Did you set the $MOJO_URL variable in the Config.pm file? This variable is defaulted to this:

        $MOJO_URL ='http://yoursite.com/cgi-bin/mojo/mojo.cgi';

Which, unless your domain is yoursite.com, is wrong. Change it to the URL that you have to access the mojo.cgi script from.

In your server configuration, can information be passed to the script using the POST method? If not, you're in trouble, cause Mojo Mail needs that. 99.99% of the time, you'll be able to use the POST method to send information to a script, but sometimes, for security reasons, you won't be able to. This can be set in your servers configuration file, like httpd.conf.

No mail is being sent and I get this error in my logs:

        mojo.cgi: Broken pipe at MOJO/MAIL.pm

or I see this Software Error in my browser:

        Error: can't pipe to mail program using settings: |/usr/bin/sendmail -t

This means that the $MAILPROG variable in the Config.pm file is incorrect. If you have shell access to your server, type in this:

        which sendmail

to find out where the sendmail program is on your server, or ask your system administrator.

If you're on a WinNT server, you're most likely not going to be using Sendmail this way, you should be sending all your mail using an SMTP server. Check out the Windows readme file for more information on how to set up your copy of Mojo Mail for Windows.

Use of uninitialized value

Everything is working fine, but when I open up my error log (or even sprinkled on the mojo script in my web browser) I see annoying things like this:

        Use of uninitialized value at /home/mysits/web/cgi-bin/mojo/mojo.cgi line 7064.

They are honestly annoying, I don't know what they mean, and frankly, I don't care, what is happening?!

Not to worry, these aren't really errors, they're 'warnings' It's saying that something isn't being done correctly and that this might be a problem. A few things to do, all these things are located at the top of the mojo.cgi file (NOT the Config.pm file)

The first line of mojo.cgi should look similar to this:

        #!/usr/bin/perl -w

change that line, to this:

        #!/usr/bin/perl

The '-w' is a flag, that says, tell me about warnings, (Use of uninitialized blah blah blah), we don't want that.

Around line 40 in mojo.cgi, you'll see this:

        use CGI::Carp "fatalsToBrowser";

Comment this line out or delete it. That tells Mojo Mail to tell you these little things in your web browser.

Can't locate MIME/Lite.pm in @INC (@INC contains: ...

Mailings work fine, until I try to send out a list message, then I get this error:

        Can't locate MIME/Lite.pm in @INC (@INC contains: ...

Make sure you uploaded the MIME directory that's within the MOJO directory. The MIME directory has a script called Lite.pm which is used to make list messages. While you're at it, make sure you uploaded the MAIL directory that's within the MOJO directory as well. Mojo Mail should be uploaded in the same structure as you received it.

Can't locate MIME/Base64.pm

I get an error like this:

        Software error: 
        Can't locate MIME/Base64.pm in @INC (@INC contains: ../ . ./ ./MOJO /usr/lib/perl5/5.6.0/i386-linux /usr/lib/perl5/5.6.0 /usr/lib/perl5/site_perl/5.6.0/i386-linux /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl) at (eval 27) line 3.

but everything is working fine, what's up?

If we only knew. This looks like a bug in Mime::Lite - a part of Mojo that we really like (Ok, LOVE) , but wasn't developed by us, so we can't think why it's broken. Basically, don't worry about the message, it's more of a warning than anything, if a slightly annoying warning. There are directions in mojo.cgi itself to get rid of 'em.

My lists are suddenly gone, what happened?

Was your hosting account moved to another server, or has the server you were on upgrade it's operating/server software/version of Perl? Those can muck things right up.

I moved my lists from one server to another and reinstaled Mojo Mail. Now when I try access my lists, I get this error:

 Software error: couldn't tie for reading: Permission denied

First off, Mojo Mail was never designed to be moved from one server to another, but this problem can be fixed by resetting the permissions on all the files Mojo Mail reads to do it's work. Everything you put in whatever directory you set in the $FILES variable needs to be Readable and Writeable to Mojo Mail. When you created a list, The files are created by Mojo Mail and Mojo Mail gave itself enough permissions to read and write it's own files. You reset these permissions to something completely different when you downloaded these files and uploaded them again. Try chmod'ing all the files to 777. This isn't the best thing to do, but it's likely that the files are owned by something other than Mojo Mail.