Module: Sisimai::Lhost

Defined in:
lib/sisimai/lhost.rb,
lib/sisimai/lhost/x1.rb,
lib/sisimai/lhost/x2.rb,
lib/sisimai/lhost/x3.rb,
lib/sisimai/lhost/x6.rb,
lib/sisimai/lhost/fml.rb,
lib/sisimai/lhost/gmx.rb,
lib/sisimai/lhost/exim.rb,
lib/sisimai/lhost/kddi.rb,
lib/sisimai/lhost/zoho.rb,
lib/sisimai/lhost/ezweb.rb,
lib/sisimai/lhost/gmail.rb,
lib/sisimai/lhost/notes.rb,
lib/sisimai/lhost/qmail.rb,
lib/sisimai/lhost/domino.rb,
lib/sisimai/lhost/biglobe.rb,
lib/sisimai/lhost/courier.rb,
lib/sisimai/lhost/mfilter.rb,
lib/sisimai/lhost/postfix.rb,
lib/sisimai/lhost/verizon.rb,
lib/sisimai/lhost/mimecast.rb,
lib/sisimai/lhost/sendmail.rb,
lib/sisimai/lhost/amazonses.rb,
lib/sisimai/lhost/dragonfly.rb,
lib/sisimai/lhost/opensmtpd.rb,
lib/sisimai/lhost/trendmicro.rb,
lib/sisimai/lhost/v5sendmail.rb,
lib/sisimai/lhost/apachejames.rb,
lib/sisimai/lhost/einsundeins.rb,
lib/sisimai/lhost/imailserver.rb,
lib/sisimai/lhost/mailfoundry.rb,
lib/sisimai/lhost/mailmarshal.rb,
lib/sisimai/lhost/activehunter.rb,
lib/sisimai/lhost/exchange2003.rb,
lib/sisimai/lhost/exchange2007.rb,
lib/sisimai/lhost/googlegroups.rb,
lib/sisimai/lhost/deutschetelekom.rb,
lib/sisimai/lhost/googleworkspace.rb,
lib/sisimai/lhost/messagingserver.rb

Overview

Sisimai::Lhost - Base class for Sisimai::Lhost::*

Defined Under Namespace

Modules: Activehunter, AmazonSES, ApacheJames, Biglobe, Courier, DeutscheTelekom, Domino, DragonFly, EZweb, EinsUndEins, Exchange2003, Exchange2007, Exim, FML, GMX, Gmail, GoogleGroups, GoogleWorkspace, IMailServer, KDDI, MFILTER, MailFoundry, MailMarshal, MessagingServer, Mimecast, Notes, OpenSMTPD, Postfix, Qmail, Sendmail, TrendMicro, V5sendmail, Verizon, X1, X2, X3, X6, Zoho

Class Method Summary collapse

Class Method Details

.BannerDTAGArray

This method is abstract.

Banners defined in Smail 3 and Deutsche Telekom

Returns Banner strings.

Returns:

  • (Array)

    Banner strings



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/sisimai/lhost.rb', line 42

def BannerDTAG
  return [
    # smail-3.2.0.108/src/
    #   notify.c:61|static char *log_banner = "\
    #   notify.c:62||------------------------- Message log follows: -------------------------|\n";
    #   notify.c:63|static char *addr_error_banner = "\
    #   notify.c:64||------------------------- Failed addresses follow: ---------------------|\n";
    #   notify.c:65|static char *text_banner = "\
    #   notify.c:66||------------------------- Message text follows: ------------------------|\n";
    "|------------------------- Message log follows: -------------------------|", # 0. Smail 3
    "|------------------------- Failed addresses follow: ---------------------|", # 1. Smail 3
    "|------------------------- Message text follows: ------------------------|", # 2. Smail 3
    "|------------------------- Message header follows: ----------------------|", # 3. Deutsche Telekom
  # "|----------- Message text follows: (body too large, truncated) ----------|", # 4. Deutsche Telekom
  ]
end

.DELIVERYSTATUSHash

This method is abstract.

Returns the data structure for decoded bounce messages

Returns Data structure for delivery status.

Returns:

  • (Hash)

    Data structure for delivery status



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/sisimai/lhost.rb', line 10

def DELIVERYSTATUS
  return {
    'spec'         => "", # Protocl specification
    'date'         => "", # The value of Last-Attempt-Date header
    'rhost'        => "", # The value of Remote-MTA header
    'lhost'        => "", # The value of Received-From-MTA header
    'alias'        => "", # The value of alias entry(RHS)
    'agent'        => "", # MTA module name
    'action'       => "", # The value of Action header
    'status'       => "", # The value of Status header
    'reason'       => "", # Temporary reason of bounce
    'command'      => "", # SMTP command in the message body
    'replycode'    => "", # SMTP Reply code
    'diagnosis'    => "", # The value of Diagnostic-Code header
    'recipient'    => "", # The value of Final-Recipient header
    'feedbacktype' => "", # Feedback Type
  }
end

.descriptionObject



90
# File 'lib/sisimai/lhost.rb', line 90

def description; return ''; end

.indexArray

This method is abstract.

MTA list

Returns MTA list with order.

Returns:

  • (Array)

    MTA list with order



61
62
63
64
65
66
67
68
# File 'lib/sisimai/lhost.rb', line 61

def index
  return %w[
    Activehunter AmazonSES ApacheJames Biglobe Courier Domino DeutscheTelekom DragonFly EZweb
    EinsUndEins Exchange2003 Exchange2007 Exim FML GMX GoogleWorkspace GoogleGroups Gmail
    IMailServer KDDI MailFoundry Mimecast MailMarshal MessagingServer Notes OpenSMTPD Postfix
    Sendmail TrendMicro V5sendmail Verizon X1 X2 X3 X6 Zoho MFILTER Qmail
  ]
end

.INDICATORSHash

This method is abstract.

Flags for position variable

Returns Position flag data.

Returns:

  • (Hash)

    Position flag data



32
33
34
35
36
37
# File 'lib/sisimai/lhost.rb', line 32

def INDICATORS
  return {
    :'deliverystatus' => (1 << 1),
    :'message-rfc822' => (1 << 2),
  }
end

.inquireHash, Nil

This method is abstract.

decode bounce messages

Parameters:

  • mhead (Hash)

    Message headers of a bounce email

  • mbody (String)

    Message body of a bounce email

Returns:

  • (Hash)

    Bounce data list and message/rfc822 part

  • (Nil)

    it failed to decode or the arguments are missing



89
# File 'lib/sisimai/lhost.rb', line 89

def inquire; return nil; end

.pathHash

This method is abstract.

Returns Sisimai::Lhost::* module path table

Returns Module path table.

Returns:

  • (Hash)

    Module path table

Since:

  • v4.25.6



73
74
75
76
77
78
79
80
81
82
# File 'lib/sisimai/lhost.rb', line 73

def path
  index = Sisimai::Lhost.index
  table = {
    'Sisimai::ARF'     => 'sisimai/arf',
    'Sisimai::RFC3464' => 'sisimai/rfc3464',
    'Sisimai::RFC3834' => 'sisimai/rfc3834',
  }
  index.each { |e| table["Sisimai::Lhost::#{e}"] = "sisimai/lhost/#{e.downcase}" }
  return table
end