Mike Cardwell wrote:
> * on the Sun, Jun 10, 2007 at 07:56:05PM +0200, mavior wrote:
>
>> The mail simply does not arrive in hotmail inbox nor in spam box.Seems
>> like it is silently deleted from hotmail servers,but I don't receive any
>> reject mail back or any other feedback.
>> Any suggestions?
>> thank you
>
> I've found a way around their stupid filters. Well, it works for me
> anyway. Just before the dnslookup router create another router:
>
> hotmail:
> driver = dnslookup
> domains = hotmail.com : hotmail.co.uk
> transport = remote_smtp
> headers_add = ${run{/usr/bin/perl -e 'print "X-HotMail-Fodder1-\$_: ".("Z"x99)."\n" for 1..220'}{$value}{}}\
> ${run{/usr/bin/perl -e 'print "X-HotMail-Fodder2-\$_: ".("Z"x99)."\n" for 1..220'}{$value}{}}
> ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
> no_more
>
> This adds lots of large headers to the email message which seems to
> push the message size above a limit somewhere around 50KB at which
> point hotmail stops blackholing my mail. Maybe they don't perform
> certain scans on messages above a certain size.
To further expand on this. It appears that this technique does not
"bypass" their filters, but gives the message a much higher likelyhood
of passing them only. I noticed this when trying to send an email with a
.exe attachment to a hotmail account, which was silently dropped. So I
did a bunch of further tests to verify that this was the case. So what I
did was updated the router to add fake In-Reply-To and References
headers to any email destined for a hotmail account to trick hotmail
into thinking that the email was a reply. When I did this, all email
seems to be getting through. When I remove this, it starts getting
blackholed again:
hotmail:
driver = dnslookup
domains = hotmail.com : hotmail.co.uk : hotmail.fr : hotmail.it :
hotmail.de
condition = ${if or{\
{match{$h_References:}{\N^<BAY\d+-.+@phx\.gbl>$\N}}\
{match{$h_In-Reply-To:}{\N^<BAY\d+-.+@phx\.gbl>$\N}}\
}{false}{true}}
transport = remote_smtp
headers_add = ${readfile{/etc/exim4/hotmail_fodder.txt}}
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
The differences:
1.) There are more hotmail domains
2.) It doesn't execute if there are hotmail References or In-Reply-To
headers as the mail will get through anyway
3.) Instead of calling the perl exe to generate the headers, stick them
in a file and use readfile
hotmail_fodder.txt contains the following:
References: <BAY000-000000000000000000000000000@???>
In-Reply-To: <BAY000-000000000000000000000000000@???>
Followed by about 500 lines of these headers:
X-Hotmail-Fodder:
0000000000000000000000000000000000000000000000000000000000000000000000000000000000
Mike