class QuickML::ErrorMailHandler

Public Class Methods

new(config, message_charset) click to toggle source
# File vendor/qwik/lib/qwik/ml-processor.rb, line 391
def initialize (config, message_charset)
  @config = config
  @logger = config.logger
  @message_charset = message_charset
end

Public Instance Methods

handle(mail) click to toggle source
# File vendor/qwik/lib/qwik/ml-processor.rb, line 397
def handle (mail)
  if /\A(.*)=return=(.*?)@(.*?)\z/ =~ mail.recipients.first
    mladdress = $1 + '@' + $3
    error_address = $2.sub(/=/, '@')

    ServerMemory.ml_mutex(@config, mladdress).synchronize {
      ml = Group.new(@config, mladdress, nil, @message_charset)
      handle_error(ml, error_address)
    }

  else
    @logger.vlog "Error: Use Postfix with XVERP to handle an error mail!"
  end
end

Private Instance Methods

handle_error(ml, error_address) click to toggle source
# File vendor/qwik/lib/qwik/ml-processor.rb, line 414
def handle_error (ml, error_address)
  @logger.log "ErrorMail: [#{ml.name}] #{error_address}"
  ml.add_error_member(error_address)
end