summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfukachan <fukachan>2005-01-01 07:16:12 +0000
committerfukachan <fukachan>2005-01-01 07:16:12 +0000
commit0e446dac14f5980de550c1fc04ef6b102e623b20 (patch)
tree90e5bebe0505f3a73321cd0c1c265aa49c7cc7fd
parentaf94495b39fbb86e3e8271cac9477af493536719 (diff)
downloadfml8-0e446dac14f5980de550c1fc04ef6b102e623b20.tar.gz
fml8-0e446dac14f5980de550c1fc04ef6b102e623b20.tar.bz2
fml8-0e446dac14f5980de550c1fc04ef6b102e623b20.zip
handle X-Stardate: and Precedence: header field
-rw-r--r--fml/doc/en/tutorial/variables/class.sgml1
-rw-r--r--fml/doc/en/tutorial/variables/list.sgml11
-rw-r--r--fml/doc/ja/tutorial/variables/class.sgml1
-rw-r--r--fml/doc/ja/tutorial/variables/list.sgml11
-rw-r--r--fml/etc/default_config.cf.en.in9
-rw-r--r--fml/etc/default_config.cf.ja.in9
-rw-r--r--fml/etc/src/config.cf.en/header.cf9
-rw-r--r--fml/etc/src/config.cf.ja/header.cf9
-rw-r--r--fml/lib/FML/Header.pm40
9 files changed, 99 insertions, 1 deletions
diff --git a/fml/doc/en/tutorial/variables/class.sgml b/fml/doc/en/tutorial/variables/class.sgml
index dd4bfeef..ce190d5f 100644
--- a/fml/doc/en/tutorial/variables/class.sgml
+++ b/fml/doc/en/tutorial/variables/class.sgml
@@ -546,6 +546,7 @@ outgoing {
outgoing_* {
? $outgoing_mail_header_errors_to
+ ? $outgoing_mail_header_precedence
? $outgoing_mail_header_x_ml_name
}
}
diff --git a/fml/doc/en/tutorial/variables/list.sgml b/fml/doc/en/tutorial/variables/list.sgml
index 7be2372b..b5f0ddd8 100644
--- a/fml/doc/en/tutorial/variables/list.sgml
+++ b/fml/doc/en/tutorial/variables/list.sgml
@@ -118,6 +118,8 @@ delete_unsafe_header_fields
rewrite_article_subject_tag
rewrite_reply_to
rewrite_errors_to
+ rewrite_stardate
+ rewrite_precedence
add_software_info
add_fml_ml_name
add_fml_traditional_article_id
@@ -1288,6 +1290,15 @@ $maintainer
</row>
<row>
<entry>
+outgoing_mail_header_precedence</entry>
+<entry>
+ Precedence: field</entry>
+<entry>
+bulk
+ </entry>
+</row>
+<row>
+<entry>
outgoing_mail_header_x_ml_name</entry>
<entry>
ml name in both X-ML-Name: and X-Sequence header fields.</entry>
diff --git a/fml/doc/ja/tutorial/variables/class.sgml b/fml/doc/ja/tutorial/variables/class.sgml
index dd4bfeef..ce190d5f 100644
--- a/fml/doc/ja/tutorial/variables/class.sgml
+++ b/fml/doc/ja/tutorial/variables/class.sgml
@@ -546,6 +546,7 @@ outgoing {
outgoing_* {
? $outgoing_mail_header_errors_to
+ ? $outgoing_mail_header_precedence
? $outgoing_mail_header_x_ml_name
}
}
diff --git a/fml/doc/ja/tutorial/variables/list.sgml b/fml/doc/ja/tutorial/variables/list.sgml
index e6e13c28..85908141 100644
--- a/fml/doc/ja/tutorial/variables/list.sgml
+++ b/fml/doc/ja/tutorial/variables/list.sgml
@@ -118,6 +118,8 @@ delete_unsafe_header_fields
rewrite_article_subject_tag
rewrite_reply_to
rewrite_errors_to
+ rewrite_stardate
+ rewrite_precedence
add_software_info
add_fml_ml_name
add_fml_traditional_article_id
@@ -1280,6 +1282,15 @@ $maintainer
</row>
<row>
<entry>
+outgoing_mail_header_precedence</entry>
+<entry>
+ Precedence: field</entry>
+<entry>
+bulk
+ </entry>
+</row>
+<row>
+<entry>
outgoing_mail_header_x_ml_name</entry>
<entry>
X-ML-Name: および X-Sequence にあらわれる ML 名</entry>
diff --git a/fml/etc/default_config.cf.en.in b/fml/etc/default_config.cf.en.in
index 13f6855e..39aa80c8 100644
--- a/fml/etc/default_config.cf.en.in
+++ b/fml/etc/default_config.cf.en.in
@@ -891,6 +891,8 @@ article_header_rewrite_rules = delete_unsafe_header_fields
rewrite_article_subject_tag
rewrite_reply_to
rewrite_errors_to
+ rewrite_stardate
+ rewrite_precedence
add_software_info
add_fml_ml_name
add_fml_traditional_article_id
@@ -943,6 +945,13 @@ outgoing_mail_header_x_ml_name = $ml_name
outgoing_mail_header_errors_to = $maintainer
+# Descriptions: Precedence: field
+# History: $PRECEDENCE in fml 4.0
+# Value: STR
+# Examples: bulk
+outgoing_mail_header_precedence = bulk
+
+
=head1 mail body
diff --git a/fml/etc/default_config.cf.ja.in b/fml/etc/default_config.cf.ja.in
index 894baf49..78815b88 100644
--- a/fml/etc/default_config.cf.ja.in
+++ b/fml/etc/default_config.cf.ja.in
@@ -921,6 +921,8 @@ article_header_rewrite_rules = delete_unsafe_header_fields
rewrite_article_subject_tag
rewrite_reply_to
rewrite_errors_to
+ rewrite_stardate
+ rewrite_precedence
add_software_info
add_fml_ml_name
add_fml_traditional_article_id
@@ -975,6 +977,13 @@ outgoing_mail_header_x_ml_name = $ml_name
outgoing_mail_header_errors_to = $maintainer
+# Descriptions: Precedence: field
+# History: $PRECEDENCE in fml 4.0
+# Value: STR
+# Examples: bulk
+outgoing_mail_header_precedence = bulk
+
+
=head1 メール本文(ボディ)への操作
diff --git a/fml/etc/src/config.cf.en/header.cf b/fml/etc/src/config.cf.en/header.cf
index 39c51903..6ff5df2d 100644
--- a/fml/etc/src/config.cf.en/header.cf
+++ b/fml/etc/src/config.cf.en/header.cf
@@ -60,6 +60,8 @@ article_header_rewrite_rules = delete_unsafe_header_fields
rewrite_article_subject_tag
rewrite_reply_to
rewrite_errors_to
+ rewrite_stardate
+ rewrite_precedence
add_software_info
add_fml_ml_name
add_fml_traditional_article_id
@@ -112,3 +114,10 @@ outgoing_mail_header_x_ml_name = $ml_name
outgoing_mail_header_errors_to = $maintainer
+# Descriptions: Precedence: field
+# History: $PRECEDENCE in fml 4.0
+# Value: STR
+# Examples: bulk
+outgoing_mail_header_precedence = bulk
+
+
diff --git a/fml/etc/src/config.cf.ja/header.cf b/fml/etc/src/config.cf.ja/header.cf
index e1b3edbb..ec0c7fee 100644
--- a/fml/etc/src/config.cf.ja/header.cf
+++ b/fml/etc/src/config.cf.ja/header.cf
@@ -63,6 +63,8 @@ article_header_rewrite_rules = delete_unsafe_header_fields
rewrite_article_subject_tag
rewrite_reply_to
rewrite_errors_to
+ rewrite_stardate
+ rewrite_precedence
add_software_info
add_fml_ml_name
add_fml_traditional_article_id
@@ -117,3 +119,10 @@ outgoing_mail_header_x_ml_name = $ml_name
outgoing_mail_header_errors_to = $maintainer
+# Descriptions: Precedence: field
+# History: $PRECEDENCE in fml 4.0
+# Value: STR
+# Examples: bulk
+outgoing_mail_header_precedence = bulk
+
+
diff --git a/fml/lib/FML/Header.pm b/fml/lib/FML/Header.pm
index a8d527bd..047a0d76 100644
--- a/fml/lib/FML/Header.pm
+++ b/fml/lib/FML/Header.pm
@@ -4,7 +4,7 @@
# All rights reserved. This program is free software; you can
# redistribute it and/or modify it under the same terms as Perl itself.
#
-# $FML: Header.pm,v 1.79 2004/10/28 03:34:47 fukachan Exp $
+# $FML: Header.pm,v 1.80 2004/12/30 04:23:34 fukachan Exp $
#
package FML::Header;
@@ -525,6 +525,44 @@ sub rewrite_date
}
+# Descriptions: add/rewrite startrek stardate if needed.
+# Arguments: OBJ($header) OBJ($config) HASH_REF($rw_args)
+# Side Effects: update $header
+# Return Value: none
+sub rewrite_stardate
+{
+ my ($header, $config, $rw_args) = @_;
+
+ use Mail::Message::Date;
+ my $nowdate = new Mail::Message::Date time;
+ my $stardate = $nowdate->stardate();
+ if ($header->get('X-Stardate')) {
+ $header->replace('X-Stardate', $stardate);
+ }
+ else {
+ $header->add('X-Stardate', $stardate);
+ }
+}
+
+
+# Descriptions: add/rewrite Precedence: field if needed.
+# Arguments: OBJ($header) OBJ($config) HASH_REF($rw_args)
+# Side Effects: update $header
+# Return Value: none
+sub rewrite_precedence
+{
+ my ($header, $config, $rw_args) = @_;
+ my $precedence = $config->{ outgoing_mail_header_precedence } || 'bulk';
+
+ if ($header->get('Precedence')) {
+ $header->replace('Precedence', $precedence);
+ }
+ else {
+ $header->add('Precedence', $precedence);
+ }
+}
+
+
# Descriptions: rewrite Received: to X-Received: if needed.
# Arguments: OBJ($header) OBJ($config) HASH_REF($rw_args)
# Side Effects: update $header