
Q: I got "Internal server error" when running Open WebMail?
   I got "can not do setuid" error?
   I got "Software error: Can't locate etc/openwebmail.conf in @INC" error?
A: There are many possible answers...

   1. Please check you have installed a complete set of perl 5.005 or above.
      And You uncompress the openwebmail-1.xx.tgz with proper parameter.
      It should be "tar -zxvBpf openwebmail-1.xx.tgz"

   2. Your openwebmail scripts may have wrong owner or mode.
      The permission of 

      openwebmail.pl, openwebmail-main.pl, 
      openwebmail-read.pl, openwebmail-viewatt.pl, 
      openwebmail-send.pl, openwebmail-spell.pl,
      openwebmail-prefs.pl, openwebmail-folder.pl and checkmail.pl

      should be
      mode=4555
      owner=root
      group=mail

   3. Your perl may be compiled with suid ability disabled.
      a. check if you have a executable of suidperl, 
         then 'chmod 4555 suidperl'
         and change #!/usr/bin/perl to the path of this suidperl

      b. Or recompile your perl with suid enabled
         Here are the steps: 
         1. grab the perl source tar ball
         2. sh Configure -de (de means default perl config) 
         3. edit config.sh and set this : 
            d_dosuid='define' 
            d_suidsafe='undef'
         4. then make, make install (make suidperl if needed) 
         (thanks to Nemo Kaiser, nemoo@users.sourceforge.net)

      c. Or use uty/suidwrap.pl to generate C wrappers for all suid scripts.
         Here are the steps:
         1. cd cgi-bin/openwebmail
         2. perl uty/wrapsuid.pl /fullpath/cgi-bin/openwebmail

         All suid scripts will be renamed to .scriptname.pl and
         the C wrapper will be generated and named as script.pl
         (thanks to Chris Heegard, heegard@NativeI.com)

   4. The MIME::Base64 or CGI module on your system may be too old
      a. install MIME-Base64-2.12.tar.gz
      b. install CGI.pm-2.74.tar.gz

   5. Please install the libnet-1.0901.tar.gz, this is required since 
      version 1.60.

ps: In most cases, you can run the './openwebmail.pl' in text terminal
    to get more information about the error.

Q: I got "Can't check filesystem of script "./openwebmail.pl" for nosuid"?
A: Your openwebmail may be installed on a filesystem mounted nosuid.
   Please remove the nosuid parameter from /etc/fstab or install openwebmail
   to other filesystem.

ps: 'man mount' for more information about nosuid

Q: The login menu showed okay, but I always got login failure?
A: Check auth_module option in openwebmail.conf:

   If it is 'auth_unix.pl', 
   check if $unix_passwdfile and $unix_passwdmkdb in auth_unix.pl are correct

   If it is 'auth_pam.pl', 
   make sure you have followed the instructions of 'PAM SUPPORT' in readme.txt.
   If you still got login failure, you can debug the pam module by:
   1. modify auth_pam.pl
      uncomment all the lines of log_time(...)
   2. login to openwebmail
   3. check the /tmp/openwebmail.debug for more information.

Q: Some of my users login okay, but others don't, why?
A: It is possible that you are upgrading from version prior to 1.41 
   to the newer version. The virtual user support is totally reimplemented.
   It uses virtusertable instead of genericstable for user mapping now. 
   Please refer to 
   http://www.sendmail.org/virtual-hosting.html to know how to translate 
   entries in genericstable to virtusertable.

Q: The login is okay, but I can't change by my password with openwebmail?
A: There are 2 possible answers for this:
   1. Your passwdfile is not local accessible.
      If you use auth_unix.pl for authentication and your $unix_passwdfile
      is not a local accessible file (ex: examples in auth_unix.pl that are
      terminated with |), the changepassword feature won't be available.
      In these cases, you have to use auth_pam.pl to get the changepassword
      to work.
   2. Your system doesn't support saved set-user-ID, so openwebmail won't get
      enough privilege to change the passwdfile.
      Try to set savedsuid_support to 'no' in openwebmail.conf to solve 
      this problem.
   3. The authentication module you used didn't support password changing, 
      ex: auth_pop3.pl

