Amahi Mail System

From Amahi Wiki
Revision as of 03:51, 27 March 2011 by Bigfoot65 (talk | contribs)
Jump to: navigation, search
Warning.png WARNING
This should only be attempted by advanced users.


DISCLAIMER: Although tested, use at your own risk. I cannot guarantee that it will work for your system or not cause any serious problems.

Msgbox-WOPr.png Work In Progress
Converting to Fedora 14


Purpose

The primary intent of the Amahi Mail System is to allow you to pull all ISP email into your server. Keep in mind this is still under development.

  • It allows you to send/receive mail from your HDA. There are some quirks depending on if you have a registered domain with a paid service provider (i.e. GoDaddy, Host Gator). With these services, there is typically what is called a MX record associated with the domain name. This will allow you to send/receive mail as your hostname (i.e. myhda@home.com).
  • If you use the free ones (i.e. user.yourhda.com, no-ip.org), you will have to masquerade your email address as your ISP (i.e. myhda@yourisp.com). This will ensure you can receive email replies from those you send from your HDA.

Note: There is now a complete guide to installing the Amahi Mail System with a free ddns and using a gmail account at Amahi Mail - The Free Way.

Current Version

1.75 (Fedora 12) released 9 Feb 10

Login Screen Shot

Change Log

  • Working upgrade for Fedora 14

Script download links:

Updated RPMs (20 Nov 10)

32-bit: http://dl.dropbox.com/u/1380867/32-bit-rpm.tar.gz
64-bit: http://dl.dropbox.com/u/1380867/64-bit-rpms.tar.gz


NOTE: These have not been added to the the download above or the install scripts yet. Also, maildrop is now part of the Fedora repo and no longer needs to be custom built.

How to Install

Here's the sequence of events to get the virtual email server up and running:

  1. Restart your HDA so it's fresh for the install. This is not required, just a recommendation.
  2. Enable Advanced Settings in the Amahi Dashboard (Settings-->Settings)
  3. Create a web app in Amahi named webmail.
  4. Open a terminal window, become root, and navigate to /var/hda/web-apps/webmail directory.
  5. Download script file (pick the correct one for your system) to this directory and extract it into html directory of webmail.
  6. From the html directory, run the host-update-virtual-mail-1.75.sh script. This will check your hostname. If it is not correct, you will be given an opportunity to change it (See NOTE below for unusual host names).
  7. Answer all the questions. The answers will further customize your install. Note: Mail user name and password must be one word only (i.e. mailuser, mail_user, or mail.user are acceptable)
  8. Once it completes, run the install-virtual-mail-1.75.sh script. The dependencies will be installed first. Depending on your system, 68 is the typical amount for install on a new system.
  9. Watch the script for errors. This may help narrow down the problem if you cannot log in.
  10. Once the script is complete, note the user name and password.
  11. Run the following, selecting #2 so that postfix is used to send mail:
bash code
​/usr/sbin/alternatives --config mta​


NOTE: Within a network it is possible to have a hostname that consists of xxx.xxx.xxx.xxx which this script can not recognize. Instead modify line 13 domnm=your.domain.name then run the script, all should be good (it is very rare to have a 4 level domain).

  • Navigate to http://webmail and enter your login credentials.
  • To uninstall, run the uninstall-virtual-mail-1.75.sh script.

Tips

  • To permanently change your hostname from localhost.localdomain, see this article.
  • For https, most certificates are self-signed. You may need to follow the procedures listed here when accessing http://webmail.
  • These are the steps needed to add NEW users to the foo.com domain (does not include any DNS MX records). Use phpMyAdmin to modify the mail database and substitute your information accordingly.
    • In the mail mySQL database:
      • In the users table:
        • Insert a new record with the following information...
          • user: user@foo.com
          • password: choose 'ENCRYPT' for the function and enter the users password. (Alternatively, you can have the user enter their password and click the "Go" button)
          • quota: do NOT edit this field (unless you know what you are doing)
          • Click the "Go" button
      • In the forwardings table:
        • Insert a new record for each forwarded email addresses to user@foo.com and click the "Go" button
    • Run the command line below to set up the /home/vmail/foo.com/user mail files:
bash code
​mailx -s Welcome user@foo.com < /var/hda/web-apps/webmail/html/patch/welcome.txt​
  • These are the steps needed to add an additional mail domain (does not include any DNS MX records). Use phpMyAdmin to modify the mail database and substitute your information accordingly.
    • Creating a mail domain e.g. :
      • domain is: bar.com
      • server is: foo.bar.com
      • admin user is: me@bar.com
    • In the mail mySQL database tables:
      • domain: add bar.com
      • transport: add bar.com
      • user: add me@bar.com
      • forward: add postmaster@bar.com, and abuse@bar.com to me@bar.com
    • Run the command line below to set up the /home/vmail/bar.com/me mail files:
bash code
​mailx -s Welcome me@bar.com < /var/hda/web-apps/webmail/html/patch/welcome.txt​
  • For every domain supported, the following either need to be added as users or forwarded. Without them a site MAY end up on various spam block lists:
 postmaster@foo.com
 abuse@foo.com
  • Some ISPs block port 25 for mail. Thus a remote user would be able to retrieve mail, but not send mail. To accommodate this, port 587 is used by email clients for sending mail.
    • To enable port 587, edit /etc/postfix/master.cf and uncomment the line starting with "# submission"
    • Reload postfix
  • Add capability to fetch Yahoo mail:
  1. Download the latest FetchYahoo
  2. Install instructions included

Future Plans

  • Add additional Squirrelmail plugins.
  • Database front end to manage users, accounts, etc.
  • Include interface with fetchmail to automatically retrieve mail.
  • Change dependency on MYSQL root user for database creation.

Conclusion

You should now be able to log in to your account via webmail. There will be 2 messages, one is a welcome and the other is a SPAM test to show it's working. I forgot to mention that you can access the mail server from any email client (i.e. Thunderbird, MS Outlook, etc) as well within your network.

Mailman addon option

You can now add the Mailman software to your Amahi Mail System. Follow the instructions at Amahi Mailman.


NOTE: These scripts were adapted from a tutorial authored by Falko Timme at http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64.