Re: Tuning queue life time against some retry errors.

2011-03-20 Thread Charles Marcus
On 2011-03-19 3:57 PM, Reindl Harald wrote:
 Am 19.03.2011 19:32, schrieb Ralf Hildebrandt:
 What I'm doing is this (just a few examples):
 
 alo.com  error:5.1.2 You probably meant aol.com, not alo.com

 this is a cool solution

I agree...

Here's a site for generating a list of typos for any given domain to
quickly build some lists:

http://www.selfseo.com/domain_typo_generator.php

-- 

Best regards,

Charles


Re: Tuning queue life time against some retry errors.

2011-03-20 Thread Reindl Harald

Am 20.03.2011 16:49, schrieb Charles Marcus:
 On 2011-03-19 3:57 PM, Reindl Harald wrote:
 Am 19.03.2011 19:32, schrieb Ralf Hildebrandt:
 What I'm doing is this (just a few examples):

 alo.com  error:5.1.2 You probably meant aol.com, not alo.com
 
 this is a cool solution
 
 I agree...
 
 Here's a site for generating a list of typos for any given domain to
 quickly build some lists:
 
 http://www.selfseo.com/domain_typo_generator.php

thank you for a new bookmark :-)

here a simple php shell-script to verify domains if
they have MX or the a-record port 25 open

put the output from the website in a textfile data.txt
in the same folder and start it from the shell

#!/usr/bin/php
?php
 $data = file('data.txt');
 ini_set('display_errors', 0);
 foreach($data as $domain)
 {
  $invalid = true;
  $domain = trim($domain);
  if(getmxrr($domain, $mxhosts))
  {
   $invalid = false;
  }
  else
  {
   $host_ip = gethostbyname($domain);
   if(!empty($host_ip))
   {
$fp = fsockopen($host_ip, 25, $errno, $errstr, 5);
if($fp)
{
 $invalid = false;
}
@fclose($fp);
   }
  }
  if($invalid)
  {
   echo $domain . \n;
   flush();
  }
 }
?

[harry@srv-rhsoft:~/Desktop]$ php test.php
uahoo.com
7ahoo.com
yagoo.com
gotmail.com
botmail.com
notmail.com
jotmail.com
yotmail.com
hltmail.com
hptmail.com
h0tmail.com
h9tmail.com
hormail.com
hofmail.com
hoymail.com
ho6mail.com
hotnail.com
hotmwil.com
hotmqil.com
hotmaul.com
hotmajl.com
hotmakl.com
hotmaol.com
hotma8l.com
hotmaik.com
hmail.com
gmajl.com
gmakl.com
gma9l.com
gma8l.com
gmaik.com







signature.asc
Description: OpenPGP digital signature


Re: Tuning queue life time against some retry errors.

2011-03-20 Thread Reindl Harald

Am 20.03.2011 16:49, schrieb Charles Marcus:
 On 2011-03-19 3:57 PM, Reindl Harald wrote:
 Am 19.03.2011 19:32, schrieb Ralf Hildebrandt:
 What I'm doing is this (just a few examples):

 alo.com  error:5.1.2 You probably meant aol.com, not alo.com
 
 this is a cool solution
 
 I agree...
 
 Here's a site for generating a list of typos for any given domain to
 quickly build some lists:
 
 http://www.selfseo.com/domain_typo_generator.php

Attached a sql-dump with 562 error-domains
they are all verified and have no MX record or Port 25
of the A-Record is not open

I hope the mailing-list accepts attachments



dbma_transports_error.sql.tar.gz
Description: GNU Zip compressed data


signature.asc
Description: OpenPGP digital signature


Re: Tuning queue life time against some retry errors.

2011-03-20 Thread Ralf Hildebrandt
* Charles Marcus cmar...@media-brokers.com:

 Here's a site for generating a list of typos for any given domain to
 quickly build some lists:
 
 http://www.selfseo.com/domain_typo_generator.php

That's cool, but I still have to check if the domain is in fact valid :)

