Hello Simon,

>> Did you set mydestination to include the domains in question?
SH> Yep, comma separated list $mydestination = in main.cf...

Um, when setting a variable in main.cf, you don't use the $ in front
of it. When Postfix sees the $mydestination, it substitutes the
current value of $mydestination at that point, if I recall. The proper
line is just:

mydestination = $myhost, domain.com

>> I've moved transport to a SQL table, and have both mydestination and
>> transport to use the same table. Anything added to the transportation
>> table is automatically accepted by Postfix as a destination...
SH> That sounds neat... how did you do it? :-)

Very simple. Structure of table 'mytransport' is:

CREATE TABLE mytransport (
  id int(7) NOT NULL auto_increment,
  domain varchar(40) NOT NULL default '',
  transport varchar(40) NOT NULL default 'dbmail:',
  comment varchar(40) default NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM COMMENT='Transport database for Postfix';

Postfix has the following lines in it for selecting mydestination and
transport mapping:

---
mydestination = mysql:/etc/postfix/my_trans.cf
transport_maps =  mysql:/etc/postfix/my_trans.cf
---

Content of my_trans.cf is:

---
user = postfix
password = apassword
dbname = forwarder
table = mytransport
hosts = 192.168.2.2
select_field = transport
where_field = domain
---

Restart Postfix, and you no longer have to edit main.cf or restart
postfix _just_ to add a new domain. In fact, I have a PHP script that
inserts the domain into mytransport, then creates an alias in
dbmail.aliases for 'postmaster' for the new domain.

I also use the ID of the domain in mytransport for the 'clientid' for
new users within a domain; makes sorting for reports easier.

-- 
Best regards,
 Jeff                            mailto:[EMAIL PROTECTED]

Reply via email to