summaryrefslogtreecommitdiff
path: root/fml
diff options
context:
space:
mode:
authortmu <tmu>2003-08-05 10:45:17 +0000
committertmu <tmu>2003-08-05 10:45:17 +0000
commite44020ea7380f7b2ccb2e9a41d7dcc9c1aa2ce40 (patch)
tree16839caecee2ce84e50747f70db5e8b99a29e81d /fml
parent9ddc31a47edb67892c8ed62791520c920d5c6bfd (diff)
downloadfml8-e44020ea7380f7b2ccb2e9a41d7dcc9c1aa2ce40.tar.gz
fml8-e44020ea7380f7b2ccb2e9a41d7dcc9c1aa2ce40.tar.bz2
fml8-e44020ea7380f7b2ccb2e9a41d7dcc9c1aa2ce40.zip
freeserve.ne.jp errormail
Diffstat (limited to 'fml')
-rw-r--r--fml/lib/Mail/Bounce/Freeserve.pm95
1 files changed, 95 insertions, 0 deletions
diff --git a/fml/lib/Mail/Bounce/Freeserve.pm b/fml/lib/Mail/Bounce/Freeserve.pm
new file mode 100644
index 00000000..936fb7fb
--- /dev/null
+++ b/fml/lib/Mail/Bounce/Freeserve.pm
@@ -0,0 +1,95 @@
+#-*- perl -*-
+#
+# Copyright (C) 2003 MURASHITA Takuya
+# All rights reserved. This program is free software; you can
+# redistribute it and/or modify it under the same terms as Perl itself.
+#
+# $FML: Freeserve.pm,v 1.9 2002/12/20 03:49:16 fukachan Exp $
+#
+
+
+package Mail::Bounce::Freeserve;
+
+use strict;
+use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD);
+use Carp;
+
+=head1 NAME
+
+Mail::Bounce::Freeserve - Freeserve error message format parser
+
+=head1 SYNOPSIS
+
+See C<Mail::Bounce> for more details.
+
+=head1 DESCRIPTION
+
+See C<Mail::Bounce> for more details.
+
+=head1 Freeserve Error Formats
+
+ To: nospam-ml-admin@ffs.fml.org
+ Message-Id: <200308051027.h75ARXb26220@fbe.freeserve.ne.jp>
+ X-Loop: erroraddress@fbe.freeserve.ne.jp
+ From: support@freeserve.ne.jp
+ Subject: 【freeserve管理メール】メールを受け取ることが出来ませんでした。
+
+ 【このメールはfreeserveシステムから自動的に送信されています】
+
+ freeserveではメールボックスに容量制限があります。
+ あなた様がメールを送ったfreeserveユーザーのメールボックスが制限値に達してお
+ り、お送りになったメールを受け取ることが出来ませんでした。
+
+ http://www.freeserve.ne.jp/
+ support@freeserve.ne.jp
+
+=cut
+
+
+# Descriptions: trap error pattern in subject from goo.ne.jp.
+# Arguments: OBJ($self) OBJ($msg) HASH_REF($result)
+# Side Effects: update $result
+# Return Value: none
+sub analyze
+{
+ my ($self, $msg, $result) = @_;
+ my $hdr = $msg->whole_message_header();
+ my $xloop = $hdr->get('x-loop');
+
+ if ($xloop =~ /^X-Loop:\s+([^\s\@]+@\S+\.freeserve\.ne\.jp)$/) {
+ my $addr = $1;
+
+ # set up return buffer if $addr is found.
+ # XXX-TODO: we should use $self->address_clean_up() ?
+ if ($addr) {
+ $result->{ $addr }->{ 'Final-Recipient' } = $addr;
+ $result->{ $addr }->{ 'Status' } = '4.x.y';
+ $result->{ $addr }->{ 'hints' } = 'freeserve.ne.jp';
+ }
+ }
+}
+
+
+=head1 CODING STYLE
+
+See C<http://www.fml.org/software/FNF/> on fml coding style guide.
+
+=head1 AUTHOR
+
+MURASHITA Takuya
+
+=head1 COPYRIGHT
+
+Copyright (C) 2003 MURASHITA Takuya
+
+All rights reserved. This program is free software; you can
+redistribute it and/or modify it under the same terms as Perl itself.
+
+=head1 HISTORY
+
+Mail::Bounce::Freeserve first appeared in fml8 mailing list driver package.
+See C<http://www.fml.org/> for more details.
+
+=cut
+
+1;