-- 
Ralf Hildebrandt
  Geschäftsbereich IT | Abteilung Netzwerk
  Charité - Universitätsmedizin Berlin
  Campus Benjamin Franklin
  Hindenburgdamm 30 | D-12203 Berlin
  Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962
  ralf.hildebra...@charite.de | http://www.charite.de



Re: Tuning queue life time against some retry errors.

2011-03-20 Thread Charles Marcus
On 2011-03-20 2:53 PM, Ralf Hildebrandt wrote:
 * Charles Marcus cmar...@media-brokers.com:
 
 Here's a site for generating a list of typos for any given domain to
 quickly build some lists:

 http://www.selfseo.com/domain_typo_generator.php
 
 That's cool, but I still have to check if the domain is in fact valid :)

Well... wouldn't reject_unknown_sender_domain help with that?

Of course, if you want to get picky about whether or not it has a
listener on port 25, I guess that is more complicated.

Anyway, I'm ok with a possible occasional complaint about a domain that
is in this table as a typo though... I imagine it will be rare to never
for us, but that probably wouldn't be good enough for an ISP or other
larger organization.

-- 

Best regards,

Charles


Re: Tuning queue life time against some retry errors.

2011-03-20 Thread Charles Marcus
On 2011-03-20 3:12 PM, Charles Marcus wrote:
 On 2011-03-20 2:53 PM, Ralf Hildebrandt wrote:
 * Charles Marcus cmar...@media-brokers.com:

 Here's a site for generating a list of typos for any given domain to
 quickly build some lists:

 http://www.selfseo.com/domain_typo_generator.php

 That's cool, but I still have to check if the domain is in fact valid :)
 
 Well... wouldn't reject_unknown_sender_domain help with that?

Sorry... I am, of course, an idiot (we're talking about outbound, not
inbound mail)...

-- 

Best regards,

Charles


Postfix : Can't read SMFIC_BODYEOB reply packet header: Connection timed out

2011-03-20 Thread JKL
Hi there,

This morning at 11:30am CET postfix started to log this message from
a milter:

Mar 20 19:43:39 logout postfix/cleanup[19241]: warning: milter
unix:/spamass/spamass.sock: can't read SMFIC_BODYEOB reply packet
header: Connection timed out

I have since removed the milter from postfix configuration.  The
spamass-milter has been running glitch free for quite some time.

# ls -l /var/spool/postfix/spamass/spamass.sock
srw-rw 1 postfix postfix 0 Mar 20 10:36
/var/spool/postfix/spamass/spamass.sock

Postfix version, from Debian Squeeze officla repos, is  v2.7.1-1

Does anyone know what the message SMFIC_BODYEOB reply packet heade means
in postfix land?

Regards, S.





Re: Postfix : Can't read SMFIC_BODYEOB reply packet header: Connection timed out

2011-03-20 Thread Wietse Venema
JKL:
 Hi there,
 
 This morning at 11:30am CET postfix started to log this message from
 a milter:
 
 Mar 20 19:43:39 logout postfix/cleanup[19241]: warning: milter
 unix:/spamass/spamass.sock: can't read SMFIC_BODYEOB reply packet
 header: Connection timed out

This means that the spam filter needed more than 300s to process
the message body. You can increase milter_content_timeout in main.cf,
but I suspect that the problem is caused by DNS lookup problems
that you should fix instead.

Wietse


long (non-repeating) queue ID support

2011-03-20 Thread Wietse Venema
Below is the manpage entry for long queue ID support. Let me know
if there's anything missing. 

This code is part of this weekend's snapshot (*). Several iterations
have been running on my systems through the past week.

Wietse

(*) As of Postfix 2.9, snapshot releases happen on weekends.

