Re: Mutt, MTA и провадеры dial-up
> Это да.
> Посему универсальный совет - просто открыть акаунт на рэмблере или еще
> где, и использовать их SMTP сервер (совместно с логином и паролем их
> аккаунта) для отправки почты.
>
> Правда локальный smtp сервер придется настроить под это дело (чтобы он
> использовал логин/пароль того аккаунта).
А почему не сделать так (у меня уже года два работает):
в exim.conf:
######################################################################
# ROUTERS CONFIGURATION #
# Specifies how remote addresses are handled #
######################################################################
# ORDER DOES MATTER #
# A remote address is passed to each in turn until it is accepted. #
######################################################################
select_smarthost:
driver = queryprogram
command = /usr/local/sbin/exim_router
send_to_smarthost:
driver = lookuphost
transport = remote_smtp
В /usr/local/sbin/exim_router (только табличка должна быть настроена на
конкретных провайдеров):
#!/bin/bash
pppip()
{
/sbin/ifconfig ppp0 2>/dev/null |
sed -n '/.*inet addr.*/ {s/.*inet addr:\([^ ]*\).*/\1/; p; }'
}
and_dot_quad()
{
echo $1.$2 | awk -F. '
# Old gawk's didn't have "and" builtin
# function and(x,y) {
# res=0
# for ( p=1; p<256; p*=2 ) {
# if ( (x%2==1) && (y%2==1) ) res+=p;
# x=int(x/2); y=int(y/2)
# }
# return res
# }
{ print ( and($1,$5) "." and($2,$6) "." and($3,$7) "." and($4,$8) ) }'
}
if /sbin/route -n | grep eth1 | awk '{print($1)}' | grep -q 0.0.0.0; then
echo OK remote_smtp mail.dubki.ru bydns_a
exit 0
fi
ip=`pppip`
if [ "$ip" = "" ]; then
echo DEFER
elif [ `and_dot_quad $ip 255.0.0.0` = 212.0.0.0 ]; then
echo OK remote_smtp pop.mtu.ru bydns_a
elif [ `and_dot_quad $ip 255.0.0.0` = 62.0.0.0 ]; then
echo OK remote_smtp pop.mtu.ru bydns_a
elif [ `and_dot_quad $ip 255.0.0.0` = 195.0.0.0 ]; then
echo OK remote_smtp koi.aha.ru bydns_a
else
ifconfig ppp0 2>&1 | mail -s "/usr/local/sbin/exim_router failed" root
echo DEFER
fi
Reply to: