<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rt-wiki.bestpractical.com/index.php?action=history&amp;feed=atom&amp;title=EximConfigVirtualDomain</id>
	<title>EximConfigVirtualDomain - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://rt-wiki.bestpractical.com/index.php?action=history&amp;feed=atom&amp;title=EximConfigVirtualDomain"/>
	<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=EximConfigVirtualDomain&amp;action=history"/>
	<updated>2026-08-23T16:13:12Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=EximConfigVirtualDomain&amp;diff=1123&amp;oldid=prev</id>
		<title>Admin: 2 revisions imported</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=EximConfigVirtualDomain&amp;diff=1123&amp;oldid=prev"/>
		<updated>2016-04-06T20:08:54Z</updated>

		<summary type="html">&lt;p&gt;2 revisions imported&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This sets up a full virtual domain system in exim so that RT can be supported in a virtual domain.&lt;br /&gt;
&lt;br /&gt;
1. Edit exim.conf.&lt;br /&gt;
&lt;br /&gt;
2. At the top with the domain lists, add&lt;br /&gt;
&lt;br /&gt;
 domainlist virtual_domains = lsearch;/virtual/mail/virtual&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
3. Modify your [[ACLs]] to permit virtual domains:&lt;br /&gt;
&lt;br /&gt;
 accept  local_parts   = postmaster&lt;br /&gt;
         domains       = +local_domains : +virtual_domains&lt;br /&gt;
 &lt;br /&gt;
 accept  domains       = +local_domains : +virtual_domains&lt;br /&gt;
         endpass&lt;br /&gt;
         message       = unknown user&lt;br /&gt;
         verify        = recipient&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
4. Modify routers to handle virtual domains:&lt;br /&gt;
&lt;br /&gt;
 dnslookup:&lt;br /&gt;
   driver = dnslookup&lt;br /&gt;
   domains = ! +local_domains : ! +virtual_domains&lt;br /&gt;
   transport = remote_smtp&lt;br /&gt;
   ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8&lt;br /&gt;
   no_more&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
5. Add a specific router to handle virtual domains. This goes between dnslookup and system_aliases:&lt;br /&gt;
&lt;br /&gt;
# This director handles local aliases. Because it has no transport setting, it # just expands local parts that it recognises into new addresses.&lt;br /&gt;
&lt;br /&gt;
 virtual_alias:&lt;br /&gt;
     driver = redirect&lt;br /&gt;
     domains = +virtual_domains&lt;br /&gt;
     local_part_suffix = +*&lt;br /&gt;
     local_part_suffix_optional&lt;br /&gt;
     data = ${lookup{$local_part}lsearch*{/virtual/${domain}/mail/aliases}}&lt;br /&gt;
     qualify_preserve_domain&lt;br /&gt;
     file_transport = address_file&lt;br /&gt;
     pipe_transport = address_pipe&lt;br /&gt;
     no_more&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
6. Create the directory /virtual/&amp;amp;lt;rt-host-name&amp;amp;gt;/mail&lt;br /&gt;
&lt;br /&gt;
7. Take and modify the following pr3l skr1p+ as appropriate to your setup:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/usr/bin/perl&lt;br /&gt;
 &lt;br /&gt;
 use strict;&lt;br /&gt;
 use warnings;&lt;br /&gt;
 &lt;br /&gt;
 my $urlflag = &amp;quot;--url &amp;#039;http://rt.anarres.org/&amp;#039;&amp;quot;;&lt;br /&gt;
 my $gate = &amp;quot;/usr/local/rt3/bin/rt-mailgate&amp;quot;;&lt;br /&gt;
 my %queues = (&lt;br /&gt;
     &amp;quot;General&amp;quot;       =&amp;amp;gt; {&lt;br /&gt;
             Correspondence  =&amp;amp;gt; {&lt;br /&gt;
                     Address =&amp;amp;gt; &amp;#039;correspondence&amp;#039;,&lt;br /&gt;
             },&lt;br /&gt;
             Comments                =&amp;amp;gt; {&lt;br /&gt;
                     Address =&amp;amp;gt; &amp;#039;comments&amp;#039;,&lt;br /&gt;
             },&lt;br /&gt;
     },&lt;br /&gt;
     &amp;quot;SPF Library&amp;quot;   =&amp;amp;gt; {&lt;br /&gt;
             Base    =&amp;amp;gt; &amp;#039;libspf2&amp;#039;,&lt;br /&gt;
     },&lt;br /&gt;
     &amp;quot;SRS Library&amp;quot;   =&amp;amp;gt; {&lt;br /&gt;
             Base    =&amp;amp;gt; &amp;#039;libsrs2&amp;#039;,&lt;br /&gt;
     },&lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 my $acorr = &amp;quot;--action correspond&amp;quot;;&lt;br /&gt;
 my $acomm = &amp;quot;--action comment&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 foreach my $queue (sort keys %queues) {&lt;br /&gt;
     my $data = $queues{$queue};&lt;br /&gt;
     my $corr = $data-&amp;amp;gt;{Correspondence};&lt;br /&gt;
     my $comm = $data-&amp;amp;gt;{Comments};&lt;br /&gt;
     my $corraddr = $corr-&amp;amp;gt;{Address};&lt;br /&gt;
     $corraddr = $data-&amp;amp;gt;{Base} unless defined $corraddr;&lt;br /&gt;
     my $commaddr = $comm-&amp;amp;gt;{Address};&lt;br /&gt;
     $commaddr = $data-&amp;amp;gt;{Base} . &amp;quot;-comments&amp;quot; unless defined $commaddr;&lt;br /&gt;
     print &amp;quot;$corraddr: \&amp;quot;|$gate --queue &amp;#039;$queue&amp;#039; $acorr $urlflag\&amp;quot;\n&amp;quot;;&lt;br /&gt;
     print &amp;quot;$commaddr: \&amp;quot;|$gate --queue &amp;#039;$queue&amp;#039; $acomm $urlflag\&amp;quot;\n&amp;quot;;&lt;br /&gt;
     print &amp;quot;\n&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. Run the perl script, redirect the output into the file &amp;#039;aliases&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
8. Restart exim.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>