[Mew-dist 07085] Re: Bcc/Dcc付きでコピーを残せないでしょうか

Motonori Nakamura motonori at example.com
1998年 12月 12日 (土) 00:16:54 JST


>>>>> On Fri, 11 Dec 1998 15:36:34 +0900, SAITOU Atsunori <atsunori at example.com> said:

atsunori> 現在 Fcc: +outbox のようにして、送信メールのコピーを残すよう
atsunori> にしているのですが、Fccでコピーされるものには、ヘッダ内の
atsunori> Bcc/Dcc部分が削除された形になります。

atsunori> mew/IMの設定で、これとは別に、Bcc/Dcc付きのコピーを残すよう
atsunori> なことはできないのでしょうか?

残すようにしたつもりだったのですが、つもりだけだったようです。
これでどうでしょうか。

- motonori

diff -cr ../im-104-/IM/Message.pm ./IM/Message.pm
*** ../im-104-/IM/Message.pm	Tue Nov 24 15:58:56 1998
--- ./IM/Message.pm	Fri Dec 11 23:27:47 1998
***************
*** 126,137 ****
      for ($i = 0; $i <= $e; $i++) {
  	$_ = $$Header[$i];
  	if (/^(Resent-)?(To|Cc|Bcc|Dcc):\s*(.*)/is) {
! 	    &add_header($Header, 0, " ORIGINAL $1$2: ", $3);
  	    $val = &rewrite_addr_list($Header, 0, $3, !$main::Obey_MTA_domain);
  	    return -1 if ($val eq '');
  	    $$Header[$i] = "$1$2: $val";
  	} elsif (/^(Resent-)?(From|Reply-To|Errors-To|Return-Receipt-To):\s*(.*)/is) {
! 	    &add_header($Header, 0, " ORIGINAL $1$2: ", $3);
  	    $val = &rewrite_addr_list($Header, 1, $3, !$main::Obey_MTA_domain);
  	    return -1 if ($val eq '');
  	    $$Header[$i] = "$1$2: $val";
--- 126,137 ----
      for ($i = 0; $i <= $e; $i++) {
  	$_ = $$Header[$i];
  	if (/^(Resent-)?(To|Cc|Bcc|Dcc):\s*(.*)/is) {
! 	    &add_header($Header, 0, " ORIGINAL $1$2", $3);
  	    $val = &rewrite_addr_list($Header, 0, $3, !$main::Obey_MTA_domain);
  	    return -1 if ($val eq '');
  	    $$Header[$i] = "$1$2: $val";
  	} elsif (/^(Resent-)?(From|Reply-To|Errors-To|Return-Receipt-To):\s*(.*)/is) {
! 	    &add_header($Header, 0, " ORIGINAL $1$2", $3);
  	    $val = &rewrite_addr_list($Header, 1, $3, !$main::Obey_MTA_domain);
  	    return -1 if ($val eq '');
  	    $$Header[$i] = "$1$2: $val";
***************
*** 251,264 ****
      my ($line, $del, $s);
      my $crlf = &crlf;
  
!     im_debug("entering put_header\n")
        if (&debug('header') || &debug('put'));
      hdr: foreach (@$Header) {
  	$line = $_;
  	next if ($line =~ /^ KILLED /);
  	if ($line =~ /^ ORIGINAL /) {
  	    next if ($sel ne 'original');
! 	    if ($line =~ /^ ORIGINAL Dcc:/i) {
  		$line =~ s/^ ORIGINAL //;
  	    } else {
  		next;
--- 251,264 ----
      my ($line, $del, $s);
      my $crlf = &crlf;
  
!     im_debug("entering put_header ($sel)\n")
        if (&debug('header') || &debug('put'));
      hdr: foreach (@$Header) {
  	$line = $_;
  	next if ($line =~ /^ KILLED /);
  	if ($line =~ /^ ORIGINAL /) {
  	    next if ($sel ne 'original');
! 	    if ($line =~ /^ ORIGINAL [BDF]cc:/i) {
  		$line =~ s/^ ORIGINAL //;
  	    } else {
  		next;
***************
*** 296,302 ****
  	$line .= "\n" if ($line !~ /\n$/);
  	$line =~ s/\r?\n/\r\n/g if ($crlf eq "\r\n");
  	im_debug("|$line") if (&debug('header') || &debug('put'));
! 	    return -1 unless (print CHAN "$line");
      }
      if ($proto =~ /nntp/i && !&header_value($Header, 'Path')) {
  #	return -1 unless (print CHAN "Path: $main::Login$crlf");
--- 296,302 ----
  	$line .= "\n" if ($line !~ /\n$/);
  	$line =~ s/\r?\n/\r\n/g if ($crlf eq "\r\n");
  	im_debug("|$line") if (&debug('header') || &debug('put'));
! 	return -1 unless (print CHAN "$line");
      }
      if ($proto =~ /nntp/i && !&header_value($Header, 'Path')) {
  #	return -1 unless (print CHAN "Path: $main::Login$crlf");
diff -cr ../im-104-/imput.in ./imput.in
*** ../im-104-/imput.in	Mon Dec  7 21:58:17 1998
--- ./imput.in	Fri Dec 11 23:24:52 1998
***************
*** 1441,1447 ****
  	    unlink($err_remove) if ($err_remove);
  	    return '';
  	}
! 	if (&put_header($FCC, \@Header, 'original') < 0
  	 || &put_body($FCC, \@Body, 0, 0) < 0) {
  	    im_err("FCC write failed ($!).\n");
  	    close($FCC);
--- 1441,1447 ----
  	    unlink($err_remove) if ($err_remove);
  	    return '';
  	}
! 	if (&put_header($FCC, \@Header, 'internal', 'original') < 0
  	 || &put_body($FCC, \@Body, 0, 0) < 0) {
  	    im_err("FCC write failed ($!).\n");
  	    close($FCC);
***************
*** 1893,1899 ****
      print QUEUE "\n";
  
      &set_crlf("\n");
!     if (&put_header(\*QUEUE, \@Header, 'all') < 0
        || &put_body(\*QUEUE, \@Body, 0, 0) < 0) {
  	close(QUEUE);
  	im_err("queuing to $queue_dir/$max failed ($!).\n");
--- 1893,1899 ----
      print QUEUE "\n";
  
      &set_crlf("\n");
!     if (&put_header(\*QUEUE, \@Header, 'internal', 'all') < 0
        || &put_body(\*QUEUE, \@Body, 0, 0) < 0) {
  	close(QUEUE);
  	im_err("queuing to $queue_dir/$max failed ($!).\n");



Mew-dist メーリングリストの案内