Tuesday, July 5, 2011

IndiMail Installation for newbies in < 10 steps

Installing Indimail using YUM/APT Repository

  1. Install OS
    • OpenSUSE
      • openSUSE Leap 42.3
      • openSUSE Leap 42.2
      • openSUSE 13.2
      • openSUSE 13.1
      • SUSE Linux Enterprise 12 SP2
      • SUSE Linux Enterprise 12 SP1
      • SUSE Linux Enterprise 12
    • Red Hat
      • Feodra 27
      • Fedora 26
      • Red Hat Enterprise Linux 7
      • Red Hat Enterprise Linux 6
      • CentOS 7
      • CentOS 6
    • Debian
      • Debian 8.0
      • Debian 7.0
      • Ubuntu 17.04
      • Ubuntu 16.10
      • Ubuntu 16.04
      • Ubuntu 14.04
      • Ubuntu 12.04
  1. Click the below URL for Install Instructions
  1. Shutdown MySQL if already running and disable MySQL from being started up by the system % /etc/init.d/mysqld stop % sudo chkconfig mysqld off % /bin/rm -f /service/mysql.3306/down
  2. Start IndiMail
% sudo service indimail start
  1. Check Servicess
% sudo /usr/bin/svstat /service/*
/service/clamd: up (pid 1014) 2985 seconds
/service/dnscache: up (pid 1021) 2985 seconds
/service/fetchmail: down 2985 seconds
/service/freshclam: up (pid 1020) 2985 seconds
/service/greylist.1999: up (pid 1043) 2985 seconds
/service/indisrvr.4000: up (pid 1048) 2985 seconds
/service/inlookup.infifo: up (pid 1057) 2985 seconds
/service/mrtg: up (pid 1023) 2985 seconds
/service/mysql.3306: up (pid 1031) 2985 seconds
/service/proxy-imapd.4143: up (pid 1018) 2985 seconds
/service/proxy-imapd-ssl.9143: up (pid 1041) 2985 seconds
/service/proxy-pop3d.4110: up (pid 1017) 2985 seconds
/service/proxy-pop3d-ssl.9110: up (pid 1037) 2985 seconds
/service/pwdlookup: up (pid 1030) 2985 seconds
/service/qmail-imapd.143: up (pid 1046) 2985 seconds
/service/qmail-imapd-ssl.993: up (pid 1055) 2985 seconds
/service/qmail-logfifo: up (pid 1024) 2985 seconds
/service/qmail-pop3d.110: up (pid 1029) 2985 seconds
/service/qmail-pop3d-ssl.995: up (pid 1054) 2985 seconds
/service/qmail-poppass.106: up (pid 1022) 2985 seconds
/service/qmail-qmqpd.628: down 2985 seconds
/service/qmail-qmtpd.209: up (pid 1044) 2985 seconds
/service/qmail-send.25: up (pid 1026) 2985 seconds
/service/qmail-smtpd.25: up (pid 1050) 2985 seconds
/service/qmail-smtpd.366: up (pid 1019) 2985 seconds
/service/qmail-smtpd.465: up (pid 1027) 2985 seconds
/service/qmail-smtpd.587: up (pid 1012) 2985 seconds
/service/qscanq: up (pid 1036) 2985 seconds
/service/resolvconf: up (pid 1069) 2985 seconds
/service/udplogger.3000: up (pid 1061) 2985 seconds

  1. Play with the System
    1. Add A Domain
% sudo vadddomain example.com password1
    1. Add a User
% sudo vadduser user01@example.com password2
    1. Send email
swaks –to youremail@yourdomain –from user01@example.com –server localhost
  1. RTFM
% man indimail
  1. Buy Beer for Manvendra Bhangui

NOTE: The MySQL database gets installed with the user 'mysql' with all privileges and a user 'indimail' with limited privileges. You will find the passwords for these two users in the script /usr/sbin/svctool. If you modify these, please don't forget to modify /etc/indimail/control/host.mysql


Anonymous said...

Trying to set up indimail on 32 bits Cent OS. Keep failing with

file /etc/pam.d/imap from install of indimail-1.8.2-7.1 conflicts with file from package courier-imap-3.0.8-cos5.build86080930.08
file /etc/pam.d/pop3 from install of indimail-1.8.2-7.1 conflicts with file from package courier-imap-3.0.8-cos5.build86080930.08

What am I doing wrong?

cprogrammer said...

IndiMail by itself provides courier-imap. You may want to remove courier-imap

rpm -e courier-imap-3.0.8-cos5.build86080930.08

or use the force option while installing indimail.


rename /etc/pam.d/imap and /etc/pam.d/pop3 and then proceed with installation

Anonymous said...

Thanks for your prompt response - much appreciated.

Renaming /etc/pam.d/imap and /etc/pam.d/pop3 didn't make any difference.

rpm -e courier-imap failed with dependencies on psa-qmail and a couple of others.

how can I force indimail installation?

Anonymous said...

Uninstalled the courier-imap which brought my qmail and bunch of other things to unusable state. On the bright side, indimail installation went through.

Can't start it, though. I need to repoint it to our existing mysql, but for now i stopped it just to see if i can bring indimail up. Still no luck: /sbin/service indimail start exits quietly and svstat indicates that no files exist

cprogrammer said...

$ ls -l /etc/init.d/indimail
$ chkconfig --list indimail

You can run the command /var/indimail/sbin/initsvc -on to have /etc/init.d/indimail installed

$ /var/indimail/bin/svstat /service/*

Hope that you have /var/indimail/bin in your PATH

Anonymous said...

Thank you! Almost there:

bash-3.2# /var/indimail/bin/svstat /service/* | grep down
/service/fetchmail: down 6292 seconds
/service/mysql.3306: down 6292 seconds
/service/qmail-qmqpd.628: down 6292 seconds

I'd like to use my own existing mysql instance. Modified /var/indimail/control/host.mysql to be localhost:indimail:ssh-1.5-:/var/lib/mysql/mysql.sock

restarted, those 3 are still down.

Help again?

cprogrammer said...

Since you are using an existing MySQL instance, you need not start the indimail service. This is exactly the reason, the installation keeps the mysql service down.

You need to have mysql started up by the system (the way it is if you have done the default OS & MySQL installation)

fetchmail is also kept down since you need to configure fetchmailrc configuration file and needed only by users who want to fetch emails from a POP3 or an IMAP account.

qmqp service is also kept down. It can be made up if you want to offer QMQP service to other hosts on your network.

All of these down service can be started automatically on reboot or indimail startup by removing a file named 'down' from the service directory


# rm /service/qmail-qmqpd.628/down

After confirming that your MySQL instance is up and you can use the user and password as specified in /var/indimail/control/host.mysql, you can run the command

# /var/indimail/sbin/install_tables

The above command is not actually needed. But it will test if IndiMail is able to connect to your existing MySQL instance

Anonymous said...

Got it.
/var/indimail/sbin/install_tables indicated a few tables were installed, a few were skipped. I assume it's fine.

off to setting up domains and users...

Will keep you posted, if you don't mind.

cprogrammer said...

Yes, that is fine. The tables that are skipped are required for a clustered setup (where you want to have a domain on multiple hosts).

Regarding the previous question, you can have MySQL started up by IndiMail also. However that will require you to edit /service/mysql.3306/run and change DATABASE and --defaults-file. Also you need to edit /var/indimail/etc/indimail.cnf for the socket as specified in /var/indimail/control/host.mysql.

If at all you decide to start mysqld from indimail, you need to disable mysqld from getting started by the rc scripts. i.e.

chkconfig mysqld off

Anonymous said...

Another silly question: what is the mail server I should use for an email client to connect to indimail?

cprogrammer said...

You can use the domain name or the IP address of this server.

Use port 587 preferably for the SMTP port.

For the IMAP you can use port 143 and POP3 110.

You can test all the ports by executing telnet on this server

telnet 0 25

telnet 0 143

telent 0 110

Anonymous said...

sudo /var/indimail/bin/vdeluser/me@mydomain.com (with a real name and domain, that is)


name : me@mydomain.com
passwd : $1$sLIRN14E$E7t9DfnGj4EBrzlODGP0b/ (MD5)
uid : 1
gid : 0
-all services available
gecos : me
dir : /home/mail/A2E/mydomain.com/me (missing)
quota : 5242880 [5.00 Mb]
curr quota : 0S,0C
Mail Store IP : (NonClustered - local)
Mail Store ID : non-clustered domain
Sql Database : localhost:indimail:ssh-1.5-
Table Name : indimail
Relay Allowed : NO
Days inact : 0 days 00 Hrs 00 Mins 00 Secs
Added On : ( Thu Aug 4 20:06:14 2011
last auth : Not yet logged in
last IMAP : Not yet logged in
last POP3 : Not yet logged in
PassChange : Not yet Changed
Inact Date : Not yet Inactivated
Activ Date : ( Thu Aug 4 20:06:14 2011
Delivery Time : No Mails Delivered yet / Per Day Limit not configured

Naively, trying to connect with microsoft outlook

tried server name as:


keep getting 'access denied'

Sorry for abusing your patience. Really trying to make it work.

cprogrammer said...

Which port did you configure?

If it is port 25 look do

tail /var/log/indimail/smtpd.25/current

If you have configured port 587

tail /var/log/indimail/smtpd.25/current

Have you given the username as


and the password that you used when creating this user with vadduser ?

Anonymous said...

From the bottom up:

the username is real, i just put me@mydomain.com for the post. I'm pretty sure the password is good.

I haven't explicitly configured any ports, but using your comands:

bash-3.2# tail /var/log/indimail/smtpd.25/current
@400000004e3b6190236aac5c tcpserver: fatal: unable to bind: address already used

bash-3.2# tail /var/log/indimail/smtpd.587/current
@400000004e3b62410e1a198c tcpserver: fatal: unable to bind: address already used

cprogrammer said...

something other MTA is already running on your server.

run the command

netstat -anp | egrep ":25|:587"

Anonymous said...

Here it goes

tcp 0 0* LISTEN 15372/tcpserver
tcp 0 0* LISTEN 14335/tcpserver

cprogrammer said...

The output is fine. maybe it is your file /var/indimail/etc/tcp.smtp

let say you are connecting from a desktop running outlook express with IP

Then have the following line in /var/indimail/etc/tcp.smtp

and rebuild tcp.smtp.cdb by running the command

/var/indimail/bin/qmailctl cdb

Anonymous said...

added [my ip]:allow, though hope there is another way to be able to support remote clients.

ran /var/indimail/bin/qmailctl cdb

server: mydomain.com
user: me@mydomain.com
pwd: password
acct type: POP3

No luck

cprogrammer said...

You will have to troubleshoot. telnet is a very good command. Hope there is no firewall blocking the port

on your desktop where you are running outlook, go to the command prompt and run

telnet 25

and you should get an output like this
Connected to 0.
Escape character is '^]'.
220 indimail.in (NO UCE) ESMTP IndiMail 1.155 Fri, 5 Aug 2011 09:15:20 +0530

cprogrammer said...

You can come on chat if you want. my gmail id is mbhangui at gmail.com

sanju said...

I have a install indimail but user does not login via mail2web

Anonymous said...

We need to help for Indimail installation procure.

If any body knows kindly assist me.

My email id ajramesh_151980@yahoo.co.in

cprogrammer said...

You can email me at mbhangui at gmail.com

cprogrammer said...

You need to check if you are able to login to indimail using pop3 or imap. You can use the telnet program to test.

James said...


im not sure if im mixing things up but this is what i did.
installed a docker container with indimail ubuntu 14.04 after installation and to test i did what is listed in this page but well sawks is not available nor email.msg in tmp what im doing wrong?

also i've tried to find a suitable install/configuration and maybe some addon conf tutorial for newbies but i failed...

halp plz!

cprogrammer said...

for using swaks, use /var/indimail/bin/swaks or set /var/indimail/bin in your PATH environment variable by modifying your .bash_profile

/tmp/email.msg is a file that you have to create. It should be a valid RFC822 formatted file. e.g. The 5 lines below (with a blank line between the Subject header and email body)

To: someone@somedomain
From: youremail@yourdomain
Subject: Test message

Test email

Unknown said...

oh! that was helpful.

is there any particular order to read this blog so i can learn my way into the mastering of indimal?

or any recommended website/ebook to read to learn?
thanks in advance.

cprogrammer said...

You can use the man pages.

man indimail

The above command will give an exhaustive overview of indimail

You can start with reading the man pages for few of the commands.

man svscan
man supervise
man qmail-smtpd
man qmail-send
man sendmail
man qmail-queue

James said...

thank you!
after an intensive research at this webpage i managed to get the intensive installation guide for the patient gifted which i find very useful since i can understand the core of the whole indimail installation, also, man pages are useful understanding the functionality

Unknown said...


i'm being commissioned to create a new email server in my company, bad thing is this is my first email server ever... so i decided to go with indimail using the install-1.9-1 but i have a question.
we are being constantly harassed with pop3 attacks on the server and i was thinking to get rid of the pop3 support on the new server and ofc i just need to skip the parts for configuring the pop3 protocol in the install file but i wanna know if that decision will impact somehow in indimail or if pop3 is used for something else like iwebadmin or indium will it complaint about not finding something?

cprogrammer said...

You can go ahead and disable pop3. Indimail does not use pop3 for any internal system. Just create a zero bytes file named 'down' in /service/qmail-pop3d*

Unknown said...

thank you for your reply, i have another question at the point of the installation where i have to ./configure theres a line --enable-default-domain=indimail.org
and --enable-log-name=indimail
are they used for something or i can modify em to something else like i dunno --enable-default-domain=something.com

cprogrammer said...

The --enable-log-name is used for prefix in syslog. You can change it but leave it as default to identify all lines which belong to indimail. The --enable-default-domain should be changed. Change it to the default domain that will be served from your server.

You are building indimail from source. That is quite brave of you. Most prefer to use the RPM/Deb from build.opensuse.org. In my experience I have found most give up on the source installation :)

Unknown said...

well i must tell im at the courier part now an im really considering to give up hahaha since i keep fighting against the ./decomp not found error which is ridiculous anyhow im trying to fix it if i succeed im pretty much done.

anyway maybe i will try the deb after messing up this which will be much cleaner i think starting from a clean server install.

cprogrammer said...

automake --add-missing will install depcomp

cprogrammer said...

I like that you are doing source install. If you are ok, we can chat on skype tomorrow and finish your installation. I have no issues in helping someone doing the hard (but the right) way.

Unknown said...

i will really like to talk to you in skype also and talk a lil bit about other non related installation topics... since im fascinated in this whole indimail world as a sucessor of qmail

but for now lemme tell you --add-missing is not working so far i've tried
libtoolize --force
automake --force-missing --add-missing

also added AC_CONFIG_MACRO_DIR([m4]) to configure.ac

tried to install older versions of automake and autoconf libtool is up to date

also added ACLOCAL_AMFLAGS = -I m4 to configure.ac

this is why it makes no sense.

im going to make a clean server installation and add all sources & dependencies from the begining you know, headers, gcc, flux, yacc, libtool, pam, etc. etc.

and cross my fingers.

also i will not use the courier package from /courier/courier-x.x.x as sugested in the install document but the one i found in /indimail/obs

btw im from Mexico which means we have to talk about the most suitable hour for both of us to talk.

IndiMail Queue Mechanism

Indimail has the ability of configuring multiple local and remote queues. A queue is a location on your hard disk where email are deposited ...