Q: I got "Couldn't open XXX-session-0.370606494136155!" error after login?
A: You openwebmail-1.xx.tgz was uncompressed with improper parameter.
   It should be "tar -zxvBpf openwebmail-1.xx.tgz"

Q: I got "Software error: Can't locate MIME/Base64.pm in @INC"?
A: Please download MIME-Base64-2.12.tar.gz and install

   cd /tmp
   tar -zxvf MIME-Base64-2.12.tar.gz
   cd MIME-Base64-2.12
   perl Makefile.PL
   make
   make install

Q: I got "can't open /var/log/openwebmail.log" error?
A: Please check the openwebmail.log permission, it should be
   owner=root, group=mail, mode=660

Q: Most functions works fine, but I got "Internal server error" when sending
   messages?
A: Please install the libnet-1.0901.tar.gz, this is required since 
    version 1.60.

Q: The 'From' field of my message contained only 'username@'?
A: You may has wrong setting for option domainname in openwebmail.conf
   1. For version older than 1.41 ,
      please be sure to use '' for a text string of hostname
      or use `` for the program (ex: /bin/hostname)
   2. For version 1.50 or above,
      please list all domainnames separated with comma.
      or use auto for this setting, openwebmail will call '/bin/hostname'
      to get the fqdn of your host.

