Am 20.03.2011 21:02, schrieb Raven:
> On Sat, 2011-03-19 at 20:57 +0100, Reindl Harald wrote:
>> Am 19.03.2011 19:32, schrieb Ralf Hildebrandt:
>>> * David Touzeau <da...@touzeau.eu>:
>>>
>>>> Thanks for this procedure but this is not a bug/error request but an
>>>> howto request.
>>>
>>> What I'm doing is this (just a few examples):
>>>
>>> alo.com                             error:5.1.2 You probably meant aol.com, 
>>> not alo.com
>>> aoll.com                            error:5.1.2 You probably meant aol.com, 
>>> not aoll.com
>>> aaol.com                            error:5.1.2 You probably meant aol.com, 
>>> not aaol.com
>>> aiol.com                            error:5.1.2 You probably meant aol.com, 
>>> not aiol.com
>>> aol.com.de                          error:5.1.2 You probably meant aol.com, 
>>> not aol.com.de
>>
>> this is a cool solution i will implement tonight in our 
>> dbmail/postfix-backend
>> with a seperate sql-table and an extended view for the transport-query
>>
>> there are not much mistype-domains and a direct reject for some is much 
>> better
>> than any delay and side-effects for working domains
>>
>> thank you for the idea!
>>
>>
> 
> Hi guys.
> This seems like a great idea. I would like to implement the same thing
> and store the domain typos in a mysql table.
> 
> If the table has two columns, eg. MISSTYPEDDOMAIN and RESPONSE, how
> would I go about to configure $smtpd_recipient_restrictions with the
> appropriate SQL query?

you are wrong!
we are speaking from outgoing-messages, a little difference
because you will not get misstyped domains to your MTA

CREATE TABLE IF NOT EXISTS `dbma_mta` (
  `mydestination` varchar(35) NOT NULL DEFAULT '',
  `transport` varchar(128) NOT NULL DEFAULT '',
  PRIMARY KEY (`mydestination`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 
ROW_FORMAT=COMPRESSED;

CREATE TABLE IF NOT EXISTS `dbma_transports_error` (

  `mydestination` varchar(35) NOT NULL DEFAULT '',
  `transport` varchar(128) NOT NULL DEFAULT '',
  PRIMARY KEY (`mydestination`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 
ROW_FORMAT=COMPRESSED;

CREATE VIEW `dbma_transports` AS
 SELECT mydestination,transport
 FROM `dbma_mta`
 UNION (select mydestination,transport from `dbma_transports_error`);
________________________________________

transport_maps = mysql:/etc/postfix/mysql-transport.cf

[root@mail:~]$ cat /etc/postfix/mysql-transport.cf
user          = dbmailro
password      = ***************
dbname        = dbmail
hosts         = unix:/var/lib/mysql/mysql.sock inet:10.0.0.120:3307
query         = select transport from dbma_transports where mydestination='%s' 
or mydestination='%d' order by
transport desc limit 1;
________________________________________

In "dbma_mta" i have the real transports (in our case dbmail-lmtp:127.0.0.1:24)
and in "dbma_transports_error" the error-domains because i would never mix this
to get not confused sooner or later


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to