NAME

RDF::Base::Email::Classifier - Analyzes and classifies emails

DESCRIPTION

Based on Mail::DeliveryStatus::BounceParser

dsn std_reason mapping:

user_unknown => 5.1.0, 5.1.1 domain_error => 5.1.2 over_quota => 5.2.2 syntax_error => 5.5.2 denied => 5.7.1 address_changed => 5.1.6 delayed => ... unknown => X.0.0

other classifications

dsn ticket vacation bounce address_changed challenge_response ~ newsletter ~ spam ~ spam_response ~ transient ~

email status ------------ LÄST ljusgrön? + dsn seen

OK grön + dsn deliviered + ticket system + vacation

OKÄND grå

TEMPFEL gul + dsn transient

ÅTGÄRDAS blå = manual revision + dsn unclassified + challenge_response

FEL / DEFFEL = email_address_error + dsn bounce + address_changed

new

  Email::Classifier->new( $email_obj )

$email should be an object compatible with Email::MIME 1.861

contact fields: {contact}{email_address}{node} {contact}{email_address}{changed_to}

is_dsn

analyze_dsn

is_delivered

analyze_delivered

is_ticket

is_newsletter

is_challenge_response

is_unsubscribe

is_computer_generated

is_auto_reply

is_reply

is_vacation

is_transient

analyze_transient

is_bounce

A bounce means that the email didn't reach the destination

analyze_bounce

is_verp

analyze_verp

VERP = Variable envelope return path

analyze_multipart_report

analyze_bounce_guess

Only if we think that it may be a bounce, but not in a standard format

is_quit_work

analyze_quit_work

is_address_changed

analyze_address_changed

is_spam

analyze_spam

is_personal

A personal email can be auto-generated, but is probably sent from the address that is talked about in the email, as opposed to DSNs from a postmaster.

analyze_personal

bounce_reports

new_report

reports

dsn_for_address

as_html