[Mew-dist 07370] Re: pop account with colon
Motonori Nakamura
motonori at example.com
1999年 2月 10日 (水) 08:47:39 JST
>>>>> On Tue, 9 Feb 1999 23:39:41 +0900, Shuichi Kitaguchi <shuuic-k at example.com> said:
kaoru> movemail.exe + mew-win32-mvm.el でうまくいく*かも*しれません。
kaoru> # movemail のソースが手元にないので、po:lamail:hoge で期待通りの
kaoru> # 動作をするかどうかがわかりません。 ^^;
shuuic-k> なるほど、と思って movemail のソースを覗いてみると、
shuuic-k> "po:" + "USERNAME" と切り分けているので大丈夫そうです。
なるほど。そうすると、省略可能なパラメータの出現順序を
pop[/auth][:user][@server[/port]]
に固定してしまえば、なんとかなりそうですね。
今までは順不同だったので、使える文字に制限がありました。
user に @ が含まれることも考慮して、最も後ろに出現する @ 以下を
サーバの指定だと思うようにしました。こんなパッチでいかがでしょうか。
# 問題は IMAP のフォルダ指定だなぁ。
diff -cr im-105-/IM/Pop.pm im-105/IM/Pop.pm
*** im-105-/IM/Pop.pm Mon Feb 8 15:20:09 1999
--- im-105/IM/Pop.pm Wed Feb 10 08:43:06 1999
***************
*** 549,555 ****
return $msgs;
}
! # POP folder (--src=pop[:user][/auth][@server[/port]])
sub pop_spec ($) {
my $spec = shift;
--- 549,555 ----
return $msgs;
}
! # POP folder (--src=pop[/auth][:user][@server[/port]])
sub pop_spec ($) {
my $spec = shift;
***************
*** 567,584 ****
my ($auth, $host) = ('apop', 'localhost');
my $user = $ENV{'USER'} || $ENV{'LOGNAME'} || im_getlogin();
! while ($spec ne '') {
! if ($spec =~ /^:([^:\/\@]+)(.*)/) {
! $user = $1;
! } elsif ($spec =~ /^\/([^:\/\@]+)(.*)/) {
! $auth = $1;
! } elsif ($spec =~ /^\@([^\@]+)(.*)/) {
! $host = $1;
! } else {
! im_warn("invalid pop spec: $spec\n");
! return ('', '', '');
! }
$spec = $2;
}
if ($auth =~ /^pop$/i) {
--- 567,587 ----
my ($auth, $host) = ('apop', 'localhost');
my $user = $ENV{'USER'} || $ENV{'LOGNAME'} || im_getlogin();
! if ($spec =~ /(.*)\@(.*)/) {
! $host = $2;
! $spec = $1;
! }
! if ($spec =~ /^\/(\w+)(.*)/) {
! $auth = $1;
$spec = $2;
+ }
+ if ($spec =~ /^:(.*)/) {
+ $user = $1;
+ $spec = '';
+ }
+ if ($spec ne '') {
+ im_warn("invalid pop spec: $spec\n");
+ return ('', '', '');
}
if ($auth =~ /^pop$/i) {
diff -cr im-105-/dot.im/Config im-105/dot.im/Config
*** im-105-/dot.im/Config Fri Aug 14 15:37:10 1998
--- im-105/dot.im/Config Wed Feb 10 08:26:10 1999
***************
*** 104,119 ****
#UseCL=no # Use value of Content-Length header
#NoSync=no # Do not need fsync(2) on writing file
#PopAccount=/APOP at example.com # account info for POP access
! #PopAccount=user/APOP at example.com # account info with user name
! #PopAccount=user/APOP at example.com/110 # account info with user name and port number
#Keep=7 # preserve read messages on server
#ProtoKeep=UIDL # how to know which message is unread
# (UIDL, LAST, STATUS, MSGID)
#IgnorePostPet=yes # leave messages for PostPet on mbox (POP only)
#ImapAccount=/AUTH at example.com # account info for IMAP access
! #ImapAccount=user/AUTH at example.com # account info with user name
#HttpProxy=proxy-server:8080 # proxy server for HTTP access
#NoProxy=http://.*my.domain/ # URL regex not to use Proxy server
#UsePwAgent=yes # use password agent
--- 104,121 ----
#UseCL=no # Use value of Content-Length header
#NoSync=no # Do not need fsync(2) on writing file
+ #Imget.Src=pop
#PopAccount=/APOP at example.com # account info for POP access
! #PopAccount=/APOP:user at example.com # account info with user name
! #PopAccount=/APOP:user at example.com/110 # account info with user name and port number
#Keep=7 # preserve read messages on server
#ProtoKeep=UIDL # how to know which message is unread
# (UIDL, LAST, STATUS, MSGID)
#IgnorePostPet=yes # leave messages for PostPet on mbox (POP only)
+ #Imget.Src=imap
#ImapAccount=/AUTH at example.com # account info for IMAP access
! #ImapAccount=/AUTH:user at example.com # account info with user name
#HttpProxy=proxy-server:8080 # proxy server for HTTP access
#NoProxy=http://.*my.domain/ # URL regex not to use Proxy server
#UsePwAgent=yes # use password agent
diff -cr im-105-/man/imget.jis im-105/man/imget.jis
*** im-105-/man/imget.jis Mon Oct 19 21:42:47 1998
--- im-105/man/imget.jis Wed Feb 10 08:23:51 1999
***************
*** 80,86 ****
これらは自動判別される。
pop POP を用いて get する。
<string> への指定の形式は、
! pop[/auth][:user][@host/[port]]
[] は、その中の記述が省略できることを示す。
auth には、POP, APOP, RPOP のうちのいずれかを
指定する。デフォルトは APOP。
--- 80,86 ----
これらは自動判別される。
pop POP を用いて get する。
<string> への指定の形式は、
! pop[/auth][:user][@host[/port]]
[] は、その中の記述が省略できることを示す。
auth には、POP, APOP, RPOP のうちのいずれかを
指定する。デフォルトは APOP。
- motonori
Mew-dist メーリングリストの案内