Skip to content

indimail services.7

Manvendra Bhangui edited this page Feb 25, 2024 · 4 revisions

NAME

indimail-services - Overview of IndiMail Services

SYNOPSYS

/service/*

DESCRIPTION

indimail uses various services configured to run under svscan(8) and supervise(8). These services provide SMTP, SMTPS, IMAP, IMAPS, POP3, POP3S and mail transfer protocols. Apart from the services which provide the basic protocols, there are few ancillary services needed to run these protocols.

Detailed below are the services configured for indimail. Each service name is also a directory in /service, which has a file named run and log/run. The file run contains commands to be executed to bring up the service. The file log/run usually contains an invocation of multilog(8) to log the output of the service to a directory in /var/log/svc.

.svscan svscan logger service
Runs logger for svscan(8) using multilog(8) to log svscan output to /var/log/svc/svscan directory. This also binds /etc/indimail/resolv.conf as /etc/resolv.conf during svscan startup.

qmail-smtpd.25 SMTP service on PORT 25
Runs tcpserver(1) with -u qmaild -g qmail option to run qmail-smtpd(8) on TCP/IP port 25, to provide the standard SMTP protocol with STARTTLS capability. The -u and -g options makes qmail-smtpd run with uid and all supplementary groups of qmaild user. The -g option additionally adds qmail group ID privilege. The log directory for this service is /var/log/svc/smtpd.25. This service provides the PIPELINING, 8BITMIME, SIZE, ETRN, STARTTLS capabilities. This service doesn't have AUTH capability enabled to prevent dicitionary attacks.

qmail-smtpd.366 ODMR service on PORT 366
Runs tcpserver(1) with -u qmaild -g qmail option to run qmail-smtpd(8) on TCP/IP port 366, to provide On Demand Mail Relay (ODMR) RFC-2645 protocol. The -u and -g options makes qmail-smtpd run with uid and all supplementary groups of qmaild user. The -g option additionally adds qmail group ID privilege. The log directory for this service is /var/log/svc/smtpd.366. This service provides AUTH and ATRN capabilities.

qmail-smtpd.465 SMTPS service on PORT 465
Runs tcpserver(1) with -u qmaild -g qmail option to run qmail-smtpd(8) on TCP/IP port 465, to provide encrypted SMTP. The -u and -g options makes qmail-smtpd run with uid and all supplementary groups of qmaild user. The -g option additionally adds qmail group ID privilege. The log directory for this service is /var/log/svc/smtpd.465. This service provides the PIPELINING, 8BITMIME, SIZE, ETRN, AUTH capabilities.

qmail-smtpd.587 SMTP Submission on PORT 587
Runs tcpserver(1) with -u qmaild -g qmail option to run qmail-smtpd(8) on TCP/IP port 587, to provide standard SMTP submission port. The -u and -g options makes qmail-smtpd run with uid and all supplementary groups of qmaild user. The -g option additionally adds qmail group ID privilege. The log directory for this service is /var/log/svc/smtpd.587. This service provides the PIPELINING, 8BITMIME, SIZE, ETRN, STARTTLS, AUTH capabilities.

qmail-send.25 deliver mail messages from the queue
This services runs qmail-send(8) to deliver mails injected into the system by the qmail-smtpd services mentioned above and mails injected into the system by programs like sendmail(1), qmail-inject(8). The log directory for this service is /var/log/svc/deliver.25.

slowq-send deliver mail messages from the queue with rate control
This services runs qmail-send(8) to deliver mails injected into the queue /var/indimail/queue/slowq by programs like sendmail(1), qmail-inject(8). The deliver from slowq-send can be rate controlled. The log directory for this service is /var/log/svc/slowq-send.

qmail-qmqpd.628 Quick Mail Queueing Protocol service
This service runs tcpserver on port 628 to run qmail-qmqpd(8) to provide Quick Mail Queueing Protocol (QMQP) service. This service runs with uid and gid of qmaild user. The log directory for this service is /var/log/svc/qmqpd.628.

qmail-qmtpd.209 Quick Mail Transfer Protocol service
This service runs tcpserver on port 209 to run qmail-qmtpd(8) to provide Quick Mail Transfer Protocol (QMTP) service. This service runs with uid and gid of qmaild user. The log directory for this service is /var/log/svc/qmtpd.209.

clamd Anti-Virus scanning Service
This provides anti-virus scanning service for mails injected into the queue. It uses clamd(8) to do the actual scanning. The scanning is done inline using qhpsi(8). The service runs with qscanq user privileges. The log directory for this service is /var/log/svc/clamd.

freshclam Anti-Virus signature update service
This services pulls the latest anti-virus definitions for clamd(8) daemon. The definitions are maintained in the directory /var/indimail/clamd. The service runs with qscanq user privileges. The log directory for this service is /var/log/svc/freshclam.

qscanq qscanq - qmail virus scanner
This service runs qscanq which initiates a scan on an incoming email, and returns the exit status of the scanner or of qmail-multi / qmail-queue to the caller. The service runs with qscanq user privileges. The log directory for this service is /var/log/svc/qscanq.

dnscache DNS cache service
This runs dnscache(8) to provide dns cache service on port 53 for indimail. This is done by binding /etc/resolv.conf for indimail during startup. The service which does the binding is resolvconf described below. The service runs with Gdnscache user privileges. The log directory for this service is /var/log/svc/dnscache.

resolvconf
This service binds /etc/indimail/resolv.conf as /etc/resolv.conf. If any changes made to /etc/indimail/resolv.conf are automatically detected using inotify(1). This service runs with uid 0 so that it can using mount --bind option. The log directory for this service is /var/log/svc/resolvconf.

pwdlookup Name Service Switch Daemon for IndiMail
This service runs nssd(8) daemon which provides IndiMail´s database as an alternate Unix configuration database for /etc/passwd, /etc/shadow and /etc/group. This program runs as indimail user without supplementary groups for indimail user if any. The log directory for this service is /var/log/svc/pwdlookup

qmail-logfifo
This services provides a logger service by providing a writeable FIFO using the qcat(1) program /run/indimail/logfifo. Anything written to the FIFO goes to /var/log/svc/logfifo. This service is used by qmail-smtpd to write SMTP transaction details to the log when spam filtering is turned on.

qmail-daned.1998 TLSA Record Fetcher Daemon
This service runs qmail-daned(8) on port 1998 to fetch TLSA records for domains and is used by qmail-remote to verify the domain TLSA records. This service runs qmail-daned with uid and gid of qmaild user. The log directory for this service is /var/log/svc/daned.1998.

fetchmail
This service runs the fetchmail(1) mail retrieval daemon. It runs fetchmail with the uid and gid of indimail user. The log directory for this service is /var/log/svc/fetchmail

greylist.1999
This service runs qmail-greyd**(8) program on port 1999 to provide** greylisting service for qmail-smtpd(8) service on port 25. It runs qmail-greyd with the uid and gid of indimail user. The log directory for this service is /var/log/svc/greylist.1999

indisrvr.4000 IndiMail administration Service
This service runs the indimail administration server indisrvr(8) on port 4000 and provides the adminclient protocol provided by adminclient(8) program. It uses setuidgid(1) to run indisrvr with uid and gid of indimail user and addition gid qcerts for accessing certificates in /etc/indimail/certs directory. The log directory for this service is /var/log/svc/indisrvr.4000.

inlookup.infifo Connection Pooling Service for Name Lookups
This service runs inlookup service which provides FIFOs in run/indimaildir/inlookup directory with write/read access to indimail user and qmail group. The FIFOs have write/read accesss to qmaild user and indimail group. The service uses setuidgid(8) to run inlookup daemon with uid, gid for qmaild user (qmaild:nofiles) and additional gids indimail, qmail. The log directory for this service is /var/log/svc/inlookup.infifo. Note that run in run/indimaildir/inlookup directory refers to /run or /var/run depending on the operating system.

mrtg Create MRTG graphs for indimail
This service runs mrtg(1) program to create graphs for SMTP, IMAP, POP3, delivery, concurrency, queue size, CPU usage, system load, network traffic, disk usage, memory and swap usage. It uses the config file /service/etc/indimail.mrtg.cfg. This service runs with root privileges so that it can write the images to /var/www/html/mailmrtg.

mysql.3306
This service runs MySQL server on port 3306 as well as the UNIX domain socket /var/run/mysqld/mysqld.sock with uid and gid of the user mysql. The log directory for this user is /var/log/svc/mysql.3306.

proxy-imapd.4143 Proxy IMAP service on PORT 4143
proxy-imapd-ssl.9143 Proxy IMAPS service on PORT 9143
proxy-pop3d.4110 Proxy POP3 service on PORT 110
proxy-pop3d-ssl.9110 Proxy POP3S service on PORT 9110

This service runs proxy services using proxyimap(8) and proxypop3(8) for indmail cluster for IMAP on port 143, IMAPS on port 993, POP3 on port 110, POP3S on port 995. The proxy services use the username to correctly locate the actual IMAP/POP3 server and connect the user to the correct server where the user's mailbox lies. For the non-ssl services (proxy-imapd.4143, proxy-pop3d.4110), the service runs proxyimap, proxypop3 with the uid and gid of indimail user. For the ssl services (proxy-imapd-ssl.9143, proxy-pop3d-ssl.9110) proxyimap and proxyimap is run with uid, gid of indimail user and additional group ID qcert.

qmail-imapd.143 IMAP service on PORT 143
Runs tcpserver(1) with -u indimail_uid -g indimail_gid option to run imapd(8) on TCP/IP port 143 and provide the standard IMAP protocol. The -u and -g options makes imapd run with uid and gid of indimail user. The log directory for this service is /var/log/svc/imapd.143.

qmail-imapd-ssl.993 IMAPS service on PORT 993
Runs tcpserver(1) with -u indimail_uid and -g indimail_gid,mycerts option to run imapd(8) on TCP/IP port 993 and provide the standard IMAPS protocol. The -u and -g options makes imapd run with uid and gid of indimail user and an additional gid qcerts. The log directory for this service is /var/log/svc/imapd-ssl.993.

qmail-pop3d.110 POP3 service on PORT 110
Runs tcpserver(1) with -u indimail_uid -g indimail_gid option to run pop3d(8) on TCP/IP port 110 and provide the standard POP3 protocol. The -u and -g options makes imapd run with uid and gid of indimail user. The log directory for this service is /var/log/svc/pop3d.110.

qmail-pop3d-ssl.995 POP3S service on PORT 995
Runs tcpserver(1) with -u indimail_uid and -g indimail_gid,mycerts option to run pop3d(8) on TCP/IP port 995 and provide the standard POP3S protocol. The -u and -g options makes imapd run with uid and gid of indimail user and an additional gid qcerts. The log directory for this service is /var/log/svc/pop3d-ssl.995.

qmail-poppass.106 Password Change Service
This service runs qmail-poppass(8) on TCP/IP port 106 to allow password change from across the network using the setpassword interface. The log directory for this service is /var/log/svc/poppass.106.

udplogger.3000
Runs a logging service on UDP port 3000 to allow clients to log simple messages on the UDP port 3000. The log directory for this service is /var/log/svc/udplogger.3000

SEE ALSO

svctool(8), create_services(8), rfc-2645(5) qmail-inject(8), qhpsi(8), qmail-qmqpc(8), qmail-send(8), qmail-smtpd(8), qmail-multi(8), nssd(8), qmail-spamfilter(8), qmail-nullqueue(8), qmail-direct(8), multi-queue(7), qmail-queue-clients(7), dnscache(8), qmail-showctl(8), imapd(8), pop3d(8), qmail-qmqpd(8), qmail-qmtpd(8), proxyimap(8), proxypop3(8), indimail(7), qmail-poppass(8), qcat(1), slowq-send(8), fetchmail(1), multilog(8), qmail-greyd(8), qmail-daned(8), udplogger(8), svscan(8), supervise(8),

Clone this wiki locally