From e03dafeefd80c90ff16d07a9a5019d5f8ec7aa15 Mon Sep 17 00:00:00 2001 From: azumakuniyuki Date: Sat, 15 Jun 2024 13:28:10 +0900 Subject: [PATCH 1/5] Update the workflow files for this branch --- .github/workflows/codecovio.yml | 4 +++- .github/workflows/rake-test.yml | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codecovio.yml b/.github/workflows/codecovio.yml index 87637b78..e8feeacf 100644 --- a/.github/workflows/codecovio.yml +++ b/.github/workflows/codecovio.yml @@ -3,13 +3,15 @@ on: push: branches: ["5-stable"] pull_request: - branches: ["5-stable"] + branches: ["*"] jobs: codecov: runs-on: ubuntu-latest steps: - name: Checkout the repository(CRuby) uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.ref }} - name: Setup CRuby uses: ruby/setup-ruby@v1 with: diff --git a/.github/workflows/rake-test.yml b/.github/workflows/rake-test.yml index d6d7b771..34ae0e8a 100644 --- a/.github/workflows/rake-test.yml +++ b/.github/workflows/rake-test.yml @@ -3,7 +3,7 @@ on: push: branches: ["5-stable"] pull_request: - branches: ["5-stable"] + branches: ["*"] jobs: test-cruby: name: rake test with CRuby ${{ matrix.cruby }} @@ -15,6 +15,8 @@ jobs: steps: - name: Checkout the repository(CRuby) uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.ref }} - name: Setup CRuby uses: ruby/setup-ruby@v1 with: @@ -38,7 +40,9 @@ jobs: jruby: ["jruby-9.2", "jruby-9.4"] steps: - name: Checkout the repository(JRuby) - uses: actions/checkout@v2 + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.ref }} - name: Setup JRuby uses: ruby/setup-ruby@v1 with: From 4defb28683b8f60a8fe629a98f3dc1d0b7229266 Mon Sep 17 00:00:00 2001 From: azumakuniyuki Date: Sat, 15 Jun 2024 16:33:57 +0900 Subject: [PATCH 2/5] #292 Implement Sisimai::Lhost::DragonFly --- lib/sisimai/lhost.rb | 4 +- lib/sisimai/lhost/dragonfly.rb | 113 +++++++++++++++++++++++++++++++++ lib/sisimai/order.rb | 1 + 3 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 lib/sisimai/lhost/dragonfly.rb diff --git a/lib/sisimai/lhost.rb b/lib/sisimai/lhost.rb index a52d0c91..cea6f6ca 100644 --- a/lib/sisimai/lhost.rb +++ b/lib/sisimai/lhost.rb @@ -42,8 +42,8 @@ def INDICATORS def index return %w[ Activehunter Amavis AmazonSES AmazonWorkMail Aol ApacheJames Barracuda Bigfoot Biglobe - Courier Domino EZweb EinsUndEins Exchange2003 Exchange2007 Exim FML Facebook GMX GSuite - GoogleGroups Gmail IMailServer InterScanMSS KDDI MXLogic MailFoundry MailMarshalSMTP + Courier Domino DragonFly EZweb EinsUndEins Exchange2003 Exchange2007 Exim FML Facebook GMX + GSuite GoogleGroups Gmail IMailServer InterScanMSS KDDI MXLogic MailFoundry MailMarshalSMTP MailRu McAfee MessageLabs MessagingServer Notes Office365 OpenSMTPD Outlook Postfix PowerMTA ReceivingSES SendGrid Sendmail SurfControl V5sendmail Verizon X1 X2 X3 X4 X5 X6 Yahoo Yandex Zoho MFILTER Qmail diff --git a/lib/sisimai/lhost/dragonfly.rb b/lib/sisimai/lhost/dragonfly.rb new file mode 100644 index 00000000..3af6bc12 --- /dev/null +++ b/lib/sisimai/lhost/dragonfly.rb @@ -0,0 +1,113 @@ +module Sisimai::Lhost + # Sisimai::Lhost::DragonFly parses a bounce email which created by DMA: DragonFly Mail Agent. + # Methods in the module are called from only Sisimai::Message. + module DragonFly + class << self + require 'sisimai/lhost' + require 'sisimai/address' + require 'sisimai/smtp/command' + + Indicators = Sisimai::Lhost.INDICATORS + Boundaries = ['Original message follows.', 'Message headers follow'].freeze + StartingOf = { + # https://github.com/corecode/dma/blob/ffad280aa40c242aa9a2cb9ca5b1b6e8efedd17e/mail.c#L84 + message: ['This is the DragonFly Mail Agent '], + }.freeze + MessagesOf = { + 'expired' => [ + # https://github.com/corecode/dma/blob/master/dma.c#L370C1-L374C19 + # dma.c:370| if (gettimeofday(&now, NULL) == 0 && + # dma.c:371| (now.tv_sec - st.st_mtim.tv_sec > MAX_TIMEOUT)) { + # dma.c:372| snprintf(errmsg, sizeof(errmsg), + # dma.c:373| "Could not deliver for the last %d seconds. Giving up.", + # dma.c:374| MAX_TIMEOUT); + # dma.c:375| goto bounce; + # dma.c:376| } + 'Could not deliver for the last ', + ], + 'hostunknown' => [ + # net.c:663| snprintf(errmsg, sizeof(errmsg), "DNS lookup failure: host %s not found", host); + 'DNS lookup failure: host ', + ], + }.freeze + + # Parse bounce messages from DMA: DragonFly Mail Agent + # @param [Hash] mhead Message headers of a bounce email + # @param [String] mbody Message body of a bounce email + # @return [Hash] Bounce data list and message/rfc822 part + # @return [Nil] it failed to parse or the arguments are missing + def inquire(mhead, mbody) + return nil unless mhead['subject'].start_with?('Mail delivery failed') + return nil unless mhead['received'].any? { |a| a.include?(' (DragonFly Mail Agent') } + + dscontents = [Sisimai::Lhost.DELIVERYSTATUS] + emailparts = Sisimai::RFC5322.part(mbody, Boundaries) + bodyslices = emailparts[0].split("\n") + readcursor = 0 # (Integer) Points the current cursor position + recipients = 0 # (Integer) The number of 'Final-Recipient' header + v = nil + + while e = bodyslices.shift do + # Read error messages and delivery status lines from the head of the email to the previous + # line of the beginning of the original message. + if readcursor == 0 + # Beginning of the bounce message or delivery status part + readcursor |= Indicators[:deliverystatus] if e.start_with?(StartingOf[:message][0]) + next + end + next if (readcursor & Indicators[:deliverystatus]) == 0 + next if e.empty? + + # This is the DragonFly Mail Agent v0.13 at df.example.jp. + # + # There was an error delivering your mail to . + # + # email.example.jp [192.0.2.25] did not like our RCPT TO: + # 552 5.2.2 : Recipient address rejected: Mailbox full + # + # Original message follows. + v = dscontents[-1] + + if e.start_with?('There was an error delivering your mail to <') + # email.example.jp [192.0.2.25] did not like our RCPT TO: + # 552 5.2.2 : Recipient address rejected: Mailbox full + if v['recipient'] + # There are multiple recipient addresses in the message body. + dscontents << Sisimai::Lhost.DELIVERYSTATUS + v = dscontents[-1] + end + v['recipient'] = Sisimai::Address.find(e, false)[0][:address] + recipients += 1 + else + # Pick the error message + v['diagnosis'] ||= '' + v['diagnosis'] << ' ' << e + + # Pick the remote hostname, and the SMTP command + # net.c:500| snprintf(errmsg, sizeof(errmsg), "%s [%s] did not like our %s:\n%s", + next unless e.include?(' did not like our ') + next if v['rhost'] + + p = e.split(' ', 3) + v['rhost'] = if p[0].include?('.') then p[0] else p[1] end + v['command'] = Sisimai::SMTP::Command.find(e) || '' + end + end + return nil unless recipients > 0 + + dscontents.each do |e| + e['diagnosis'] = Sisimai::String.sweep(e['diagnosis']) + MessagesOf.each_key do |r| + # Verify each regular expression of session errors + next unless MessagesOf[r].any? { |a| e['diagnosis'].include?(a) } + e['reason'] = r + break + end + end + return { 'ds' => dscontents, 'rfc822' => emailparts[1] } + end + def description; return 'DragonFly'; end + end + end +end + diff --git a/lib/sisimai/order.rb b/lib/sisimai/order.rb index 46c59914..0ba0a4ef 100644 --- a/lib/sisimai/order.rb +++ b/lib/sisimai/order.rb @@ -105,6 +105,7 @@ class << self 'loop-alert' => ['Sisimai::Lhost::FML'], 'mail-delivery' => [ 'Sisimai::Lhost::Exim', + 'Sisimai::Lhost::DragonFly', 'Sisimai::Lhost::MailRu', 'Sisimai::Lhost::GMX', 'Sisimai::Lhost::EinsUndEins', From 40881c9f3ec9ff0b2ab7e17ffb3abe3c4c9afcc2 Mon Sep 17 00:00:00 2001 From: azumakuniyuki Date: Sat, 15 Jun 2024 16:34:28 +0900 Subject: [PATCH 3/5] #292 Add 28 samples generated by DMA: DragonFly Mail Agent --- .../maildir/bsd/lhost-dragonfly-01.eml | 36 ++++++++++++++ .../maildir/bsd/lhost-dragonfly-02.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-03.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-04.eml | 31 ++++++++++++ .../maildir/bsd/lhost-dragonfly-05.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-06.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-07.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-08.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-09.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-10.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-11.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-12.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-13.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-14.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-15.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-16.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-17.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-18.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-19.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-20.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-21.eml | 33 +++++++++++++ .../maildir/bsd/lhost-dragonfly-22.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-23.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-24.eml | 32 +++++++++++++ .../maildir/bsd/lhost-dragonfly-25.eml | 33 +++++++++++++ .../maildir/bsd/lhost-dragonfly-26.eml | 33 +++++++++++++ .../maildir/bsd/lhost-dragonfly-27.eml | 47 +++++++++++++++++++ .../maildir/bsd/lhost-dragonfly-28.eml | 47 +++++++++++++++++++ 28 files changed, 932 insertions(+) create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-01.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-02.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-03.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-04.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-05.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-06.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-07.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-08.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-09.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-10.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-11.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-12.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-13.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-14.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-15.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-16.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-17.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-18.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-19.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-20.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-21.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-22.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-23.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-24.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-25.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-26.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-27.eml create mode 100644 set-of-emails/maildir/bsd/lhost-dragonfly-28.eml diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-01.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-01.eml new file mode 100644 index 00000000..ef606970 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-01.eml @@ -0,0 +1,36 @@ +Received: from MAILER-DAEMON + id e0720 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:02:02 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:02:02 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +gmail-smtp-in.l.google.com [74.125.203.27] did not like our final DATA: +550-5.7.26 Unauthenticated email from example.jp is not accepted due to domain's +550-5.7.26 DMARC policy. Please contact the administrator of example.jp domain if +550-5.7.26 this was a legitimate mail. To learn about the DMARC initiative, go +550-5.7.26 to +550 5.7.26 https://support.google.com/mail/?p=DmarcRejection 98e67ed59e1d1-2c2d0e28189si6418580a91.13 - gsmtp + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e06d1 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:02:00 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:02:00 +0900 +Message-Id: <66681288.e06d1.3824794@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-02.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-02.eml new file mode 100644 index 00000000..9bcb6d78 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-02.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0720 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:04:02 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:04:02 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +outlook-com.olc.protection.outlook.com [52.101.42.17] did not like our final DATA: +550 5.7.509 Access denied, sending domain [DF.EXAMPLE.JP] does not pass DMARC verification and has a DMARC policy of reject. [TYCP286MB3363.JPNP286.PROD.OUTLOOK.COM 2024-06-11T09:04:02.679Z 08DC8850F12E1502] [MW4PR04CA0381.namprd04.prod.outlook.com 2024-06-11T09:04:02.743Z 08DC87B4931D8FD2] [CO1PEPF000066EC.namprd05.prod.outlook.com 2024-06-11T09:04:02.731Z 08DC89E7235090DB] + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e06d1 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:04:00 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:04:00 +0900 +Message-Id: <66681300.e06d1.6964aaf9@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-03.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-03.eml new file mode 100644 index 00000000..d979f6d8 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-03.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0720 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:09:35 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:09:35 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mta5.am0.yahoodns.net [67.195.204.79] did not like our final DATA: +554 5.7.9 Message not accepted for policy reasons. See https://senders.yahooinc.com/error-codes + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e06d1 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:09:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:09:33 +0900 +Message-Id: <6668144d.e06d1.1bdca37a@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-04.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-04.eml new file mode 100644 index 00000000..da875f98 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-04.eml @@ -0,0 +1,31 @@ +Received: from MAILER-DAEMON + id e0724 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:15:33 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:15:33 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +DNS lookup failure: host cx.libsisimai.org not found + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0722 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:15:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:15:33 +0900 +Message-Id: <666815b5.e0722.4e479ce6@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-05.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-05.eml new file mode 100644 index 00000000..40ac504e --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-05.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0724 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:17:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:17:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +550 5.7.26 : Recipient address rejected: Multiple authentication checks failed + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0722 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:17:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:17:33 +0900 +Message-Id: <6668162d.e0722.3a6a6f36@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-06.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-06.eml new file mode 100644 index 00000000..6e255697 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-06.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0726 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:21:33 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:21:33 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +550 5.7.25 : Recipient address rejected: Reverse DNS validation failed: See https://libsisimai.org/en/reason/#blocked + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0724 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:21:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:21:33 +0900 +Message-Id: <6668171d.e0724.4a78d49a@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-07.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-07.eml new file mode 100644 index 00000000..e984055b --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-07.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0726 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:23:33 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:23:33 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +550 5.6.0 : Recipient address rejected: Media error. See https://libsisimai.org/en/reason/#contenterror + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0724 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:23:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:23:33 +0900 +Message-Id: <66681795.e0724.764d9012@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-08.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-08.eml new file mode 100644 index 00000000..54527ee6 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-08.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0726 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:25:33 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:25:33 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +552 5.2.3 : Recipient address rejected: Message length exceeds administrative limit. See https://libsisimai.org/en/reason/#exceedlimit + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0724 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:25:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:25:33 +0900 +Message-Id: <6668180d.e0724.7c2abac3@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-09.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-09.eml new file mode 100644 index 00000000..7dcb6d4b --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-09.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0728 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:29:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:29:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +550 5.2.1 : Recipient address rejected: User unknown. See https://libsisimai.org/en/reason/#filtered + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0726 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:29:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:29:33 +0900 +Message-Id: <666818fd.e0726.7e456d07@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-10.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-10.eml new file mode 100644 index 00000000..2aaf9bf0 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-10.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0728 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:31:33 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:31:33 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +550 5.1.6 : Recipient address rejected: Destination mailbox has moved, No forwarding address. See https://libsisimai.org/en/reason/#hasmoved + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0726 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:31:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:31:33 +0900 +Message-Id: <66681975.e0726.7dcedb39@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-11.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-11.eml new file mode 100644 index 00000000..4026175f --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-11.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0728 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:33:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:33:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +550 5.1.2 : Recipient address rejected: Bad destination system address. See https://libsisimai.org/en/reason/#hostunknown + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0726 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:33:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:33:33 +0900 +Message-Id: <666819ed.e0726.115fa400@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-12.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-12.eml new file mode 100644 index 00000000..4fe360f1 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-12.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0728 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:35:33 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:35:33 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +552 5.2.2 : Recipient address rejected: Mailbox full. See https://libsisimai.org/en/reason/#mailboxfull + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0726 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:35:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:35:33 +0900 +Message-Id: <66681a65.e0726.29ed079c@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-13.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-13.eml new file mode 100644 index 00000000..baeb881e --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-13.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0728 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:37:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:37:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +554 5.3.0 : Recipient address rejected: Mailer error. See https://libsisimai.org/en/reason/#mailererror + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0726 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:37:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:37:33 +0900 +Message-Id: <66681add.e0726.72bc0b4c@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-14.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-14.eml new file mode 100644 index 00000000..d8602e3c --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-14.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0728 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:39:33 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:39:33 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +554 5.3.4 : Recipient address rejected: Message too big for system. See https://libsisimai.org/en/reason/#mesgtoobig + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0726 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:39:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:39:33 +0900 +Message-Id: <66681b55.e0726.3201b1e4@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-15.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-15.eml new file mode 100644 index 00000000..d7030699 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-15.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e072a + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:43:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:43:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +550 5.7.0 : Recipient address rejected: No relaying. See https://libsisimai.org/en/reason/#norelaying + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0728 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:43:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:43:33 +0900 +Message-Id: <66681c45.e0728.e963bd9@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-16.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-16.eml new file mode 100644 index 00000000..6b76946f --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-16.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e072a + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:45:33 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:45:33 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +521 5.3.2 : Recipient address rejected: System not accepting network messages. See https://libsisimai.org/en/reason/#notaccept + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0728 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:45:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:45:33 +0900 +Message-Id: <66681cbd.e0728.29f828c0@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-17.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-17.eml new file mode 100644 index 00000000..63966b74 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-17.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e072a + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:47:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:47:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +550 5.0.0 : Recipient address rejected: On hold. See https://libsisimai.org/en/reason/#onhold + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0728 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:47:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:47:33 +0900 +Message-Id: <66681d35.e0728.180b873f@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-18.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-18.eml new file mode 100644 index 00000000..e699a98a --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-18.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e072a + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:49:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:49:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +550 5.7.0 : Recipient address rejected: Policy violation. See https://libsisimai.org/en/reason/#policyviolation + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0728 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:49:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:49:33 +0900 +Message-Id: <66681dad.e0728.6b657381@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-19.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-19.eml new file mode 100644 index 00000000..f0decdec --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-19.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e072c + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:53:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:53:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +551 5.7.1 : Recipient address rejected: Delivery not authorized. See https://libsisimai.org/en/reason/#securityerror + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e072a + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:53:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:53:33 +0900 +Message-Id: <66681e9d.e072a.9c343d6@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-20.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-20.eml new file mode 100644 index 00000000..6db40dec --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-20.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e072c + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:55:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:55:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +550 5.7.0 : Recipient address rejected: Spam detected. See https://libsisimai.org/en/reason/#spamdetected + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e072a + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:55:33 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:55:33 +0900 +Message-Id: <66681f15.e072a.19d854c3@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-21.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-21.eml new file mode 100644 index 00000000..22a8dbfb --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-21.eml @@ -0,0 +1,33 @@ +Received: from MAILER-DAEMON + id e072e + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:59:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 18:59:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +525 5.7.13 : Recipient address rejected: User account disabled. See https://libsisimai.org/en/reason/#suspend + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e072c + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 18:59:34 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 18:59:34 +0900 +Message-Id: <66682006.e072c.184b1dc1@df.example.jp> +From: + + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-22.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-22.eml new file mode 100644 index 00000000..e85e0f04 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-22.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e072e + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 19:01:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 19:01:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +501 5.1.3 : Recipient address rejected: Bad destination mailbox address syntax. See https://libsisimai.org/en/reason/#syntaxerror + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e072c + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 19:01:34 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 19:01:34 +0900 +Message-Id: <6668207e.e072c.4296cb8d@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-23.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-23.eml new file mode 100644 index 00000000..e4b6c9f8 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-23.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e072e + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 19:03:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 19:03:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +554 5.3.0 : Recipient address rejected: Internal system error. See https://libsisimai.org/en/reason/#systemerror + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e072c + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 19:03:34 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 19:03:34 +0900 +Message-Id: <666820f6.e072c.44bd3f67@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-24.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-24.eml new file mode 100644 index 00000000..246e2061 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-24.eml @@ -0,0 +1,32 @@ +Received: from MAILER-DAEMON + id e0734 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 19:11:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 19:11:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +550 5.1.1 : Recipient address rejected: User unknown. See https://libsisimai.org/en/reason/#userunknown + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0732 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 19:11:34 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 19:11:34 +0900 +Message-Id: <666822d6.e0732.f6410e7@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-25.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-25.eml new file mode 100644 index 00000000..51f08190 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-25.eml @@ -0,0 +1,33 @@ +From MAILER-DAEMON Tue Jun 11 19:13:34 2024 +Received: from MAILER-DAEMON + id e0734 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 19:13:34 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Tue, 11 Jun 2024 19:13:34 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mail-inbound.libsisimai.net [192.0.2.25] did not like our RCPT TO: +550 5.7.0 : Recipient address rejected: Virus detected. See https://libsisimai.org/en/reason/#virusdetected + +Message headers follow. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0732 + by df.example.jp (DragonFly Mail Agent v0.13); + Tue, 11 Jun 2024 19:13:34 +0900 +Subject: Nyaan 01 +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Tue, 11 Jun 2024 19:13:34 +0900 +Message-Id: <6668234e.e0732.58e0b9ce@df.example.jp> +From: + diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-26.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-26.eml new file mode 100644 index 00000000..67a1d25a --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-26.eml @@ -0,0 +1,33 @@ +Received: from MAILER-DAEMON + id e071e + by df.example.jp (DragonFly Mail Agent v0.13); + Wed, 12 Jun 2024 08:46:42 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: kijitora@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Wed, 12 Jun 2024 08:46:42 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +mbox.example.org [192.0.2.25] did not like our RCPT TO: +550 5.1.1 : Recipient address rejected: User unknown + +Original message follows. + +Received: from root (uid 0) + (envelope-from kijitora@df.example.jp) + id e0003 + by df.example.jp (DragonFly Mail Agent v0.13); + Wed, 12 Jun 2024 08:46:42 +0900 +Subject: Nyaan ? +To: nekochan +User-Agent: mail (GNU Mailutils 3.14) +Date: Wed, 12 Jun 2024 08:46:42 +0900 +Message-Id: <6668e1e2.e0003.9b9b713@df.example.jp> +From: + +df.example.jp diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-27.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-27.eml new file mode 100644 index 00000000..03d735d3 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-27.eml @@ -0,0 +1,47 @@ +Return-Path: <> +X-Original-To: postmaster@df.example.jp +Received: from df.example.jp (unknown [203.0.113.25]) + by email.example.org (Postfix) with ESMTP id 4VzRlY2BnYz22WHV + for ; Wed, 12 Jun 2024 09:50:01 +0900 (JST) +Authentication-Results: email.example.org; arc=none smtp.client-ip=203.0.113.25 +ARC-Seal:i=1; a=rsa-sha256; d=example.org; s=df0000; t=1718153401; cv=none; + b=Aa6dx2aZWbc5+HHP6GWRuTDksoDILYe1Qag6nc+HMVzSq/Sunfl+sCRgKyuTMchQAV5BFf8WrNpMsUBRu1aWdrA16kNnti34GrB4OaAnzb93OOBLNAwPFJsBcmsGb4iFhF0kw2msFspIsx1E9cyZVbuRx5VPjCGYfQDrYhcx1vzohckRfs8YbUBKsvC67vGk0MlXMIOHm/ayXCwDtMHtwun0aEtW9KU6V5vKY33ByWnIi8mCQc3jim8dA76VRhc9VEjkN6wiyhdzyWugtUKPMfI2IYVizik5z6Ef1DezZTXBF8mxMrWR+Tlzt5kxzqD/F8SG8sxjJ0Vq8clVNN4QCQ== +ARC-Message-Signature:i=1; a=rsa-sha256; d=example.org; s=df0000; + t=1718153401; c=relaxed/relaxed; + bh=qtLe3nGOhauxLg043qtKLg2CSSeMsLKUMouV9O9TU+c=; + h=Received:X-Original-To:From:To:Subject:Message-Id:Date; b=gPtPLENgBo56g3Lf+H7Tq5ESLC7YDUC/B3HZs0Sp7OaCNKMx7HspKwsrmk6RMlLt1RMAeYrQllhhoE8KGjuEwI+nQnur0BrOGgYqBqv3Q16iKBZvXecpRv8bptXt1xc/mkyE4AzkFS49N7qEKtTEEVLyOiIBH7+hP3OWRptOvLudSNAtDt8WyYO5ztKiDEGiJeFrV9JPevpTejVYGDikes7qoywsM0Q7a8lE4LU7XFj/6dD0NiS5+lIxdprixDSnrhdG+v8Tolks1VU+BwV3xlz7heP+xfuphdhy7TOYMfVIhEV3taUThFd2D8RKHkcGp2ksR9XTL44qYaQy43gMPQ== +ARC-Authentication-Results:i=1; email.example.org; dkim=permerror (bad message/signature format); arc=none smtp.client-ip=203.0.113.25 +Authentication-Results:email.example.org; dkim=permerror (bad message/signature format) +Received: from MAILER-DAEMON + id e071e + by df.example.jp (DragonFly Mail Agent v0.13); + Wed, 12 Jun 2024 09:39:51 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: postmaster@df.example.jp +Subject: Mail delivery failed +Message-Id: +Date: Wed, 12 Jun 2024 09:39:51 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +email.example.org [192.0.2.25] did not like our RCPT TO: +525 5.7.13 : Recipient address rejected: Disabled recipient address + +Original message follows. + +Received: from root (uid 0) + (envelope-from postmaster@df.example.jp) + id e0003 + by df.example.jp (DragonFly Mail Agent v0.13); + Wed, 12 Jun 2024 09:39:51 +0900 +Subject: Nyaan? +To: +User-Agent: mail (GNU Mailutils 3.14) +Date: Wed, 12 Jun 2024 09:39:51 +0900 +Message-Id: <6668ee57.e0003.59d8306d@df.example.jp> +From: + +df.example.jp diff --git a/set-of-emails/maildir/bsd/lhost-dragonfly-28.eml b/set-of-emails/maildir/bsd/lhost-dragonfly-28.eml new file mode 100644 index 00000000..4b9ef215 --- /dev/null +++ b/set-of-emails/maildir/bsd/lhost-dragonfly-28.eml @@ -0,0 +1,47 @@ +Return-Path: <> +X-Original-To: postmaster@example.jp +Received: from df.example.jp (unknown [203.0.113.25]) + by email.example.jp (Postfix) with ESMTP id 4VzSm22Fq6z22WHr + for ; Wed, 12 Jun 2024 10:35:30 +0900 (JST) +Authentication-Results: email.example.jp; arc=none smtp.client-ip=203.0.113.25 +ARC-Seal:i=1; a=rsa-sha256; d=example.jp; s=df0000; t=1718156130; cv=none; + b=LYheUbwAQZx+UTra1Gq61WKiKaaBte76ziws00qhCWtiVZShnx4uzqdaQgrBrIJ4F6+SzWXlh9Ar7nlZr/+P7NxdlLDRhS4kbAsbEwp32hoM08aOYAu6uvE5V+tvz1Hsx/1/enoF4RzUPTdFdIAsIAu/QLPQl11yeSvgE10mU9RhmhgC0jubuDNrYraPvKt6XhP79cqByU8Vp+8yv5Sf/QwK7zoYdQYl1LkeuA6iBdDjmqgDwmvggtD785Dw/3td3NYqhUEe7W5q21VapqDbAKyrxQ86B5hXTLkbhRkTkiPCqfKD8900nGCAzeRgLGJuS5P4NC0zpVFhzkINJPnaDQ== +ARC-Message-Signature:i=1; a=rsa-sha256; d=example.jp; s=df0000; + t=1718156130; c=relaxed/relaxed; + bh=rC1R89/fFYo+5Zu9UyyVZZPF58MZntYNYclZPMuSAro=; + h=Received:X-Original-To:From:To:Subject:Message-Id:Date; b=KtTXoPQ2AuJxILrKm9XA3jmFGCiW4xLMfVE4THSe+oGRt9y+CIf+VK1Beg9t0FX4+yyb/YTz1DIOJabb3J0J3Ge0gSNgTd//u2YHgVZY0EjYCXiZ4WEcDyvxkkJr+nLynFND0ul1MumG5a5bIldDptSHOWhCAgNk50wZXMlFNBWZ2LZCudOXxnOW49deqG7EPvmltB4Jo1wY7bcpAsYz3BMtSPTkyDGnOtJfMgyayfbh/YlHSRl8YMztUh4YU3b9+tWJlSR0rFvJ7Mum/SqsibxaH8uM+YWtikP2trteCL6fQVFfYP8+L7sPWQQBYrMZ5xf6kZegh4h91D1Fe5g85Q== +ARC-Authentication-Results:i=1; email.example.jp; dkim=permerror (bad message/signature format); arc=none smtp.client-ip=203.0.113.25 +Authentication-Results:email.example.jp; dkim=permerror (bad message/signature format) +Received: from MAILER-DAEMON + id e076e + by df.example.jp (DragonFly Mail Agent v0.13); + Wed, 12 Jun 2024 10:35:30 +0900 +X-Original-To: +From: MAILER-DAEMON <> +To: postmaster@example.jp +Subject: Mail delivery failed +Message-Id: +Date: Wed, 12 Jun 2024 10:35:30 +0900 + +This is the DragonFly Mail Agent v0.13 at df.example.jp. + +There was an error delivering your mail to . + +email.example.jp [192.0.2.25] did not like our RCPT TO: +552 5.2.2 : Recipient address rejected: Mailbox full + +Original message follows. + +Received: from root (uid 0) + (envelope-from postmaster@example.jp) + id e0003 + by df.example.jp (DragonFly Mail Agent v0.13); + Wed, 12 Jun 2024 10:35:30 +0900 +Subject: Nyaan? +To: nekochan +User-Agent: mail (GNU Mailutils 3.14) +Date: Wed, 12 Jun 2024 10:35:30 +0900 +Message-Id: <6668fb62.e0003.6977ecf3@df.example.jp> +From: + +df.example.jp From 550a7767f3ac0009508b30df5bca621a4cd25dc3 Mon Sep 17 00:00:00 2001 From: azumakuniyuki Date: Sat, 15 Jun 2024 16:34:45 +0900 Subject: [PATCH 4/5] Add "no relaying" into the list of error messages --- lib/sisimai/reason/norelaying.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/sisimai/reason/norelaying.rb b/lib/sisimai/reason/norelaying.rb index b8bc46ec..912ce0f3 100644 --- a/lib/sisimai/reason/norelaying.rb +++ b/lib/sisimai/reason/norelaying.rb @@ -15,6 +15,7 @@ class << self 'insecure mail relay', 'is not permitted to relay through this server without authentication', 'mail server requires authentication when attempting to send to a non-local e-mail address', # MailEnable + 'no relaying', 'not a gateway', 'not allowed to relay through this machine', 'not an open relay, so get lost', From 850b63285fd5a003cabae7fbba31634a70f9a44d Mon Sep 17 00:00:00 2001 From: azumakuniyuki Date: Sat, 15 Jun 2024 16:35:22 +0900 Subject: [PATCH 5/5] Test the results of Sisimai::Lhost::DragonFly #292 --- test/private/lhost-dragonfly.rb | 9 ++++++++ test/public/lhost-dragonfly.rb | 36 ++++++++++++++++++++++++++++++++ test/public/mail-maildir-test.rb | 2 +- 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 test/private/lhost-dragonfly.rb create mode 100644 test/public/lhost-dragonfly.rb diff --git a/test/private/lhost-dragonfly.rb b/test/private/lhost-dragonfly.rb new file mode 100644 index 00000000..5cfd0cff --- /dev/null +++ b/test/private/lhost-dragonfly.rb @@ -0,0 +1,9 @@ +module LhostEngineTest::Private + module DragonFly + IsExpected = { + # INDEX => [['D.S.N.', 'replycode', 'REASON', 'hardbounce'], [...]] + '01001' => [['5.7.26', '550', 'authfailure', false]], + } + end +end + diff --git a/test/public/lhost-dragonfly.rb b/test/public/lhost-dragonfly.rb new file mode 100644 index 00000000..77cee4d6 --- /dev/null +++ b/test/public/lhost-dragonfly.rb @@ -0,0 +1,36 @@ +module LhostEngineTest::Public + module DragonFly + IsExpected = { + # INDEX => [['D.S.N.', 'replycode', 'REASON', 'hardbounce'], [...]] + '01' => [['5.7.26', '550', 'authfailure', false]], + '02' => [['5.7.509', '550', 'authfailure', false]], + '03' => [['5.7.9', '554', 'policyviolation', false]], + '04' => [['5.0.912', '', 'hostunknown', true]], + '05' => [['5.7.26', '550', 'authfailure', false]], + '06' => [['5.7.25', '550', 'requireptr', false]], + '07' => [['5.6.0', '550', 'contenterror', false]], + '08' => [['5.2.3', '552', 'exceedlimit', false]], + '09' => [['5.2.1', '550', 'userunknown', true]], + '10' => [['5.1.6', '550', 'hasmoved', true]], + '11' => [['5.1.2', '550', 'hostunknown', true]], + '12' => [['5.2.2', '552', 'mailboxfull', false]], + '13' => [['5.3.0', '554', 'mailererror', false]], + '14' => [['5.3.4', '554', 'mesgtoobig', false]], + '15' => [['5.7.0', '550', 'norelaying', false]], + '16' => [['5.3.2', '521', 'notaccept', true]], + '17' => [['5.0.0', '550', 'onhold', false]], + '18' => [['5.7.0', '550', 'securityerror', false]], + '19' => [['5.7.1', '551', 'securityerror', false]], + '20' => [['5.7.0', '550', 'spamdetected', false]], + '21' => [['5.7.13', '525', 'suspend', false]], + '22' => [['5.1.3', '501', 'userunknown', true]], + '23' => [['5.3.0', '554', 'systemerror', false]], + '24' => [['5.1.1', '550', 'userunknown', true]], + '25' => [['5.7.0', '550', 'virusdetected', false]], + '26' => [['5.1.1', '550', 'userunknown', true]], + '27' => [['5.7.13', '525', 'suspend', false]], + '28' => [['5.2.2', '552', 'mailboxfull', false]], + } + end +end + diff --git a/test/public/mail-maildir-test.rb b/test/public/mail-maildir-test.rb index 1b6c0200..641b75c9 100644 --- a/test/public/mail-maildir-test.rb +++ b/test/public/mail-maildir-test.rb @@ -5,7 +5,7 @@ class MailMaildirTest < Minitest::Test Methods = { class: %w[new], object: %w[path dir file size handle offset read] } Samples = ['./set-of-emails/maildir/bsd', './set-of-emails/maildir/mac'] Maildir = Sisimai::Mail::Maildir.new(Samples[0]) - DirSize = 538 + DirSize = 566 def test_methods Methods[:class].each { |e| assert_respond_to Sisimai::Mail::Maildir, e }