enable_long_queue_ids (default: no)
   Enable long, non-repeating, queue IDs (queue file names).  The  benefit
   of  non-repeating  names  is  simpler logfile analysis and easier queue
   migration (there is no need to run postsuper  to  change  queue  file
   names that don't match their message file inode number).

   Note:  see below for how to prepare long queue file names for migration
   to Postfix = 2.8.

   Changing the parameter value to yes has the following effects:

   o  Existing queue file names are not affected.

   o  New queue files are created with names such as  3Pt2mN2VXxznjll.
  These  are encoded in a 52-character alphabet that contains dig-
  its (0-9), upper-case letters (B-Z) and lower-case  letters  (b-
  z). For safety reasons the vowels (AEIOUaeiou) are excluded from
  the alphabet.  The name format is: 6 or more characters for  the
  time  in seconds, 4 characters for the time in microseconds, the
  'z'; the remainder is the file inode number encoded in the first
  51 characters of the 52-character alphabet.

   o  New messages have a Message-ID header with queueID@myhostname.

   o  The  mailq  (postqueue  -p)  output has a wider Queue ID column.
  The number of whitespace-separated fields is not changed.

   Changing the parameter value to no has the following effects:

   o  Existing long queue file names are renamed  to  the  short  form
  (while running postfix reload or postsuper).

   o  New  queue files are created with names such as C3CD21F3E90 from
  a hexadecimal alphabet that contains digits (0-9) and upper-case
  letters  (A-F). The name format is: 5 characters for the time in
  microseconds; the remainder is the file inode number.

   o  New  messages  have  a  Message-ID   header   with   MMDDHH-
  MMSS.queueid@myhostname,  where  MMDDHHMMSS  are  the  year,
  month, day, hour, minute and second.

   o  The mailq (postqueue -p) output has  the  same  format  as  with
  Postfix = 2.8.

   Before migration to Postfix = 2.8, the following commands are required
   to convert long queue file names into short names:

   # postfix stop
   # postconf enable_long_queue_ids=no
   # postsuper

   Repeat the postsuper command until it reports no more queue  file  name
   changes.


Re: Tuning queue life time against some retry errors.

2011-03-20 Thread 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.comerror:5.1.2 You probably meant aol.com, 
  not aoll.com
  aaol.comerror:5.1.2 You probably meant aol.com, 
  not aaol.com
  aiol.comerror: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?

Thanks.

-RV



Re: Postfix : Can't read SMFIC_BODYEOB reply packet header: Connection timed out

2011-03-20 Thread JKL
On 03/20/2011 08:36 PM, Wietse Venema wrote:
 JKL:
 Hi there,

 This morning at 11:30am CET postfix started to log this message from
 a milter:

 Mar 20 19:43:39 logout postfix/cleanup[19241]: warning: milter
 unix:/spamass/spamass.sock: can't read SMFIC_BODYEOB reply packet
 header: Connection timed out
 This means that the spam filter needed more than 300s to process
 the message body. You can increase milter_content_timeout in main.cf,
 but I suspect that the problem is caused by DNS lookup problems
 that you should fix instead.

   Wietse
Hi Wietse,

Time-outs are a good starting point; Thank-you for explaining this
to me.  I'll head off and investigate this, in particular the DNS. 

Best wishes and more thanks than usual, especially since it is on a Sunday.

S.


Re: Tuning queue life time against some retry errors.

2011-03-20 Thread Reindl Harald


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.comerror:5.1.2 You probably meant aol.com, 
 not aoll.com
 aaol.comerror:5.1.2 You probably meant aol.com, 
 not aaol.com
 aiol.comerror: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




signature.asc
Description: OpenPGP digital signature


Re: Tuning queue life time against some retry errors.

2011-03-20 Thread Raven
On Sun, 2011-03-20 at 21:24 +0100, Reindl Harald wrote:
 
 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.comerror:5.1.2 You probably meant 
  aol.com, not aoll.com
  aaol.comerror:5.1.2 You probably meant 
  aol.com, not aaol.com
  aiol.comerror: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

Indeed :)
Although it's 9PM on a Sunday night here..guess I can be forgiven! And
it's only been 3 days since St Paddy's

 
 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
 

Thanks for the tip.
Best,

-RV