Questions tagged [exim]

Exim is a sendmail-compatible Mail Transfer Agent, licensed under the GPL, designed for Unix-like operating systems.

Exim is a Mail Transfer Agent (MTA), used to route and deliver email, for Unix-like operating systems. As an MTA, it is responsible for email getting from A to B, but not for client access to that email. Exim is used as the default MTA of some Linux distributions and for some control panel software. Its documentation is extensive and exhaustive, in the form of The Exim Specification. An undocumented feature is a bug. More details can be found in the wikipedia article on Exim.

Exim is licensed under the GNU General Public License, with various linking exemptions. There is a great deal of flexibility in the way mail can be routed, and there are extensive facilities for checking incoming mail.

Exim uses an ordered list of Routers to decide how to deliver a given message to a given recipient, accomplishing the delivery with a Transport. It uses a powerful string expansion system to provide configuration flexibility, including lookups of various forms and a wide variety of primitives. Authenticators are used to manage both the client and server side of authentication.

Exim Features

  • SMTP
  • TLS (via either OpenSSL or GnuTLS)
  • SMTP AUTH over a variety of authentication mechanisms, with data from various sources
  • Native support for mbox, mbx, maildir & mailstore formats, plus LMTP to a socket or invoking arbitrary delivery programs.
  • Filtering with Sieve and a powerful native filter language
  • Extensive string expansion configuration language
  • Support for many lookup types (Postgresql, Mysql, Sqlite, Oracle, LDAP, cdb, dbm, lsearch, NIS, DNS, whoson, passwd)
  • Native support for DNSxL lookups, socket communication,
  • An extensive Access Control List (ACL) system for filtering inbound email, with
  • Optional embedded Perl interpreter ${perl...}, plus support for dynamically loading modules ${dlfunc...}
  • Map/filter/reduce functions, lists
  • Strong regular expression support (the original author of Exim is also the author of PCRE, which was written for Exim)

Resources

Debugging guides & tools

How to ask good questions

  • Specify your operating system and version of Exim: uname -sr, lsb_release -d, exim -bV
  • Specify what you are trying to do (and perhaps why)
  • Mention things you have tried already
  • Describe what you are seeing, and how that is not what you expect
  • As appropriate, provide samples of the configuration used and the logs seen
1081 questions
3
votes
2 answers

Exim TLS Error when trying to send mail

I have exim installed on my server and I would like to send mails for a website hosted with apache with php's mail() function. When I try to send an e-mail, I have no error, but the e-mail never arrives. I've checked the exim's logs and I've got…
ibi0tux
  • 161
  • 1
  • 7
3
votes
1 answer

spamassassin tries to use /nonexistent even though its user has a valid home directory

I have a spamassassin daemon used by exim on a FreeBSD 9.3 System that tries to use /nonexistent for its temp files and bayes-filter storage. Passing the username or a home directory via the daemons flags in /etc/rc.conf does nothing to change this…
sloh
  • 161
  • 8
3
votes
2 answers

Exim4: Catchall outgoing mail, allow only a few domains to pass through on a dev server

Im administering a bunch of development and staging debian (v.6-8) servers. The current exim4 setup looks like this: There are no incoming mails on the servers (no wan connection) Outgoing mails are send via a smarthost (this is currently…
Server Admin
  • 31
  • 1
  • 3
3
votes
1 answer

Exim error SMTP call from [X.X.X.X]:50135 dropped: too many syntax or protocol error

My clients server access keeps getting blocked by CSF. The Exim log produces: no host name found for IP address X.X.X.X Exim error SMTP call from [X.X.X.X]:50135 dropped: too many syntax or protocol error. Am I correct in assuming that this can…
Lance Davey
  • 78
  • 1
  • 6
3
votes
4 answers

How to find spam email sending script on server

For last 3 months i am getting email from my hosting providers that my server is sending spam emails and today i did research on it and found that it is actually doing. I used exim to check out the situation and it showed the output of 28 with the…
Kinshuk Lahiri
  • 135
  • 1
  • 6
3
votes
1 answer

How can one configure exim still to reject invalid recipients after an earlier ACL returned "discard"?

For the reasons set out in my earlier question Originating (non-critical) emails from a "less-trusted" host, it unfortunately seems that we must run an SMTP server for the sole purpose of accepting and then immediately discarding bounce messages! We…
eggyal
  • 402
  • 5
  • 16
3
votes
1 answer

exim4 gnu_tls cipher configuration for incoming connections to gmail

On the Debian 7 / exim4 / gnutls mailserver I'm running, since about 1-2 weeks, mails from gmail don't arrive any more with the following typical error message in the log file: 2015-02-14 17:32:07 TLS error on connection from…
LaTechneuse
  • 161
  • 6
3
votes
1 answer

How to test non-smtp ACLs in exim

Exim provides the option to test your ACLs via CLI using exim -bh. However, this method opens an SMTP connection and you can only test SMTP ACLs. I wish to debug and test the acl_not_smtp ACL - is there any similar way of doing this? Alternatively,…
David Williams
  • 133
  • 1
  • 4
3
votes
1 answer

does email pipe to program cause problems with unicode characters?

I'm piping incoming mail into a PHP script, immediately storing the RAW email in a MySQL db. It works very well, except ~0.7% of emails arrive with a truncated message body. I found someone whose emails were failing, and had them send an email TO my…
neokio
  • 155
  • 7
3
votes
1 answer

Configuring dynamic e-mail aliases such as "user+keyword"

My Ubuntu server is using Exim4/Courier for emails and I'd like to know if it's possible to create dynamic email aliases for receiving emails like…
Sinklar
  • 93
  • 1
  • 6
3
votes
1 answer

Exim4 crypteq with MySQL lookup always fails

I got an Exim 4.80 server on Ubuntu 14.04. I want to switch from Dovecot Auth to MySQL. The passwords are stored as crypt (with sha256, beginning with $5$). The expansion looks like this: server_condition = ${if crypteq{$3}{${lookup mysql{SELECT…
Lorenz
  • 265
  • 1
  • 2
  • 9
3
votes
1 answer

How to put newline (\n) in the text of an autoreply in exim?

I have setup exim to get autoreply text from an sqlite database. It is sending the autoreply just fine with the exception that I can't get new lines in the autoreply. This is the line in the transport: text = ${lookup sqlite{SQLDB \ …
mhost
  • 1,179
  • 3
  • 16
  • 25
3
votes
3 answers

Exim on Centos - Configuring gmail smtp

I want to set up Exim to send the mails through my gmail (actually my domains google apps). I have added the router, transport and authenticator. Specifically: gmail_route: driver = manualroute transport = gmail_relay route_list = *…
Jay
  • 31
  • 1
  • 2
3
votes
2 answers

Blocking outgoing mails to some users in exim

I want to block some users to sending out mails to other domains in Exim4. I tried the following configuration but did not work. Changes done in exim.conf file: In the main configuration section, enabled the acl_smtp_mail control as…
user210108
  • 31
  • 1
  • 1
  • 2
3
votes
2 answers

Case insensitive exiqgrep?

My mail queue is currently full of bounce messages for the same domain, but in mixed case. I tried using exiqgrep to filter these mails from my queue, but it seems that the command is case sensitive. Is there any way to perform a case insensitive…
Aron Rotteveel
  • 8,449
  • 17
  • 53
  • 64