# written in s-jis. # # 外部に発送するメールの流通経路に優先順位を設ける場合など、 # DNSのmxを使ってsmtproutesの配送先に優先順位をつけるパッチ # 例 :outboundmx.local.com= # 末尾に"="のついたホスト名はAレコードではなくMXレコード処理となる。 # DNSでは outboundmx.local.com に優先順位の違うMXを複数設定しておく。 # # ykamada(at)adm.tamagawa.ac.jp # diff -ur qmail-1.03-old/qmail-remote.c qmail-1.03/qmail-remote.c --- qmail-1.03-old/qmail-remote.c 1998-06-15 19:53:16.000000000 +0900 +++ qmail-1.03/qmail-remote.c 2011-08-09 21:03:40.000000000 +0900 @@ -338,6 +338,8 @@ int flagallaliases; int flagalias; char *relayhost; + int j; + int relayhostnomx = 1; sig_pipeignore(); if (argc < 4) perm_usage(); @@ -360,6 +362,11 @@ scan_ulong(relayhost + i + 1,&port); relayhost[i] = 0; } + j = str_chr(relayhost,'='); + if (relayhost[j]) { + relayhostnomx = 0; + relayhost[j] = 0; + } if (!stralloc_copys(&host,relayhost)) temp_nomem(); } @@ -382,7 +389,7 @@ random = now() + (getpid() << 16); - switch (relayhost ? dns_ip(&ip,&host) : dns_mxip(&ip,&host,random)) { + switch (relayhost && relayhostnomx ? dns_ip(&ip,&host) : dns_mxip(&ip,&host,random)) { case DNS_MEM: temp_nomem(); case DNS_SOFT: temp_dns(); case DNS_HARD: perm_dns();