Q: How can I use LDAP to authenticate user in openwebmail?
A: You have 2 ways to do this:
   1. use the auth_ldap.pl written by Ivan Cerrato, pengus@libero.it
   2. use auth_pam module and let pam to talk with ldap server.

   Below is an article posted at sourceforge by "ispman@user.sourceforge.net
   (http://sourceforge.net/forum/message.php?msg_id=1462314)

   ---------------- begin ----------------
   I hope this is useful to someone:

   I was able to get openwebmail to authenticate using ldap/pam on a system 
   with Redhat 7.1, pam_ldap135, and OpenLDAP 2.0.18.

   In openwebmail.conf ~

   auth_module             auth_pam.pl

   In auth_pam.pl ~

   my $pam_servicename="openwebmail"; 
   my $pam_passwdfile="/etc/passwd";

   vi /etc/pam.d/openwebmail:

   #%PAM-1.0 
   auth       required     /lib/security/pam_unix.so 
   auth       sufficient   /lib/security/pam_ldap.so 
   account    required     /lib/security/pam_unix.so 
   account    sufficient   /lib/security/pam_ldap.so

   That's it.  LDAP users will authenticate with the pam_ldap module and 
   system users with pam_unix.
   ---------------- end ----------------

Q: How can I use multiple virtual domains with openwebmail?
A: First, you have to decide whetherto use real virtual hosting or 
   just user alias.

   1. The User Alias

   User alias is much simpler, your system is actually a one domain machine.
   You only have to define the user alias in virtusertable.

   For example, you have 1    real domain server.com and 
                         2 virtual domain virtual_1.com, virtual_2.com 
   for your server. 

   You already have tom and john on this server.
   And now you want 2 more tom and john for each virtual domain.

   Define the following entries in your virtusertable will make it.

   tom@virtual_1.com	tom1
   tom@virtual_2.com	tom2
   john@virtual_1.com	john1
   john@virtual_2.com	john2

   And how these users are used?

   If the user logins as tom and the webmail url is http://virtual_1.com/....
   then alias tom@virtual_1.com will be matched, real user tom1 will be used.
   If the user logins as tom and the webmail url is http://virtual_2.com/....
   then alias tom@virtual_2.com will be matched, real user tom2 will be used.
   
   If the user logins as tom and the webmail url is http://server.com/....
   then real user tom will be authenticated.

   If the user logins as tom@virtual_1.com, then no matter what the url is,
   the alias tom@virtual_1.com will be matched, user tom1 will be used.

   In the user alias mapping, users of different virtualdomains are actually 
   mapped to the real domain and then passed to same authentication module.


   2. Real Virtual Hosting

   The real virtual hosting means your system is configured to a multiple 
   domain machine in either smtpd, pop3d, webmail and authentication module.

   You will need to use the per domain config file in openwebmail for each 
   of your virtual domain. These config files will be loaded based on

   1. the domainname part in loginname, or
   2. the hostname in the url of the webmail

   For example:

   If the user login as tom and the webmail url is http://virtual_1.com/...,
   config file for virtual_1.com will be loaded
   If the user login as tom and the webmail url is http://virtual_2.com/...,
   config file for virtual_2.com will be loaded
   If the user logins as tom@virtual_1.com, then no matter what the url is,
   config file for virtual_1.com will be loaded

   Each domain can have its own set of options in its config file,
   including domainname, authentication module, quota limit, mailspooldir ...

   A more detailed example is described in the Kevin Ellis's webpage: 
   "How to setup virtual users on Open WebMail using Postfix & vm-pop3d"
   http://www.bluelavalamp.net/owmvirtual/

Q: The default email address for my user is always wrong, how can I set it?
A: To have openwemail find the correct email for the user, 
   you'd give it some hint.

   For example, if the webmail url is

   http://mail.server_1.com/cgi-bin/.....,

   and you want the email for tom to be tom@virtual_1.com.

   You can achieve this in either the following 3 ways:

   1. add an entry to virtusertable
      tom@virtual_1.com tom
   2. create per user config file etc/users.conf/tom
      and set option domainnames to virtual_1.com
   3. create per domain config file etc/sites.cof/mail1.server_1.com
      and set option domainnames to virtual_1.com

   While 1,2 are only for the user tom, the method 3 has effect for all users 
   who logins with the url http://mail.server_1.com/cgi-bin/....

Q: How can I disallow the user to set their from email address?
A: set option allow_setfromemail to 'no' in either openwebmal.conf or per 
   user config.

Q: Some of my messages were moved to trash folder automatically?
A: Your messages were either filtered by 'global filter rule' or 
   'faked smtp message filter'. 

   Global filter will filter messages with know virus attachments. The global
   filter rules are defined in the file global_filterbook
   (global_filterbook is defined as %ow_etcdir%/global_filterbook in 
    openwebmail.conf.)

   The 'faked smtp message filter' will filter messages that have a faked smtp
   source, those messages are often from spammers. 'faked smtp filter' is 
   default enabled and can be changed in openwebmail.conf. The user can also 
   disable it in the user preference. 

Q: What are "messages with faked smtp"?
A: In short, they are messages coming from mail servers that fake their 
   name from other machines. 

   Where is a message coming from?

   A message sent from machine A to machine B may have 2 cases:
   a. A ---> M1 ---> M2 ---> B (M1, M2 are mail servers)
      In this case, openwebmail use M1 as the from server. 
      Since most of the time, A is windows machine using outlook.
   b  A -------------------> B
      In this case, openwebmail use A as the from server.

   How do we know if a from server fakes his name?   

   Each host may have 3 names in the mail header:
   $byas - name used by this server when saying hello to incoming connection
   $relay - name used by this server when relaying mail through other host
   $connectfrom - ip and name detected by other hosts resolved from DNS system
                  when receiving connection from this server

   A from host is faking his name if
   a. $byas doesn't equal to $relay, and
   b. $connectfrom doesn't equal to $relay, and
   c. $connectfrom has different domain than the desition server B, and
   d. $connectfrom is not private IP

Q: I still want the filtered messages, 
   how can I disable faked smtp filter completely?
A: 1. Set default_filter_fakedsmtp to 'no' in openwebmail.conf
      This will unset the default fakedsmtp filter for all newly created user
   2. Uncheck the faked smtp filter option in user preference
      This will disable the fakedsmtp filter for a specific user

Q: I could not add attachments?
   Open WebMail was hanged when I pressed the 'add' button to add attachments?
A: 1. Your CGI or MIME-Base64 module may be too old,
      Please download CGI.pm-2.74.tar.gz and MIME-Base64-2.12.tar.gz in
      http://turtle.ee.ncku.edu.tw/openwebmail/download/packages/ 
      and install them to your system.
   2. Your proxy may limit the size of a POST request.
      Try to add attachments with no proxy setting in your browser.
      If you are the administrator of the squid proxy server,
      please set the request_body_max_size option to a larger value.

Q: Attachments disappeared when I forwarded a message?
A: Check permission of the following directories
   cgi-bin/openwebmail/etc          - owner=root, group=mail, mode=755
   cgi-bin/openwebmail/etc/sessions - owner=root, group=mail, mode=770
   cgi-bin/openwebmail/etc/users    - owner=root, group=mail, mode=770

Q: The permission of cgi-bin/openwebmail/etc is correct but attachments 
   still disappeared in message forwarding?
A: Hmmm, please upgrade to the latest version. 
   Some old version(1.03,1.04) has little problem in attachment handling.

Q: When I checked 'edit folder menu', I found some folders were empty but 
   took disk space?
A: The disk space occupied by a folder shown in 'edit folder menu' includes
   the size of a folder and its index. Though folder is empty, the folder 
   index still has some data structure to maintain.

Q: When I clicked 'spell check' button, I got "Internal Server error" in new
   window?
A: Please be sure that you have installed ispell-3.1.20.tar.gz

Q: Ispell has been correctly installed, but spellcheck still doesn't work?
A: The spellcheck in old version of openwebmail doesn't work on RedHat 7.x,
   please upgrade your openwebmail to the latest version.

Q: Why is openwebmail-spell.pl a suid root program?
A: Because it needs to read the preference file, ~/mail/.openwebmailrc, 
   of different users to get their language and dictionary setting.

Q: I got 'Couldn't get read lock on ....' error?
         'Couldn't get write lock on ....' error?
A: This may hapeen if the folder openwebmail want to access is locked by
   other process. Most of the time, it is due to the concurrent accesses 
   to the folder by other mail client through the pop3/imap daemons.
   This is okay, just back to previous page and try again.

   If you always got this error and be sure it is not caused by pop3/imap,
   you may try to debug the filelock in the following steps:

   1. install the 'lsof' utility on your system
      (lsof is available at http://freshmeat.net/projects/lsof/)
   2. cd  your_web/cgi-bin/openwebmail
      patch < uty/filelock.pl.diff
   3. step 2 will turn the filelock.pl to a version special for debugging,
      the debug output will be written to /tmp/openwebmail.debug
   4. login into openwebmail and do some operation that will cause lock error,
      then check /tmp/openwebmail.debug for further information
   5. Finally, don't forgt to do 'patch < uty/filelock.pl.diff' again to 
      reverse filelock.pl back to normal version.

Q: I have problems in reading some mail....
A: please check 
   http://turtle.ee.ncku.edu.tw/openwebmail/download/doc/changes.txt
   to see if any update fixes your problem and download the 
   openwebmail-current.tgz

Q: I got 'Sorry, there was a problem sending your message' error?
A: Please check if smtpserver option in openwebmail.conf points to valid
   SMTP server, its default is '127.0.0.1'. If you set it to name of some
   other SMTP server, please be sure the SMTP server allows mails relayed 
   from your host.

Q: The autoreply function doesn't work?
A: An incoming message won't be replied by vacation.pl if
   1. the destinated username has entries defined in /etc/alias which causes
      the mail routed to another account without calling vacation.pl
   2. the destinated username doesn't not appear as an recipient in To: or Cc:
   3. this message is sent by the destinated username himself

   If your message is not in the above 3 cases, please be sure that 
   vacationinit and vacationpipe in openwebmail.conf have pointed to the 
   path where the vacation program is.

   If the path is correct, you can do debug with the -d option

   1. add the '-d' parameter to the vacationpipe in openwebmail.conf
      like below

      vacationpipe   /usr/local/www/cgi-bin/openwebmail/vacation.pl -d -t60s

   2. choose a user, enable his autoreply in openwebmail user preference
   3. check the ~user/.forward file, the '-d' option should appear after 
      vacation.pl
   4. send a message to this user to test the autoreply
   5. check the /tmp/vacation.debug for possible error information

Q: When I enable autoreply feature, others get "Returned mail: see
   transcript for details" instead of my autoreply message?
A: Your sendmail may be configured with Sendmail Restricted SHell or smrsh.
   vacation.pl file needs to be added to smrsh.

   If you are using RedHat 7.1, you may link vacation.pl to /etc/smrsh/

   cd /etc/smrsh
   ln -s /var/www/cgi-bin/openwebmail/vacation.pl /etc/smrsh/vacation.pl
   (thanks to Emir Litric, elitric@yahoo.com)

Q: My SENT folder shows -1 or other negative message size rather then
   regular message size?
A: This problem occurs if you installed Open WebMail on the same partition 
   where quota is enabled. Open WebMail uses temp files in 
   cgi-bin/openwebmail/etc/sessions folders.
   Solution is to move sessions folder to another partition with no Quota.

   Please read RedHat-README.txt for detailed explanation on setting up
   this, since this problem mostly occurs on RedHat Linux 6.2 and bellow. 
   (thanks to Emir Litric, elitric@yahoo.com)

Q: My openwebmail was okay, but I got "Your request didn't contain the proper 
   session ID cookie -- access denied!" in these days?
A: Openwebmail puts user uploaded attachments in cgi-bin/openwebmail/etc/sessions/ 
   temporarily. User will get error if there is no space left on the partition where
   cgi-bin/openwebmail/etc/sessions/ lives or user has exceeded his disk quota.

   Please move cgi-bin/openwebmail/etc/sessions to a larger partition with
   diskquota disabled, then create a symbolic link to that new directory

   cd /new_place

   mkdir sessions
   chmod 770 sessions
   chown 0 sessions
   chgrp mail sessions

   cd yourweb_cgi-bin/openwebmail/etc/
   rm -Rf sessions
   ln -s /new_place/sessions .

Q: The Open WebMail is very slow on my machine?
A: It depends on how you define the "slow". 

   The response time of Open WebMail in normal operation would be:
   6 second on a p133 machine.
   3 second on a p200mmx machine.
   1 second on a celeron300 machine.

ps: Some operations would take more time than normal operation, for example:
    indexing on a large folder, adding large attachment to a message.

   It is recommended that you install Open WebMail on a medium-sized machine.
   (ex: Celeron 300 with 128MB ram). Actually it runs quite well on a pentium 
   200mmx machine if you have enough ram installed.

   There is an analysis of memory usage of Open WebMail available at
   http://turtle.ee.ncku.edu.tw/openwebmail/download/doc/memory.usage

Q: How can I upgrade from old version of Open Webmail?
A: Each version of openwebmail is made to be backward compatible with
   old ones, no user setting or mail message will be lost after upgrade.
   The upgrade steps:
   1. make a copy of your old openwebmail.conf
   2. install new openwebmail in the same location as old version
   3. update the new openwebmail.conf with the setting in old one.

Q: How can I report problem?
A: If your Open WebMail doesn't work, please post your problem on
   openwebmail forum http://sourceforge.net/forum/forum.php?forum_id=108433
   with the following information

   OS
   Perl Version
   your openwebmail.conf
   the ls -l of the perl executable used in your openwebmail.pl
   the ls -l of your cgi-bin/openwebmail and cgi-bin/openwebmail/etc
   the ls -la of the ~user/mail/
   the error message in your browser

   If your Open WebMail works but it shows strange output for some messages,
   please forward the message as an attachment to us
   (openwebmail@turtle.ee.ncku.edu.tw)
   ps: clicking the 'forward as attachment' icon in message reading menu

Q: Can I call openwebmail from my programs with username/password specified?
A: You can call the openwebmail with url
   http://server/openwebmail.pl?loginname=USER&password=PASS

   But this is a little dangerous since the loginname and password will
   be displayed on the URL line of the user's browser.

Q: Can I call openwebmail and enter the composemessage menu directly?
A: You can call the openwebmail with url
   http://server/openwebmail.pl?loginname=USER&password=PASS&to=EMAIL&subject=SUBJECT

Q: How can I setup IE to trigger Open WebMail compose window when I click
   a "mailto:someone@somehost" link?
A: In Windows Explorer, if you go to Tools -> Folder Options, click on the 
   File Types tab. In the window that appears, scroll down the list to the 
   entry for  "URL:MailTo Protocol".  Highlight URL:MailTo and click edit.
  
   Choose to edit the action for open.  By default it probably has a 
   command to open Outlook Express (or your default email client).  
   Change the Application to read:  
   "C:\program files\internet explorer\iexplore.exe" http://your_server/cgi-bin/openwebmail.pl?loginname=NAME&password=PASS"

   This will make Windows open Internet Explorer and go directly to the .pl 
   page and login with the specified user and pass.

   (Thanks to Mike Andrews, mike@lcso.org)

Q: How can I set an alias or link to the openwebmail script so users can 
   user openwebmail with a shorter url?
A: Please create a file, index.html, like below. Either a or b is okay. 
   Than put this index.html to the location mapped by the url you want.
   a.
   ----------------------------------------
   <html><head>
   <meta http-equiv="Refresh" 
   content="0;URL=http://your_server/cgi-bin/openwebmail/openwebmail.pl">
   </head></html>
   ----------------------------------------
   b.
   ---------------------------------------
   <html>
   <body onload=
   "window.open('http://your_server/cgi-bin/openwebmail/openwebmail.pl','_top')">
   </body>
   </html>
   ----------------------------------------

Q: Can I install openwebmail without root priviledge?
A: Yes, try the auth_pop3.pl. Some information is available in it.

Q: Can I setup mail account for user without creating the unix acount?
A: Yes, you need postfix + vm-pop3d + openwebmail.
   Kevin Ellis(kevin@bluelavalamp.net) has made a webpage for this,
   it is available at http://www.bluelavalamp.net/owmvirtual/

Q: Can Open WebMail be used with mod_perl?
A: No, lots of code needs to be changed to make Open WebMail a good behavior
   program under mod_perl. Currently, it can not be used with mod_perl. 

Q: Does Open WebMail support maildir and vpop3mail user by Qmail?
A: No, It doesn't.

Q: Will Open WebMail support maildir and vpop3mail used by Qmail?
A: Maybe, but it won't be implemented in the near future since we don't use
   qmail on our mail server. It is said that qmail has a 'mbox' compatible 
   mode, you may use that mode with openwebmail.

Q: Can I use Open WebMail in a commercial web site? 
A: Yes. Open WebMail is GPLed software (please see copyright.txt for 
   detail of GPL). You can distribute/use/modify/sell it freely ONLY IF

   a. The GPL Copyright page must be kept untouched.
   b. Any improvement of Open WebMail or any product based on Open WebMail
      must be released to the public for free in source form if it is not for 
      internal use.
   c. Products based on Open Webmail must be also distributed under GPL.


03/08/2002 

openwebmail@turtle.ee.ncku.edu.tw
