Re: [IndiMail] Some queries about IndiMail

38 views
Skip to first unread message

Manvendra Bhangui

unread,
May 21, 2013, 11:06:33 PM5/21/13
to indi...@googlegroups.com
On Wed, May 22, 2013 at 2:06 AM, arvind.ik.chari <arvind....@gmail.com> wrote:

(1) Can you give me instructions on how to install/configure IndiMail in OpenBSD
 

All installation instructions are given in the file


I am giving instructions for a minimal installation which supports all basis protocols like SMTP/IMAP/POP3. You can read the above INSTALL file if you want IndiMail to be installed with all features.

    % tar xfz indimail-1.8.6.tar.gz
    % gunzip -c qmail-1.03.tar.gz | tar xf -
    % gunzip -c indimail-1.8.6/patches/qmail-1.03.patch.gz | patch -p0
    % cd indimail-1.8.6
    % ./configure \
        --prefix=/var/indimail \
        --libexecdir=/var/indimail/libexec \
        --mandir=/var/indimail/man \
        --sysconfdir=/var/indimail/etc \
        --enable-qmaildir=/var/indimail \
        --enable-logdir=/var/log/indimail \
        --enable-basepath=/home/mail \
        --enable-indiuser=indimail \
        --enable-indigroup=indimail \
        --enable-default-domain=indimail.org \
        --enable-log-name=indimail \
        --enable-mysqlprefix=/usr/local/mysql \
        --enable-roaming-users=y \
        --enable-relay-clear-minutes=30 \
        --enable-tcprules-prog=/var/indimail/bin/tcprules \
        --enable-tcpserver-file=/var/indimail/etc/tcp.smtp \
        --enable-logging=e \
        --enable-mysql-logging=y \
        --enable-auth-logging=y \
        --enable-hardquota=5242880 \
        --enable-maildir-quota=y \
        --enable-large-site=n \
        --enable-user-cluster=y \
        --enable-qmail-ext=y \
        --enable-ip-alias-domains=y \
        --enable-valias=y \
        --enable-vfilter=y \
        --enable-file-locking=c \
        --enable-file-sync=n \
        --enable-make-seekable=y \
        --enable-passwd=y \
        --enable-domain-limits=y \
        --enable-query-cache=y \
        --enable-random-balancing=y \
        --enable-password-hash=md5 \
        --enable-mysql-escape=y \
        --enable-md5-crypt=n \
        --enable-sha256-crypt=n \
        --enable-sha512-crypt=n \
        --enable-ipv6=y \
        --enable-offensive=n


(2) How to configure IndiMail -> multi server setup with all servers running on OpenBSD→ does this type of setup(on OpenBSD servers only) differ in any way from typical IndiMail multi server setup(on Linux OS’s)?


After adding a domain using vadddomain command, you need to edit a file named mcdinfo in /var/indimail/control and change the server type to "distributed". The man page indimail(7) discusses this.
 
(3) Does IndiMail have calendaring function (like that provided by Hotmail/Gmail)


calendaring function has nothing to do with mails. This is a groupware function and a client side feature. You can use any client (like roundcube) which supports calendaring.
 
(4) What is the backend database used by IndiMail? Can it use MS SQL Server/MySQL/PostGreSQL?

It is MySQL. But since the authentication is open, you can easily use any database. People are using indimail with other databases like PostGreSQL and ldap
 

(5) Does Indimail support features like Labels/tags? Or do I have to build these features myself(using Indimail simply as the core mail server).

These are IMAP side feature and hence supported. 

(6) Similarly, does Indimail support Conversation view? (Like in Gmail where all mails for a particular conversation can be seen together)? Or do I have to build these features myself?


This is again a client side feature. You need to sort your emails based on messageID, date, subject, etc
 
(7) Does a plugin necessarily have to be in C? Or can I use any other language(like PHP/Java)-- if I can, then how do I connect the other-language plugin with core Indimail(which is in C).


It depends on what you are doing. If you are writing a client side feature, you don't require to write a plugin. IndiMail provides all protocols necessary for email communication. You can use IMAP to access all emails. There are many IMAP APIs out there. One of the API most of the IndiMail users are using is the c-client library http://php.net/manual/en/ref.imap.php

Since you are a newbie to email messaging, I think you are confused and maybe not very clear. My guess is that most of what you want to achieve will not require you to modify even a single line of code in IndiMail. What you want will be all client-side features, which you can easily build in your favourite language (which i am guessing is PHP/Java).

Then under which situation would you require to modify IndiMail? e.g.If you want to write a "latest and cutting-edge" new way of spam detection technology which also puts a header inside the email, then you would be better off writing something in C. Lot of effort and care has gone into writing Indimail to optimize everything that it handles. You would be throwing all the effort away by running PHP/Java/Perl on the backend. I would avoid using Java, Perl etc as they will severely downgrade the performance of the indimail server. e.g. one indimail server running DL380 can handle 100,000 users. Running a web server with PHP/Java will bring down performance and you will be surprised to see that the server is able to run just about 10,000 users.

In most production setups, one would configure separate web frontends behind load balancers to run apache and your web applications. The server(s) running indimail should be separate running only IndiMail

(8) Are individual emails all stored in database only? Or are they stored as files- and if stored as files, what is the format of each file(proprietary format/custom format/ well known format→which format is it-> if you can provide a link that explains this format that would be a big help to me).


These are stored in filesystem in rfc2822 format. There is nothing proprietary about it. You can read the format at 

Reply all
Reply to author
Forward
0 new messages