TimeTrex Community Edition v16.2.0
This commit is contained in:
123
classes/bounce_handler/Make_statuscodes.php
Normal file
123
classes/bounce_handler/Make_statuscodes.php
Normal file
@@ -0,0 +1,123 @@
|
||||
<?php
|
||||
/**
|
||||
* Make status codes file
|
||||
*
|
||||
* Create the include file with all of the latest IANA standards RFC3463 + changes
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
* @category Email
|
||||
* @package BounceHandler
|
||||
* @author Multiple <cfortune@users.noreply.github.com>
|
||||
* @license http://opensource.org/licenses/BSD-2-Clause BSD
|
||||
* @link https://github.com/cfortune/PHP-Bounce-Handler/
|
||||
*/
|
||||
|
||||
$codes_1_url='http://www.iana.org/assignments/smtp-enhanced-status-codes/'.
|
||||
'smtp-enhanced-status-codes-1.csv';
|
||||
$codes_3_url='http://www.iana.org/assignments/smtp-enhanced-status-codes/'.
|
||||
'smtp-enhanced-status-codes-3.csv';
|
||||
|
||||
$nl="\n";
|
||||
|
||||
|
||||
/**
|
||||
* Split a line into sections to avoid going over 80 character limit
|
||||
* whilst preserving PEAR standards.
|
||||
*
|
||||
* @param string $describer Describer line
|
||||
* @param string $line Line to split
|
||||
* @param string $nl New line character(s)
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function splitIt($describer,$line,$nl)
|
||||
{
|
||||
if (strlen($describer.$line)>70) {
|
||||
$line_start = $nl . str_repeat(' ', 7) . '"';
|
||||
$line_continues = '".';
|
||||
print $describer . $nl;
|
||||
print str_repeat(' ', 4) . '= "';
|
||||
$split = chunk_split($line, 72, $line_continues . $line_start);
|
||||
print substr($split, 0, -strlen($line_continues . $line_start));
|
||||
print '";' . $nl . $nl;
|
||||
} else {
|
||||
print $describer.'="'.$line.'";'.$nl;
|
||||
}
|
||||
}
|
||||
print '<?php'.$nl;
|
||||
print '/** '.$nl;
|
||||
print ' * Bounce status codes.'.$nl;
|
||||
print ' *'.$nl;
|
||||
print ' * Auto-generated by Make_statuscodes.php'.$nl;
|
||||
print ' * on '.date('Y-m-d H:i:s').$nl;
|
||||
print ' * From the following URLs:'.$nl;
|
||||
print ' * '.chunk_split($codes_1_url, 75, $nl.' * ').$nl;
|
||||
print ' * '.chunk_split($codes_3_url, 75, $nl.' * ').$nl;
|
||||
print ' *'.$nl;
|
||||
print ' * PHP version 5'.$nl;
|
||||
print ' *'.$nl;
|
||||
print ' * @category Email'.$nl;
|
||||
print ' * @package BounceHandler'.$nl;
|
||||
print ' * @author Multiple <cfortune@users.noreply.github.com>'.$nl;
|
||||
print ' * @license http://opensource.org/licenses/BSD-2-Clause BSD'.$nl;
|
||||
print ' * @link https://github.com/cfortune/PHP-Bounce-Handler/'.$nl;
|
||||
print ' */'.$nl.$nl;
|
||||
|
||||
$fh = fopen($codes_1_url, "r");
|
||||
if ($fh !== false) {
|
||||
$a = fgets($fh); // 1st line is titles
|
||||
while (!feof($fh)) {
|
||||
$a = fgetcsv($fh, 0, ',', '"');
|
||||
if (false===isset($a[0]) || false===isset($a[1])
|
||||
|| false===isset($a[2])
|
||||
) {
|
||||
die('Unable to read CSV line: '.print_r($a, true));
|
||||
}
|
||||
$a[0] = preg_replace('/\..*/', '', $a[0]); // 5.x.x -> 5
|
||||
$a[1] = preg_replace('/\n\s*/', ' ', $a[1]); // remove line breaks
|
||||
$a[1] = preg_replace('/\s\s+/', ' ', $a[1]); // remove double spaces
|
||||
$a[1] = preg_replace('/"/', '\\"', $a[1]); // requote quotes
|
||||
$a[2] = preg_replace('/\n\s*/', ' ', $a[2]); // remove line breaks
|
||||
$a[2] = preg_replace('/\s\s+/', ' ', $a[2]); // remove double spaces
|
||||
$a[2] = preg_replace('/"/', '\\"', $a[2]); // requote quotes
|
||||
print '// '.$a[3].$nl;
|
||||
splitIt('$status_code_classes[\''.$a[0].'\'][\'title\']', $a[1], $nl);
|
||||
splitIt('$status_code_classes[\''.$a[0].'\'][\'descr\']', $a[2], $nl);
|
||||
|
||||
}
|
||||
fclose($fh);
|
||||
}
|
||||
print "\n";
|
||||
|
||||
|
||||
// X.7.17,Mailbox owner has changed,5XX,"This status code is
|
||||
// returned when a message is
|
||||
// received with a Require-Recipient-Valid-Since
|
||||
// field or RRVS extension and the receiving
|
||||
// system is able to determine that the intended
|
||||
// recipient mailbox has not been under
|
||||
// continuous ownership since the specified date.",
|
||||
// [RFC-ietf-appsawg-rrvs-header-field-10] (Standards Track),M. Kucherawy,IESG
|
||||
|
||||
|
||||
$fh = fopen($codes_3_url, "r");
|
||||
if ($fh !== false) {
|
||||
$a = fgets($fh); // 1st line is titles
|
||||
while (!feof($fh)) {
|
||||
$a = fgetcsv($fh, 0, ',', '"');
|
||||
$a[0] = preg_replace('/^X./i', '', $a[0]); // X.5.0 -> 5.0
|
||||
$a[1] = preg_replace('/\n\s*/', ' ', $a[1]); // remove line breaks
|
||||
$a[1] = preg_replace('/\s\s+/', ' ', $a[1]); // remove double spaces
|
||||
$a[1] = preg_replace('/"/', '\\"', $a[1]); // requote quotes
|
||||
$a[3] = preg_replace('/\n\s*/', ' ', $a[3]); // remove line breaks
|
||||
$a[3] = preg_replace('/\s\s+/', ' ', $a[3]); // remove double spaces
|
||||
$a[3] = preg_replace('/"/', '\\"', $a[3]); // requote quotes
|
||||
|
||||
print '// '.$a[4].$nl;
|
||||
splitIt('$status_code_subclasses[\''.$a[0].'\'][\'title\']', $a[1], $nl);
|
||||
splitIt('$status_code_subclasses[\''.$a[0].'\'][\'descr\']', $a[3], $nl);
|
||||
|
||||
}
|
||||
fclose($fh);
|
||||
}
|
||||
1
classes/bounce_handler/README.txt
Normal file
1
classes/bounce_handler/README.txt
Normal file
@@ -0,0 +1 @@
|
||||
Cloned from: https://github.com/Filsh/PHP-Bounce-Handler @18-Oct-2016
|
||||
1715
classes/bounce_handler/bounce_driver.class.php
Normal file
1715
classes/bounce_handler/bounce_driver.class.php
Normal file
File diff suppressed because it is too large
Load Diff
302
classes/bounce_handler/bounce_responses.php
Normal file
302
classes/bounce_handler/bounce_responses.php
Normal file
@@ -0,0 +1,302 @@
|
||||
<?php
|
||||
/**
|
||||
* Map bounce responses to RFC3463 codes
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
* @category Email
|
||||
* @package BounceHandler
|
||||
* @author Multiple <cfortune@users.noreply.github.com>
|
||||
* @license http://opensource.org/licenses/BSD-2-Clause BSD
|
||||
* @link https://github.com/cfortune/PHP-Bounce-Handler/
|
||||
*/
|
||||
|
||||
// text in messages from which to figure out what kind of bounce
|
||||
$bouncelist = array(
|
||||
// use the code from the regex
|
||||
'[45]\d\d[- ]#?([45]\.\d\.\d{1,2})' => 'x',
|
||||
// use the code from the regex
|
||||
'Diagnostic[- ][Cc]ode: smtp; ?\d\d\ ([45]\.\d\.\d{1,2})' => 'x',
|
||||
// use the code from the regex
|
||||
'Status: ([45]\.\d\.\d{1,2})' => 'x',
|
||||
'not yet been delivered' => '4.2.0',
|
||||
'Message will be retried for' => '4.2.0',
|
||||
'Connection frequency limited\. http:\/\/service\.mail\.qq\.com' => '4.2.0',
|
||||
// .DE "mailbox full"
|
||||
'Benutzer hat zuviele Mails auf dem Server' => '4.2.2',
|
||||
'exceeded storage allocation' => '4.2.2',
|
||||
'Mailbox full' => '4.2.2',
|
||||
'mailbox is full' => '4.2.2', // BH
|
||||
'Mailbox quota usage exceeded' => '4.2.2', // BH
|
||||
'Mailbox size limit exceeded' => '4.2.2',
|
||||
'over ?quota' => '4.2.2',
|
||||
'quota exceeded' => '4.2.2',
|
||||
'Quota violation' => '4.2.2',
|
||||
'User has exhausted allowed storage space' => '4.2.2',
|
||||
'User has too many messages on the server' => '4.2.2',
|
||||
'User mailbox exceeds allowed size' => '4.2.2',
|
||||
'mailfolder is full' => '4.2.2',
|
||||
'user has Exceeded' => '4.2.2',
|
||||
'not enough storage space' => '4.2.2',
|
||||
/**
|
||||
* SB: 4.3.2 is a more generic 'defer'; Kanon added.
|
||||
* From Symantec_AntiVirus_for_SMTP_Gateways@uqam.ca I'm not sure why
|
||||
* Symantec delayed this message, but x.2.x means something to do with the
|
||||
* mailbox, which seemed appropriate. x.5.x (protocol) or x.7.x (security)
|
||||
* also seem possibly appropriate. It seems a lot of times its x.5.x when
|
||||
* it seems to me it should be x.7.x, so maybe x.5.x is standard when mail
|
||||
* is rejected due to spam-like characteristics instead of x.7.x like I
|
||||
* think it should be.
|
||||
**/
|
||||
'Delivery attempts will continue to be made for' => '4.3.2',
|
||||
'delivery temporarily suspended' => '4.3.2',
|
||||
'Greylisted for 5 minutes' => '4.3.2',
|
||||
'Greylisting in action' => '4.3.2',
|
||||
'Server busy' => '4.3.2',
|
||||
'server too busy' => '4.3.2',
|
||||
'system load is too high' => '4.3.2',
|
||||
'temporarily deferred' => '4.3.2',
|
||||
'temporarily unavailable' => '4.3.2',
|
||||
'Throttling' => '4.3.2',
|
||||
'too busy to accept mail' => '4.3.2',
|
||||
'too many connections' => '4.3.2',
|
||||
'too many sessions' => '4.3.2',
|
||||
'Too much load' => '4.3.2',
|
||||
'try again later' => '4.3.2',
|
||||
'Try later' => '4.3.2',
|
||||
'retry timeout exceeded' => '4.4.7',
|
||||
'queue too long' => '4.4.7',
|
||||
'554 delivery error:' => '5.1.1',
|
||||
// SB: Yahoo/rogers.com generic delivery failure (see also OU-00)
|
||||
'account is unavailable' => '5.1.1',
|
||||
'Account not found' => '5.1.1',
|
||||
'Address invalid' => '5.1.1',
|
||||
'Address is unknown' => '5.1.1',
|
||||
'Address unknown' => '5.1.1',
|
||||
'Addressee unknown' => '5.1.1',
|
||||
'ADDRESS_NOT_FOUND' => '5.1.1',
|
||||
'bad address' => '5.1.1',
|
||||
'Bad destination mailbox address' => '5.1.1',
|
||||
// .IT "user unknown"
|
||||
'destin. Sconosciuto' => '5.1.1',
|
||||
// .IT "invalid"
|
||||
'Destinatario errato' => '5.1.1',
|
||||
'Destinatario sconosciuto o mailbox disatttivata' => '5.1.1',
|
||||
// .IT "unknown /disabled"
|
||||
'does not exist' => '5.1.1',
|
||||
'Email Address was not found' => '5.1.1',
|
||||
'Excessive userid unknowns' => '5.1.1',
|
||||
// .IT "no user"
|
||||
'Indirizzo inesistente' => '5.1.1',
|
||||
'Invalid account' => '5.1.1',
|
||||
'invalid address' => '5.1.1',
|
||||
'Invalid or unknown virtual user' => '5.1.1',
|
||||
'Invalid mailbox' => '5.1.1',
|
||||
'Invalid recipient' => '5.1.1',
|
||||
'Mailbox not found' => '5.1.1',
|
||||
'nie istnieje' => '5.1.1',
|
||||
// .PL "does not exist"
|
||||
'Nie ma takiego konta' => '5.1.1', // .PL "no such account"
|
||||
'No mail box available for this user' => '5.1.1',
|
||||
'no mailbox here' => '5.1.1',
|
||||
'No one with that email address here' => '5.1.1',
|
||||
'no such address' => '5.1.1',
|
||||
'no such email address' => '5.1.1',
|
||||
'No such mail drop defined' => '5.1.1',
|
||||
'No such mailbox' => '5.1.1',
|
||||
'No such person at this address' => '5.1.1',
|
||||
'no such recipient' => '5.1.1',
|
||||
'No such user' => '5.1.1',
|
||||
'not a known user' => '5.1.1',
|
||||
'not a valid mailbox' => '5.1.1',
|
||||
'not a valid user' => '5.1.1',
|
||||
'not available' => '5.1.1',
|
||||
'not exists' => '5.1.1',
|
||||
'Recipient address rejected' => '5.1.1',
|
||||
'Recipient not allowed' => '5.1.1',
|
||||
'Recipient not found' => '5.1.1',
|
||||
'recipient rejected' => '5.1.1',
|
||||
'Recipient unknown' => '5.1.1',
|
||||
"server doesn't handle mail for that user" => '5.1.1',
|
||||
'This account is disabled' => '5.1.1',
|
||||
'This address no longer accepts mail' => '5.1.1',
|
||||
'This email address is not known to this system' => '5.1.1',
|
||||
'Unknown account' => '5.1.1',
|
||||
'unknown address or alias' => '5.1.1',
|
||||
'Unknown email address' => '5.1.1',
|
||||
'Unknown local part' => '5.1.1',
|
||||
'unknown or illegal alias' => '5.1.1',
|
||||
'unknown or illegal user' => '5.1.1',
|
||||
'Unknown recipient' => '5.1.1',
|
||||
'unknown user' => '5.1.1',
|
||||
'user disabled' => '5.1.1', "User doesn't exist in this server" => '5.1.1',
|
||||
'user invalid' => '5.1.1',
|
||||
'User is suspended' => '5.1.1',
|
||||
'User is unknown' => '5.1.1',
|
||||
'User not found' => '5.1.1',
|
||||
'User not known' => '5.1.1',
|
||||
'User unknown' => '5.1.1',
|
||||
'valid RCPT command must precede DATA' => '5.1.1',
|
||||
'was not found in LDAP server' => '5.1.1',
|
||||
'We are sorry but the address is invalid' => '5.1.1',
|
||||
'Unable to find alias user' => '5.1.1',
|
||||
"domain isn't in my list of allowed rcpthosts" => '5.1.2',
|
||||
'Esta casilla ha expirado por falta de uso' => '5.1.2', // BH ES:expired
|
||||
'host ?name is unknown' => '5.1.2',
|
||||
'no relaying allowed' => '5.1.2',
|
||||
'no such domain' => '5.1.2',
|
||||
'not our customer' => '5.1.2',
|
||||
'relay not permitted' => '5.1.2',
|
||||
'Relay access denied' => '5.1.2',
|
||||
'relaying denied' => '5.1.2',
|
||||
'Relaying not allowed' => '5.1.2',
|
||||
'This system is not configured to relay mail' => '5.1.2',
|
||||
'Unable to relay' => '5.1.2',
|
||||
'unrouteable mail domain' => '5.1.2', // BH
|
||||
'we do not relay' => '5.1.2',
|
||||
'Old address no longer valid' => '5.1.6',
|
||||
'recipient no longer on server' => '5.1.6',
|
||||
'Sender address rejected' => '5.1.8',
|
||||
'exceeded the rate limit' => '5.2.0',
|
||||
'Local Policy Violation' => '5.2.0',
|
||||
'Mailbox currently suspended' => '5.2.0',
|
||||
'mailbox unavailable' => '5.2.0',
|
||||
'mail can not be delivered' => '5.2.0',
|
||||
'Delivery failed' => '5.2.0',
|
||||
'mail couldn\'t be delivered' => '5.2.0',
|
||||
'The account or domain may not exist' => '5.2.0',
|
||||
// I guess.... seems like 5.1.1, 5.1.2, or 5.4.4 would fit too, but 5.2.0
|
||||
// seemed most generic
|
||||
'Account disabled' => '5.2.1',
|
||||
'account has been disabled' => '5.2.1',
|
||||
'Account Inactive' => '5.2.1',
|
||||
'Adressat unbekannt oder Mailbox deaktiviert' => '5.2.1',
|
||||
'Destinataire inconnu ou boite aux lettres desactivee' => '5.2.1',
|
||||
// .FR disabled
|
||||
'mail is not currently being accepted for this mailbox' => '5.2.1',
|
||||
'El usuario esta en estado: inactivo' => '5.2.1', // .IT inactive
|
||||
'email account that you tried to reach is disabled' => '5.2.1',
|
||||
'inactive user' => '5.2.1',
|
||||
'Mailbox disabled for this recipient' => '5.2.1',
|
||||
'mailbox has been blocked due to inactivity' => '5.2.1',
|
||||
'mailbox is currently unavailable' => '5.2.1',
|
||||
'Mailbox is disabled' => '5.2.1',
|
||||
'Mailbox is inactive' => '5.2.1',
|
||||
'Mailbox Locked or Suspended' => '5.2.1',
|
||||
'mailbox temporarily disabled' => '5.2.1',
|
||||
'Podane konto jest zablokowane administracyjnie lub nieaktywne' => '5.2.1',
|
||||
// .PL locked or inactive
|
||||
"Questo indirizzo e' bloccato per inutilizzo" => '5.2.1',
|
||||
// .IT blocked/expired
|
||||
'Recipient mailbox was disabled' => '5.2.1',
|
||||
'Domain name not found' => '5.2.1',
|
||||
'couldn\'t find any host named' => '5.4.4',
|
||||
'couldn\'t find any host by that name' => '5.4.4',
|
||||
'PERM_FAILURE: DNS Error' => '5.4.4', // SB: Routing failure
|
||||
'Temporary lookup failure' => '5.4.4',
|
||||
'unrouteable address' => '5.4.4',
|
||||
"can't connect to" => '5.4.4',
|
||||
'Too many hops' => '5.4.6',
|
||||
'Requested action aborted' => '5.5.0',
|
||||
'rejecting password protected file attachment' => '5.6.2',
|
||||
// RFC "Conversion required and prohibited"
|
||||
'550 OU-00' => '5.7.1',
|
||||
// SB hotmail returns a OU-001 if you're on their blocklist
|
||||
'550 SC-00' => '5.7.1',
|
||||
// SB hotmail returns a SC-00x if you're on their blocklist
|
||||
'550 DY-00' => '5.7.1',
|
||||
// SB hotmail returns a DY-00x if you're a dynamic IP
|
||||
'554 denied' => '5.7.1',
|
||||
'You have been blocked by the recipient' => '5.7.1',
|
||||
'requires that you verify' => '5.7.1',
|
||||
'Access denied' => '5.7.1',
|
||||
'Administrative prohibition - unable to validate recipient' => '5.7.1',
|
||||
'Blacklisted' => '5.7.1',
|
||||
'blocke?d? for spam' => '5.7.1',
|
||||
'conection refused' => '5.7.1',
|
||||
'Connection refused due to abuse' => '5.7.1',
|
||||
'dial-up or dynamic-ip denied' => '5.7.1',
|
||||
'Domain has received too many bounces' => '5.7.1',
|
||||
'failed several antispam checks' => '5.7.1',
|
||||
'found in a DNS blacklist' => '5.7.1',
|
||||
'IPs blocked' => '5.7.1',
|
||||
'is blocked by' => '5.7.1',
|
||||
'Mail Refused' => '5.7.1',
|
||||
'Message does not pass DomainKeys' => '5.7.1',
|
||||
'Message looks like spam' => '5.7.1',
|
||||
'Message refused by' => '5.7.1',
|
||||
'not allowed access from your location' => '5.7.1',
|
||||
'permanently deferred' => '5.7.1',
|
||||
'Rejected by policy' => '5.7.1',
|
||||
'rejected by Windows Live Hotmail for policy reasons' => '5.7.1',
|
||||
'Rejected for policy reasons' => '5.7.1',
|
||||
'Rejecting banned content' => '5.7.1',
|
||||
'Sorry, looks like spam' => '5.7.1',
|
||||
'spam message discarded' => '5.7.1',
|
||||
'Too many spams from your IP' => '5.7.1',
|
||||
'TRANSACTION FAILED' => '5.7.1',
|
||||
'Transaction rejected' => '5.7.1',
|
||||
'Wiadomosc zostala odrzucona przez system antyspamowy' => '5.7.1',
|
||||
// .PL rejected as spam
|
||||
'Your message was declared Spam' => '5.7.1'
|
||||
);
|
||||
|
||||
// triggers for autoresponders
|
||||
$autorespondlist = array(
|
||||
'auto:',
|
||||
'^away from.{0,15}office',
|
||||
'^.?auto(mated|matic).{0,5}(reply|response)',
|
||||
'^out.?of (the )?office',
|
||||
'^(I am|I\'m|I will).{0,15}\s(away|on vacation|on leave|out of office|'.
|
||||
'out of the office)',
|
||||
'^Thank you for your e-?mail',
|
||||
'^This is an automated',
|
||||
'^Vacation.{0,10}(alert|reply|response)',
|
||||
'^Yahoo! auto response',
|
||||
// sino.com, 163.com UTF8 encoded
|
||||
"\350\207\252\345\212\250\345\233\236\345\244\215"
|
||||
);
|
||||
|
||||
// trigger subject lines for bounces
|
||||
$bouncesubj = array(
|
||||
'deletver reports about your e?mail',
|
||||
'delivery errors',
|
||||
'delivery failure',
|
||||
'delivery has failed',
|
||||
'delivery notification',
|
||||
'delivery problem',
|
||||
'delivery reports about your email',
|
||||
'delivery status notif',
|
||||
'failure delivery',
|
||||
'failure notice',
|
||||
'mail delivery fail', // catches failure and failed
|
||||
'mail delivery system',
|
||||
'mailserver notification',
|
||||
'mail status report',
|
||||
'mail system error',
|
||||
'mail transaction failed',
|
||||
'mdaemon notification',
|
||||
'message delayed',
|
||||
'nondeliverable mail',
|
||||
'Non[_ ]remis[_ ]', // fr
|
||||
'No[_ ]se[_ ]puede[_ ]entregar', // es
|
||||
'Onbestelbaar', // nl
|
||||
'returned e?mail',
|
||||
'returned to sender',
|
||||
'returning message to sender',
|
||||
'spam eater',
|
||||
'undeliverable',
|
||||
'undelivered mail',
|
||||
'warning: message',
|
||||
);
|
||||
|
||||
//
|
||||
// test mapping to ensure that we don't match one within another
|
||||
//
|
||||
// foreach ($bouncelist as $l1 => $j) {
|
||||
// foreach ($bouncelist as $l2 => $k) {
|
||||
// if (($l1 != $l2) && preg_match("/$l1/i", $l2)) {
|
||||
// print "'$l1'($j) = '$l2'($k)\n";
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
680
classes/bounce_handler/bounce_statuscodes.php
Normal file
680
classes/bounce_handler/bounce_statuscodes.php
Normal file
@@ -0,0 +1,680 @@
|
||||
<?php
|
||||
/**
|
||||
* Bounce status codes.
|
||||
*
|
||||
* Auto-generated by Make_statuscodes.php
|
||||
* on 2014-12-29 19:14:24
|
||||
* From the following URLs:
|
||||
* http://www.iana.org/assignments/smtp-enhanced-status-codes/smtp-enhanced-st
|
||||
* atus-codes-1.csv
|
||||
*
|
||||
* http://www.iana.org/assignments/smtp-enhanced-status-codes/smtp-enhanced-st
|
||||
* atus-codes-3.csv
|
||||
*
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
* @category Email
|
||||
* @package BounceHandler
|
||||
* @author Multiple <cfortune@users.noreply.github.com>
|
||||
* @license http://opensource.org/licenses/BSD-2-Clause BSD
|
||||
* @link https://github.com/cfortune/PHP-Bounce-Handler/
|
||||
*/
|
||||
|
||||
// [RFC3463] (Standards track)
|
||||
$status_code_classes['2']['title']="Success";
|
||||
$status_code_classes['2']['descr']
|
||||
= "Success specifies that the DSN is reporting a positive delivery action. ".
|
||||
"Detail sub-codes may provide notification of transformations required fo".
|
||||
"r delivery.";
|
||||
|
||||
// [RFC3463] (Standards track)
|
||||
$status_code_classes['4']['title']="Persistent Transient Failure";
|
||||
$status_code_classes['4']['descr']
|
||||
= "A persistent transient failure is one in which the message as sent is va".
|
||||
"lid, but persistence of some temporary condition has caused abandonment ".
|
||||
"or delay of attempts to send the message. If this code accompanies a del".
|
||||
"ivery failure report, sending in the future may be successful.";
|
||||
|
||||
// [RFC3463] (Standards track)
|
||||
$status_code_classes['5']['title']="Permanent Failure";
|
||||
$status_code_classes['5']['descr']
|
||||
= "A permanent failure is one which is not likely to be resolved by resendi".
|
||||
"ng the message in the current form. Some change to the message or the de".
|
||||
"stination must be made for successful delivery.";
|
||||
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['0.0']['title']="Other undefined Status";
|
||||
$status_code_subclasses['0.0']['descr']
|
||||
= "Other undefined status is the only undefined error code. It should be us".
|
||||
"ed for all errors for which only the class of the error is known.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.0']['title']="Other address status";
|
||||
$status_code_subclasses['1.0']['descr']
|
||||
= "Something about the address specified in the message caused this DSN.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.1']['title']="Bad destination mailbox address";
|
||||
$status_code_subclasses['1.1']['descr']
|
||||
= "The mailbox specified in the address does not exist. For Internet mail n".
|
||||
"ames, this means the address portion to the left of the \"@\" sign is in".
|
||||
"valid. This code is only useful for permanent failures.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.2']['title']="Bad destination system address";
|
||||
$status_code_subclasses['1.2']['descr']
|
||||
= "The destination system specified in the address does not exist or is inc".
|
||||
"apable of accepting mail. For Internet mail names, this means the addres".
|
||||
"s portion to the right of the \"@\" is invalid for mail. This code is on".
|
||||
"ly useful for permanent failures.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.3']['title']
|
||||
= "Bad destination mailbox address syntax";
|
||||
|
||||
$status_code_subclasses['1.3']['descr']
|
||||
= "The destination address was syntactically invalid. This can apply to any".
|
||||
" field in the address. This code is only useful for permanent failures.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.4']['title']
|
||||
= "Destination mailbox address ambiguous";
|
||||
|
||||
$status_code_subclasses['1.4']['descr']
|
||||
= "The mailbox address as specified matches one or more recipients on the d".
|
||||
"estination system. This may result if a heuristic address mapping algori".
|
||||
"thm is used to map the specified address to a local mailbox name.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.5']['title']="Destination address valid";
|
||||
$status_code_subclasses['1.5']['descr']
|
||||
= "This mailbox address as specified was valid. This status code should be ".
|
||||
"used for positive delivery reports.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.6']['title']
|
||||
= "Destination mailbox has moved, No forwarding address";
|
||||
|
||||
$status_code_subclasses['1.6']['descr']
|
||||
= "The mailbox address provided was at one time valid, but mail is no longe".
|
||||
"r being accepted for that address. This code is only useful for permanen".
|
||||
"t failures.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.7']['title']
|
||||
= "Bad sender's mailbox address syntax";
|
||||
|
||||
$status_code_subclasses['1.7']['descr']
|
||||
= "The sender's address was syntactically invalid. This can apply to any fi".
|
||||
"eld in the address.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.8']['title']="Bad sender's system address";
|
||||
$status_code_subclasses['1.8']['descr']
|
||||
= "The sender's system specified in the address does not exist or is incapa".
|
||||
"ble of accepting return mail. For domain names, this means the address p".
|
||||
"ortion to the right of the \"@\" is invalid for mail.";
|
||||
|
||||
// [RFC3886] (Standards Track)
|
||||
$status_code_subclasses['1.9']['title']
|
||||
= "Message relayed to non-compliant mailer";
|
||||
|
||||
$status_code_subclasses['1.9']['descr']
|
||||
= "The mailbox address specified was valid, but the message has been relaye".
|
||||
"d to a system that does not speak this protocol; no further information ".
|
||||
"can be provided.";
|
||||
|
||||
// [RFC-ietf-appsawg-nullmx-08] (Standards Track)
|
||||
$status_code_subclasses['1.10']['title']="Recipient address has null MX";
|
||||
$status_code_subclasses['1.10']['descr']
|
||||
= "This status code is returned when the associated address is marked as in".
|
||||
"valid using a null MX.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['2.0']['title']
|
||||
= "Other or undefined mailbox status";
|
||||
|
||||
$status_code_subclasses['2.0']['descr']
|
||||
= "The mailbox exists, but something about the destination mailbox has caus".
|
||||
"ed the sending of this DSN.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['2.1']['title']
|
||||
= "Mailbox disabled, not accepting messages";
|
||||
|
||||
$status_code_subclasses['2.1']['descr']
|
||||
= "The mailbox exists, but is not accepting messages. This may be a permane".
|
||||
"nt error if the mailbox will never be re-enabled or a transient error if".
|
||||
" the mailbox is only temporarily disabled.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['2.2']['title']="Mailbox full";
|
||||
$status_code_subclasses['2.2']['descr']
|
||||
= "The mailbox is full because the user has exceeded a per-mailbox administ".
|
||||
"rative quota or physical capacity. The general semantics implies that th".
|
||||
"e recipient can delete messages to make more space available. This code ".
|
||||
"should be used as a persistent transient failure.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['2.3']['title']
|
||||
= "Message length exceeds administrative limit";
|
||||
|
||||
$status_code_subclasses['2.3']['descr']
|
||||
= "A per-mailbox administrative message length limit has been exceeded. Thi".
|
||||
"s status code should be used when the per-mailbox message length limit i".
|
||||
"s less than the general system limit. This code should be used as a perm".
|
||||
"anent failure.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['2.4']['title']="Mailing list expansion problem";
|
||||
$status_code_subclasses['2.4']['descr']
|
||||
= "The mailbox is a mailing list address and the mailing list was unable to".
|
||||
" be expanded. This code may represent a permanent failure or a persisten".
|
||||
"t transient failure.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['3.0']['title']
|
||||
= "Other or undefined mail system status";
|
||||
|
||||
$status_code_subclasses['3.0']['descr']
|
||||
= "The destination system exists and normally accepts mail, but something a".
|
||||
"bout the system has caused the generation of this DSN.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['3.1']['title']="Mail system full";
|
||||
$status_code_subclasses['3.1']['descr']
|
||||
= "Mail system storage has been exceeded. The general semantics imply that ".
|
||||
"the individual recipient may not be able to delete material to make room".
|
||||
" for additional messages. This is useful only as a persistent transient ".
|
||||
"error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['3.2']['title']
|
||||
= "System not accepting network messages";
|
||||
|
||||
$status_code_subclasses['3.2']['descr']
|
||||
= "The host on which the mailbox is resident is not accepting messages. Exa".
|
||||
"mples of such conditions include an immanent shutdown, excessive load, o".
|
||||
"r system maintenance. This is useful for both permanent and persistent t".
|
||||
"ransient errors.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['3.3']['title']
|
||||
= "System not capable of selected features";
|
||||
|
||||
$status_code_subclasses['3.3']['descr']
|
||||
= "Selected features specified for the message are not supported by the des".
|
||||
"tination system. This can occur in gateways when features from one domai".
|
||||
"n cannot be mapped onto the supported feature in another.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['3.4']['title']="Message too big for system";
|
||||
$status_code_subclasses['3.4']['descr']
|
||||
= "The message is larger than per-message size limit. This limit may either".
|
||||
" be for physical or administrative reasons. This is useful only as a per".
|
||||
"manent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['3.5']['title']="System incorrectly configured";
|
||||
$status_code_subclasses['3.5']['descr']
|
||||
= "The system is not configured in a manner that will permit it to accept t".
|
||||
"his message.";
|
||||
|
||||
// [RFC6710] (Standards Track)
|
||||
$status_code_subclasses['3.6']['title']="Requested priority was changed";
|
||||
$status_code_subclasses['3.6']['descr']
|
||||
= "The message was accepted for relay/delivery, but the requested priority ".
|
||||
"(possibly the implied default) was not honoured. The human readable text".
|
||||
" after the status code contains the new priority, followed by SP (space)".
|
||||
" and explanatory human readable text.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.0']['title']
|
||||
= "Other or undefined network or routing status";
|
||||
|
||||
$status_code_subclasses['4.0']['descr']
|
||||
= "Something went wrong with the networking, but it is not clear what the p".
|
||||
"roblem is, or the problem cannot be well expressed with any of the other".
|
||||
" provided detail codes.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.1']['title']="No answer from host";
|
||||
$status_code_subclasses['4.1']['descr']
|
||||
= "The outbound connection attempt was not answered, because either the rem".
|
||||
"ote system was busy, or was unable to take a call. This is useful only a".
|
||||
"s a persistent transient error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.2']['title']="Bad connection";
|
||||
$status_code_subclasses['4.2']['descr']
|
||||
= "The outbound connection was established, but was unable to complete the ".
|
||||
"message transaction, either because of time-out, or inadequate connectio".
|
||||
"n quality. This is useful only as a persistent transient error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.3']['title']="Directory server failure";
|
||||
$status_code_subclasses['4.3']['descr']
|
||||
= "The network system was unable to forward the message, because a director".
|
||||
"y server was unavailable. This is useful only as a persistent transient ".
|
||||
"error. The inability to connect to an Internet DNS server is one example".
|
||||
" of the directory server failure error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.4']['title']="Unable to route";
|
||||
$status_code_subclasses['4.4']['descr']
|
||||
= "The mail system was unable to determine the next hop for the message bec".
|
||||
"ause the necessary routing information was unavailable from the director".
|
||||
"y server. This is useful for both permanent and persistent transient err".
|
||||
"ors. A DNS lookup returning only an SOA (Start of Administration) record".
|
||||
" for a domain name is one example of the unable to route error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.5']['title']="Mail system congestion";
|
||||
$status_code_subclasses['4.5']['descr']
|
||||
= "The mail system was unable to deliver the message because the mail syste".
|
||||
"m was congested. This is useful only as a persistent transient error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.6']['title']="Routing loop detected";
|
||||
$status_code_subclasses['4.6']['descr']
|
||||
= "A routing loop caused the message to be forwarded too many times, either".
|
||||
" because of incorrect routing tables or a user- forwarding loop. This is".
|
||||
" useful only as a persistent transient error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.7']['title']="Delivery time expired";
|
||||
$status_code_subclasses['4.7']['descr']
|
||||
= "The message was considered too old by the rejecting system, either becau".
|
||||
"se it remained on that host too long or because the time-to-live value s".
|
||||
"pecified by the sender of the message was exceeded. If possible, the cod".
|
||||
"e for the actual problem found when delivery was attempted should be ret".
|
||||
"urned rather than this code.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['5.0']['title']
|
||||
= "Other or undefined protocol status";
|
||||
|
||||
$status_code_subclasses['5.0']['descr']
|
||||
= "Something was wrong with the protocol necessary to deliver the message t".
|
||||
"o the next hop and the problem cannot be well expressed with any of the ".
|
||||
"other provided detail codes.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['5.1']['title']="Invalid command";
|
||||
$status_code_subclasses['5.1']['descr']
|
||||
= "A mail transaction protocol command was issued which was either out of s".
|
||||
"equence or unsupported. This is useful only as a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['5.2']['title']="Syntax error";
|
||||
$status_code_subclasses['5.2']['descr']
|
||||
= "A mail transaction protocol command was issued which could not be interp".
|
||||
"reted, either because the syntax was wrong or the command is unrecognize".
|
||||
"d. This is useful only as a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['5.3']['title']="Too many recipients";
|
||||
$status_code_subclasses['5.3']['descr']
|
||||
= "More recipients were specified for the message than could have been deli".
|
||||
"vered by the protocol. This error should normally result in the segmenta".
|
||||
"tion of the message into two, the remainder of the recipients to be deli".
|
||||
"vered on a subsequent delivery attempt. It is included in this list in t".
|
||||
"he event that such segmentation is not possible.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['5.4']['title']="Invalid command arguments";
|
||||
$status_code_subclasses['5.4']['descr']
|
||||
= "A valid mail transaction protocol command was issued with invalid argume".
|
||||
"nts, either because the arguments were out of range or represented unrec".
|
||||
"ognized features. This is useful only as a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['5.5']['title']="Wrong protocol version";
|
||||
$status_code_subclasses['5.5']['descr']
|
||||
= "A protocol version mis-match existed which could not be automatically re".
|
||||
"solved by the communicating parties.";
|
||||
|
||||
// [RFC4954] (Standards Track)
|
||||
$status_code_subclasses['5.6']['title']
|
||||
= "Authentication Exchange line is too long";
|
||||
|
||||
$status_code_subclasses['5.6']['descr']
|
||||
= "This enhanced status code SHOULD be returned when the server fails the A".
|
||||
"UTH command due to the client sending a [BASE64] response which is longe".
|
||||
"r than the maximum buffer size available for the currently selected SASL".
|
||||
" mechanism. This is useful for both permanent and persistent transient e".
|
||||
"rrors.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['6.0']['title']="Other or undefined media error";
|
||||
$status_code_subclasses['6.0']['descr']
|
||||
= "Something about the content of a message caused it to be considered unde".
|
||||
"liverable and the problem cannot be well expressed with any of the other".
|
||||
" provided detail codes.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['6.1']['title']="Media not supported";
|
||||
$status_code_subclasses['6.1']['descr']
|
||||
= "The media of the message is not supported by either the delivery protoco".
|
||||
"l or the next system in the forwarding path. This is useful only as a pe".
|
||||
"rmanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['6.2']['title']
|
||||
= "Conversion required and prohibited";
|
||||
|
||||
$status_code_subclasses['6.2']['descr']
|
||||
= "The content of the message must be converted before it can be delivered ".
|
||||
"and such conversion is not permitted. Such prohibitions may be the expre".
|
||||
"ssion of the sender in the message itself or the policy of the sending h".
|
||||
"ost.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['6.3']['title']
|
||||
= "Conversion required but not supported";
|
||||
|
||||
$status_code_subclasses['6.3']['descr']
|
||||
= "The message content must be converted in order to be forwarded but such ".
|
||||
"conversion is not possible or is not practical by a host in the forwardi".
|
||||
"ng path. This condition may result when an ESMTP gateway supports 8bit t".
|
||||
"ransport but is not able to downgrade the message to 7 bit as required f".
|
||||
"or the next hop.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['6.4']['title']="Conversion with loss performed";
|
||||
$status_code_subclasses['6.4']['descr']
|
||||
= "This is a warning sent to the sender when message delivery was successfu".
|
||||
"lly but when the delivery required a conversion in which some data was l".
|
||||
"ost. This may also be a permanent error if the sender has indicated that".
|
||||
" conversion with loss is prohibited for the message.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['6.5']['title']="Conversion Failed";
|
||||
$status_code_subclasses['6.5']['descr']
|
||||
= "A conversion was required but was unsuccessful. This may be useful as a ".
|
||||
"permanent or persistent temporary notification.";
|
||||
|
||||
// [RFC4468] (Standards Track)
|
||||
$status_code_subclasses['6.6']['title']="Message content not available";
|
||||
$status_code_subclasses['6.6']['descr']
|
||||
= "The message content could not be fetched from a remote system. This may ".
|
||||
"be useful as a permanent or persistent temporary notification.";
|
||||
|
||||
// [RFC6531] (Standards track)
|
||||
$status_code_subclasses['6.7']['title']
|
||||
= "Non-ASCII addresses not permitted for that sender/recipient";
|
||||
|
||||
$status_code_subclasses['6.7']['descr']
|
||||
= "This indicates the reception of a MAIL or RCPT command that non-ASCII ad".
|
||||
"dresses are not permitted";
|
||||
|
||||
// [RFC6531] (Standards track)
|
||||
$status_code_subclasses['6.8']['title']
|
||||
= "UTF-8 string reply is required, but not permitted by the SMTP client";
|
||||
|
||||
$status_code_subclasses['6.8']['descr']
|
||||
= "This indicates that a reply containing a UTF-8 string is required to sho".
|
||||
"w the mailbox name, but that form of response is not permitted by the SM".
|
||||
"TP client.";
|
||||
|
||||
// [RFC6531] (Standards track)
|
||||
$status_code_subclasses['6.9']['title']
|
||||
= "UTF-8 header message cannot be transferred to one or more recipients, so".
|
||||
" the message must be rejected";
|
||||
|
||||
$status_code_subclasses['6.9']['descr']
|
||||
= "This indicates that transaction failed after the final \".\" of the DATA".
|
||||
" command.";
|
||||
|
||||
// [RFC6531] (Standards track)
|
||||
$status_code_subclasses['6.10']['title']="";
|
||||
$status_code_subclasses['6.10']['descr']
|
||||
= "This is a duplicate of X.6.8 and is thus deprecated.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.0']['title']
|
||||
= "Other or undefined security status";
|
||||
|
||||
$status_code_subclasses['7.0']['descr']
|
||||
= "Something related to security caused the message to be returned, and the".
|
||||
" problem cannot be well expressed with any of the other provided detail ".
|
||||
"codes. This status code may also be used when the condition cannot be fu".
|
||||
"rther described because of security policies in force.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.1']['title']
|
||||
= "Delivery not authorized, message refused";
|
||||
|
||||
$status_code_subclasses['7.1']['descr']
|
||||
= "The sender is not authorized to send to the destination. This can be the".
|
||||
" result of per-host or per-recipient filtering. This memo does not discu".
|
||||
"ss the merits of any such filtering, but provides a mechanism to report ".
|
||||
"such. This is useful only as a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.2']['title']
|
||||
= "Mailing list expansion prohibited";
|
||||
|
||||
$status_code_subclasses['7.2']['descr']
|
||||
= "The sender is not authorized to send a message to the intended mailing l".
|
||||
"ist. This is useful only as a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.3']['title']
|
||||
= "Security conversion required but not possible";
|
||||
|
||||
$status_code_subclasses['7.3']['descr']
|
||||
= "A conversion from one secure messaging protocol to another was required ".
|
||||
"for delivery and such conversion was not possible. This is useful only a".
|
||||
"s a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.4']['title']="Security features not supported";
|
||||
$status_code_subclasses['7.4']['descr']
|
||||
= "A message contained security features such as secure authentication that".
|
||||
" could not be supported on the delivery protocol. This is useful only as".
|
||||
" a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.5']['title']="Cryptographic failure";
|
||||
$status_code_subclasses['7.5']['descr']
|
||||
= "A transport system otherwise authorized to validate or decrypt a message".
|
||||
" in transport was unable to do so because necessary information such as ".
|
||||
"key was not available or such information was invalid.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.6']['title']
|
||||
= "Cryptographic algorithm not supported";
|
||||
|
||||
$status_code_subclasses['7.6']['descr']
|
||||
= "A transport system otherwise authorized to validate or decrypt a message".
|
||||
" was unable to do so because the necessary algorithm was not supported.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.7']['title']="Message integrity failure";
|
||||
$status_code_subclasses['7.7']['descr']
|
||||
= "A transport system otherwise authorized to validate a message was unable".
|
||||
" to do so because the message was corrupted or altered. This may be usef".
|
||||
"ul as a permanent, transient persistent, or successful delivery code.";
|
||||
|
||||
// [RFC4954] (Standards Track)
|
||||
$status_code_subclasses['7.8']['title']
|
||||
= "Authentication credentials invalid";
|
||||
|
||||
$status_code_subclasses['7.8']['descr']
|
||||
= "This response to the AUTH command indicates that the authentication fail".
|
||||
"ed due to invalid or insufficient authentication credentials. In this ca".
|
||||
"se, the client SHOULD ask the user to supply new credentials (such as by".
|
||||
" presenting a password dialog box).";
|
||||
|
||||
// [RFC4954] (Standards Track)
|
||||
$status_code_subclasses['7.9']['title']
|
||||
= "Authentication mechanism is too weak";
|
||||
|
||||
$status_code_subclasses['7.9']['descr']
|
||||
= "This response to the AUTH command indicates that the selected authentica".
|
||||
"tion mechanism is weaker than server policy permits for that user. The c".
|
||||
"lient SHOULD retry with a new authentication mechanism.";
|
||||
|
||||
// [RFC5248] (Best current practice)
|
||||
$status_code_subclasses['7.10']['title']="Encryption Needed";
|
||||
$status_code_subclasses['7.10']['descr']
|
||||
= "This indicates that external strong privacy layer is needed in order to ".
|
||||
"use the requested authentication mechanism. This is primarily intended f".
|
||||
"or use with clear text authentication mechanisms. A client which receive".
|
||||
"s this may activate a security layer such as TLS prior to authenticating".
|
||||
", or attempt to use a stronger mechanism.";
|
||||
|
||||
// [RFC4954] (Standards Track)
|
||||
$status_code_subclasses['7.11']['title']
|
||||
= "Encryption required for requested authentication mechanism";
|
||||
|
||||
$status_code_subclasses['7.11']['descr']
|
||||
= "This response to the AUTH command indicates that the selected authentica".
|
||||
"tion mechanism may only be used when the underlying SMTP connection is e".
|
||||
"ncrypted. Note that this response code is documented here for historical".
|
||||
" purposes only. Modern implementations SHOULD NOT advertise mechanisms t".
|
||||
"hat are not permitted due to lack of encryption, unless an encryption la".
|
||||
"yer of sufficient strength is currently being employed.";
|
||||
|
||||
// [RFC4954] (Standards Track)
|
||||
$status_code_subclasses['7.12']['title']
|
||||
= "A password transition is needed";
|
||||
|
||||
$status_code_subclasses['7.12']['descr']
|
||||
= "This response to the AUTH command indicates that the user needs to trans".
|
||||
"ition to the selected authentication mechanism. This is typically done b".
|
||||
"y authenticating once using the [PLAIN] authentication mechanism. The se".
|
||||
"lected mechanism SHOULD then work for authentications in subsequent sess".
|
||||
"ions.";
|
||||
|
||||
// [RFC5248] (Best current practice)
|
||||
$status_code_subclasses['7.13']['title']="User Account Disabled";
|
||||
$status_code_subclasses['7.13']['descr']
|
||||
= "Sometimes a system administrator will have to disable a user's account (".
|
||||
"e.g., due to lack of payment, abuse, evidence of a break-in attempt, etc".
|
||||
"). This error code occurs after a successful authentication to a disable".
|
||||
"d account. This informs the client that the failure is permanent until t".
|
||||
"he user contacts their system administrator to get the account re-enable".
|
||||
"d. It differs from a generic authentication failure where the client's b".
|
||||
"est option is to present the passphrase entry dialog in case the user si".
|
||||
"mply mistyped their passphrase.";
|
||||
|
||||
// [RFC5248] (Best current practice)
|
||||
$status_code_subclasses['7.14']['title']="Trust relationship required";
|
||||
$status_code_subclasses['7.14']['descr']
|
||||
= "The submission server requires a configured trust relationship with a th".
|
||||
"ird-party server in order to access the message content. This value repl".
|
||||
"aces the prior use of X.7.8 for this error condition. thereby updating [".
|
||||
"RFC4468].";
|
||||
|
||||
// [RFC6710] (Standards Track)
|
||||
$status_code_subclasses['7.15']['title']="Priority Level is too low";
|
||||
$status_code_subclasses['7.15']['descr']
|
||||
= "The specified priority level is below the lowest priority acceptable for".
|
||||
" the receiving SMTP server. This condition might be temporary, for examp".
|
||||
"le the server is operating in a mode where only higher priority messages".
|
||||
" are accepted for transfer and delivery, while lower priority messages a".
|
||||
"re rejected.";
|
||||
|
||||
// [RFC6710] (Standards Track)
|
||||
$status_code_subclasses['7.16']['title']
|
||||
= "Message is too big for the specified priority";
|
||||
|
||||
$status_code_subclasses['7.16']['descr']
|
||||
= "The message is too big for the specified priority. This condition might ".
|
||||
"be temporary, for example the server is operating in a mode where only h".
|
||||
"igher priority messages below certain size are accepted for transfer and".
|
||||
" delivery.";
|
||||
|
||||
// [RFC7293] (Standards Track)
|
||||
$status_code_subclasses['7.17']['title']="Mailbox owner has changed";
|
||||
$status_code_subclasses['7.17']['descr']
|
||||
= "This status code is returned when a message is received with a Require-R".
|
||||
"ecipient-Valid-Since field or RRVS extension and the receiving system is".
|
||||
" able to determine that the intended recipient mailbox has not been unde".
|
||||
"r continuous ownership since the specified date-time.";
|
||||
|
||||
// [RFC7293] (Standards Track)
|
||||
$status_code_subclasses['7.18']['title']="Domain owner has changed";
|
||||
$status_code_subclasses['7.18']['descr']
|
||||
= "This status code is returned when a message is received with a Require-R".
|
||||
"ecipient-Valid-Since field or RRVS extension and the receiving system wi".
|
||||
"shes to disclose that the owner of the domain name of the recipient has ".
|
||||
"changed since the specified date-time.";
|
||||
|
||||
// [RFC7293] (Standards Track)
|
||||
$status_code_subclasses['7.19']['title']="RRVS test cannot be completed";
|
||||
$status_code_subclasses['7.19']['descr']
|
||||
= "This status code is returned when a message is received with a Require-R".
|
||||
"ecipient-Valid-Since field or RRVS extension and the receiving system ca".
|
||||
"nnot complete the requested evaluation because the required timestamp wa".
|
||||
"s not recorded. The message originator needs to decide whether to reissu".
|
||||
"e the message without RRVS protection.";
|
||||
|
||||
// [RFC7372] (Standards Track); [RFC6376] (Standards Track)
|
||||
$status_code_subclasses['7.20']['title']
|
||||
= "No passing DKIM signature found";
|
||||
|
||||
$status_code_subclasses['7.20']['descr']
|
||||
= "This status code is returned when a message did not contain any passing ".
|
||||
"DKIM signatures. (This violates the advice of Section 6.1 of [RFC6376].)";
|
||||
|
||||
// [RFC7372] (Standards Track); [RFC6376] (Standards Track)
|
||||
$status_code_subclasses['7.21']['title']
|
||||
= "No acceptable DKIM signature found";
|
||||
|
||||
$status_code_subclasses['7.21']['descr']
|
||||
= "This status code is returned when a message contains one or more passing".
|
||||
" DKIM signatures, but none are acceptable. (This violates the advice of ".
|
||||
"Section 6.1 of [RFC6376].)";
|
||||
|
||||
// [RFC7372] (Standards Track); [RFC6376] (Standards Track)
|
||||
$status_code_subclasses['7.22']['title']
|
||||
= "No valid author-matched DKIM signature found";
|
||||
|
||||
$status_code_subclasses['7.22']['descr']
|
||||
= "This status code is returned when a message contains one or more passing".
|
||||
" DKIM signatures, but none are acceptable because none have an identifie".
|
||||
"r(s) that matches the author address(es) found in the From header field.".
|
||||
" This is a special case of X.7.21. (This violates the advice of Section ".
|
||||
"6.1 of [RFC6376].)";
|
||||
|
||||
// [RFC7372] (Standards Track); [RFC7208] (Standards Track)
|
||||
$status_code_subclasses['7.23']['title']="SPF validation failed";
|
||||
$status_code_subclasses['7.23']['descr']
|
||||
= "This status code is returned when a message completed an SPF check that ".
|
||||
"produced a \"fail\" result, contrary to local policy requirements. Used ".
|
||||
"in place of 5.7.1 as described in Section 8.4 of [RFC7208].";
|
||||
|
||||
// [RFC7372] (Standards Track); [RFC7208] (Standards Track)
|
||||
$status_code_subclasses['7.24']['title']="SPF validation error";
|
||||
$status_code_subclasses['7.24']['descr']
|
||||
= "This status code is returned when evaluation of SPF relative to an arriv".
|
||||
"ing message resulted in an error. Used in place of 4.4.3 or 5.5.2 as des".
|
||||
"cribed in Sections 8.6 and 8.7 of [RFC7208].";
|
||||
|
||||
// [RFC7372] (Standards Track); [Section 3 of RFC7001] (Standards Track)
|
||||
$status_code_subclasses['7.25']['title']="Reverse DNS validation failed";
|
||||
$status_code_subclasses['7.25']['descr']
|
||||
= "This status code is returned when an SMTP client's IP address failed a r".
|
||||
"everse DNS validation check, contrary to local policy requirements.";
|
||||
|
||||
// [RFC7372] (Standards Track)
|
||||
$status_code_subclasses['7.26']['title']
|
||||
= "Multiple authentication checks failed";
|
||||
|
||||
$status_code_subclasses['7.26']['descr']
|
||||
= "This status code is returned when a message failed more than one message".
|
||||
" authentication check, contrary to local policy requirements. The partic".
|
||||
"ular mechanisms that failed are not specified.";
|
||||
|
||||
// [RFC-ietf-appsawg-nullmx-08] (Standards Track)
|
||||
$status_code_subclasses['7.27']['title']="Sender address has null MX";
|
||||
$status_code_subclasses['7.27']['descr']
|
||||
= "This status code is returned when the associated sender address has a nu".
|
||||
"ll MX, and the SMTP receiver is configured to reject mail from such send".
|
||||
"er (e.g. because it could not return a DSN).";
|
||||
|
||||
680
classes/bounce_handler/bounce_statuscodes_new.php
Normal file
680
classes/bounce_handler/bounce_statuscodes_new.php
Normal file
@@ -0,0 +1,680 @@
|
||||
<?php
|
||||
/**
|
||||
* Bounce status codes.
|
||||
*
|
||||
* Auto-generated by Make_statuscodes.php
|
||||
* on 2016-10-18 15:48:29
|
||||
* From the following URLs:
|
||||
* http://www.iana.org/assignments/smtp-enhanced-status-codes/smtp-enhanced-st
|
||||
* atus-codes-1.csv
|
||||
*
|
||||
* http://www.iana.org/assignments/smtp-enhanced-status-codes/smtp-enhanced-st
|
||||
* atus-codes-3.csv
|
||||
*
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
* @category Email
|
||||
* @package BounceHandler
|
||||
* @author Multiple <cfortune@users.noreply.github.com>
|
||||
* @license http://opensource.org/licenses/BSD-2-Clause BSD
|
||||
* @link https://github.com/cfortune/PHP-Bounce-Handler/
|
||||
*/
|
||||
|
||||
// [RFC3463] (Standards track)
|
||||
$status_code_classes['2']['title']="Success";
|
||||
$status_code_classes['2']['descr']
|
||||
= "Success specifies that the DSN is reporting a positive delivery action. ".
|
||||
"Detail sub-codes may provide notification of transformations required fo".
|
||||
"r delivery.";
|
||||
|
||||
// [RFC3463] (Standards track)
|
||||
$status_code_classes['4']['title']="Persistent Transient Failure";
|
||||
$status_code_classes['4']['descr']
|
||||
= "A persistent transient failure is one in which the message as sent is va".
|
||||
"lid, but persistence of some temporary condition has caused abandonment ".
|
||||
"or delay of attempts to send the message. If this code accompanies a del".
|
||||
"ivery failure report, sending in the future may be successful.";
|
||||
|
||||
// [RFC3463] (Standards track)
|
||||
$status_code_classes['5']['title']="Permanent Failure";
|
||||
$status_code_classes['5']['descr']
|
||||
= "A permanent failure is one which is not likely to be resolved by resendi".
|
||||
"ng the message in the current form. Some change to the message or the de".
|
||||
"stination must be made for successful delivery.";
|
||||
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['0.0']['title']="Other undefined Status";
|
||||
$status_code_subclasses['0.0']['descr']
|
||||
= "Other undefined status is the only undefined error code. It should be us".
|
||||
"ed for all errors for which only the class of the error is known.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.0']['title']="Other address status";
|
||||
$status_code_subclasses['1.0']['descr']
|
||||
= "Something about the address specified in the message caused this DSN.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.1']['title']="Bad destination mailbox address";
|
||||
$status_code_subclasses['1.1']['descr']
|
||||
= "The mailbox specified in the address does not exist. For Internet mail n".
|
||||
"ames, this means the address portion to the left of the \"@\" sign is in".
|
||||
"valid. This code is only useful for permanent failures.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.2']['title']="Bad destination system address";
|
||||
$status_code_subclasses['1.2']['descr']
|
||||
= "The destination system specified in the address does not exist or is inc".
|
||||
"apable of accepting mail. For Internet mail names, this means the addres".
|
||||
"s portion to the right of the \"@\" is invalid for mail. This code is on".
|
||||
"ly useful for permanent failures.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.3']['title']
|
||||
= "Bad destination mailbox address syntax";
|
||||
|
||||
$status_code_subclasses['1.3']['descr']
|
||||
= "The destination address was syntactically invalid. This can apply to any".
|
||||
" field in the address. This code is only useful for permanent failures.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.4']['title']
|
||||
= "Destination mailbox address ambiguous";
|
||||
|
||||
$status_code_subclasses['1.4']['descr']
|
||||
= "The mailbox address as specified matches one or more recipients on the d".
|
||||
"estination system. This may result if a heuristic address mapping algori".
|
||||
"thm is used to map the specified address to a local mailbox name.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.5']['title']="Destination address valid";
|
||||
$status_code_subclasses['1.5']['descr']
|
||||
= "This mailbox address as specified was valid. This status code should be ".
|
||||
"used for positive delivery reports.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.6']['title']
|
||||
= "Destination mailbox has moved, No forwarding address";
|
||||
|
||||
$status_code_subclasses['1.6']['descr']
|
||||
= "The mailbox address provided was at one time valid, but mail is no longe".
|
||||
"r being accepted for that address. This code is only useful for permanen".
|
||||
"t failures.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.7']['title']
|
||||
= "Bad sender's mailbox address syntax";
|
||||
|
||||
$status_code_subclasses['1.7']['descr']
|
||||
= "The sender's address was syntactically invalid. This can apply to any fi".
|
||||
"eld in the address.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['1.8']['title']="Bad sender's system address";
|
||||
$status_code_subclasses['1.8']['descr']
|
||||
= "The sender's system specified in the address does not exist or is incapa".
|
||||
"ble of accepting return mail. For domain names, this means the address p".
|
||||
"ortion to the right of the \"@\" is invalid for mail.";
|
||||
|
||||
// [RFC3886] (Standards Track)
|
||||
$status_code_subclasses['1.9']['title']
|
||||
= "Message relayed to non-compliant mailer";
|
||||
|
||||
$status_code_subclasses['1.9']['descr']
|
||||
= "The mailbox address specified was valid, but the message has been relaye".
|
||||
"d to a system that does not speak this protocol; no further information ".
|
||||
"can be provided.";
|
||||
|
||||
// [RFC7505] (Standards Track); [RFC7504] (Standards Track)
|
||||
$status_code_subclasses['1.10']['title']="Recipient address has null MX";
|
||||
$status_code_subclasses['1.10']['descr']
|
||||
= "This status code is returned when the associated address is marked as in".
|
||||
"valid using a null MX.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['2.0']['title']
|
||||
= "Other or undefined mailbox status";
|
||||
|
||||
$status_code_subclasses['2.0']['descr']
|
||||
= "The mailbox exists, but something about the destination mailbox has caus".
|
||||
"ed the sending of this DSN.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['2.1']['title']
|
||||
= "Mailbox disabled, not accepting messages";
|
||||
|
||||
$status_code_subclasses['2.1']['descr']
|
||||
= "The mailbox exists, but is not accepting messages. This may be a permane".
|
||||
"nt error if the mailbox will never be re-enabled or a transient error if".
|
||||
" the mailbox is only temporarily disabled.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['2.2']['title']="Mailbox full";
|
||||
$status_code_subclasses['2.2']['descr']
|
||||
= "The mailbox is full because the user has exceeded a per-mailbox administ".
|
||||
"rative quota or physical capacity. The general semantics implies that th".
|
||||
"e recipient can delete messages to make more space available. This code ".
|
||||
"should be used as a persistent transient failure.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['2.3']['title']
|
||||
= "Message length exceeds administrative limit";
|
||||
|
||||
$status_code_subclasses['2.3']['descr']
|
||||
= "A per-mailbox administrative message length limit has been exceeded. Thi".
|
||||
"s status code should be used when the per-mailbox message length limit i".
|
||||
"s less than the general system limit. This code should be used as a perm".
|
||||
"anent failure.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['2.4']['title']="Mailing list expansion problem";
|
||||
$status_code_subclasses['2.4']['descr']
|
||||
= "The mailbox is a mailing list address and the mailing list was unable to".
|
||||
" be expanded. This code may represent a permanent failure or a persisten".
|
||||
"t transient failure.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['3.0']['title']
|
||||
= "Other or undefined mail system status";
|
||||
|
||||
$status_code_subclasses['3.0']['descr']
|
||||
= "The destination system exists and normally accepts mail, but something a".
|
||||
"bout the system has caused the generation of this DSN.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['3.1']['title']="Mail system full";
|
||||
$status_code_subclasses['3.1']['descr']
|
||||
= "Mail system storage has been exceeded. The general semantics imply that ".
|
||||
"the individual recipient may not be able to delete material to make room".
|
||||
" for additional messages. This is useful only as a persistent transient ".
|
||||
"error.";
|
||||
|
||||
// [RFC3463] (Standards Track); [RFC7504] (Standards Track)
|
||||
$status_code_subclasses['3.2']['title']
|
||||
= "System not accepting network messages";
|
||||
|
||||
$status_code_subclasses['3.2']['descr']
|
||||
= "The host on which the mailbox is resident is not accepting messages. Exa".
|
||||
"mples of such conditions include an imminent shutdown, excessive load, o".
|
||||
"r system maintenance. This is useful for both permanent and persistent t".
|
||||
"ransient errors.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['3.3']['title']
|
||||
= "System not capable of selected features";
|
||||
|
||||
$status_code_subclasses['3.3']['descr']
|
||||
= "Selected features specified for the message are not supported by the des".
|
||||
"tination system. This can occur in gateways when features from one domai".
|
||||
"n cannot be mapped onto the supported feature in another.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['3.4']['title']="Message too big for system";
|
||||
$status_code_subclasses['3.4']['descr']
|
||||
= "The message is larger than per-message size limit. This limit may either".
|
||||
" be for physical or administrative reasons. This is useful only as a per".
|
||||
"manent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['3.5']['title']="System incorrectly configured";
|
||||
$status_code_subclasses['3.5']['descr']
|
||||
= "The system is not configured in a manner that will permit it to accept t".
|
||||
"his message.";
|
||||
|
||||
// [RFC6710] (Standards Track)
|
||||
$status_code_subclasses['3.6']['title']="Requested priority was changed";
|
||||
$status_code_subclasses['3.6']['descr']
|
||||
= "The message was accepted for relay/delivery, but the requested priority ".
|
||||
"(possibly the implied default) was not honoured. The human readable text".
|
||||
" after the status code contains the new priority, followed by SP (space)".
|
||||
" and explanatory human readable text.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.0']['title']
|
||||
= "Other or undefined network or routing status";
|
||||
|
||||
$status_code_subclasses['4.0']['descr']
|
||||
= "Something went wrong with the networking, but it is not clear what the p".
|
||||
"roblem is, or the problem cannot be well expressed with any of the other".
|
||||
" provided detail codes.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.1']['title']="No answer from host";
|
||||
$status_code_subclasses['4.1']['descr']
|
||||
= "The outbound connection attempt was not answered, because either the rem".
|
||||
"ote system was busy, or was unable to take a call. This is useful only a".
|
||||
"s a persistent transient error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.2']['title']="Bad connection";
|
||||
$status_code_subclasses['4.2']['descr']
|
||||
= "The outbound connection was established, but was unable to complete the ".
|
||||
"message transaction, either because of time-out, or inadequate connectio".
|
||||
"n quality. This is useful only as a persistent transient error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.3']['title']="Directory server failure";
|
||||
$status_code_subclasses['4.3']['descr']
|
||||
= "The network system was unable to forward the message, because a director".
|
||||
"y server was unavailable. This is useful only as a persistent transient ".
|
||||
"error. The inability to connect to an Internet DNS server is one example".
|
||||
" of the directory server failure error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.4']['title']="Unable to route";
|
||||
$status_code_subclasses['4.4']['descr']
|
||||
= "The mail system was unable to determine the next hop for the message bec".
|
||||
"ause the necessary routing information was unavailable from the director".
|
||||
"y server. This is useful for both permanent and persistent transient err".
|
||||
"ors. A DNS lookup returning only an SOA (Start of Administration) record".
|
||||
" for a domain name is one example of the unable to route error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.5']['title']="Mail system congestion";
|
||||
$status_code_subclasses['4.5']['descr']
|
||||
= "The mail system was unable to deliver the message because the mail syste".
|
||||
"m was congested. This is useful only as a persistent transient error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.6']['title']="Routing loop detected";
|
||||
$status_code_subclasses['4.6']['descr']
|
||||
= "A routing loop caused the message to be forwarded too many times, either".
|
||||
" because of incorrect routing tables or a user- forwarding loop. This is".
|
||||
" useful only as a persistent transient error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['4.7']['title']="Delivery time expired";
|
||||
$status_code_subclasses['4.7']['descr']
|
||||
= "The message was considered too old by the rejecting system, either becau".
|
||||
"se it remained on that host too long or because the time-to-live value s".
|
||||
"pecified by the sender of the message was exceeded. If possible, the cod".
|
||||
"e for the actual problem found when delivery was attempted should be ret".
|
||||
"urned rather than this code.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['5.0']['title']
|
||||
= "Other or undefined protocol status";
|
||||
|
||||
$status_code_subclasses['5.0']['descr']
|
||||
= "Something was wrong with the protocol necessary to deliver the message t".
|
||||
"o the next hop and the problem cannot be well expressed with any of the ".
|
||||
"other provided detail codes.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['5.1']['title']="Invalid command";
|
||||
$status_code_subclasses['5.1']['descr']
|
||||
= "A mail transaction protocol command was issued which was either out of s".
|
||||
"equence or unsupported. This is useful only as a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['5.2']['title']="Syntax error";
|
||||
$status_code_subclasses['5.2']['descr']
|
||||
= "A mail transaction protocol command was issued which could not be interp".
|
||||
"reted, either because the syntax was wrong or the command is unrecognize".
|
||||
"d. This is useful only as a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['5.3']['title']="Too many recipients";
|
||||
$status_code_subclasses['5.3']['descr']
|
||||
= "More recipients were specified for the message than could have been deli".
|
||||
"vered by the protocol. This error should normally result in the segmenta".
|
||||
"tion of the message into two, the remainder of the recipients to be deli".
|
||||
"vered on a subsequent delivery attempt. It is included in this list in t".
|
||||
"he event that such segmentation is not possible.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['5.4']['title']="Invalid command arguments";
|
||||
$status_code_subclasses['5.4']['descr']
|
||||
= "A valid mail transaction protocol command was issued with invalid argume".
|
||||
"nts, either because the arguments were out of range or represented unrec".
|
||||
"ognized features. This is useful only as a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['5.5']['title']="Wrong protocol version";
|
||||
$status_code_subclasses['5.5']['descr']
|
||||
= "A protocol version mis-match existed which could not be automatically re".
|
||||
"solved by the communicating parties.";
|
||||
|
||||
// [RFC4954] (Standards Track)
|
||||
$status_code_subclasses['5.6']['title']
|
||||
= "Authentication Exchange line is too long";
|
||||
|
||||
$status_code_subclasses['5.6']['descr']
|
||||
= "This enhanced status code SHOULD be returned when the server fails the A".
|
||||
"UTH command due to the client sending a [BASE64] response which is longe".
|
||||
"r than the maximum buffer size available for the currently selected SASL".
|
||||
" mechanism. This is useful for both permanent and persistent transient e".
|
||||
"rrors.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['6.0']['title']="Other or undefined media error";
|
||||
$status_code_subclasses['6.0']['descr']
|
||||
= "Something about the content of a message caused it to be considered unde".
|
||||
"liverable and the problem cannot be well expressed with any of the other".
|
||||
" provided detail codes.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['6.1']['title']="Media not supported";
|
||||
$status_code_subclasses['6.1']['descr']
|
||||
= "The media of the message is not supported by either the delivery protoco".
|
||||
"l or the next system in the forwarding path. This is useful only as a pe".
|
||||
"rmanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['6.2']['title']
|
||||
= "Conversion required and prohibited";
|
||||
|
||||
$status_code_subclasses['6.2']['descr']
|
||||
= "The content of the message must be converted before it can be delivered ".
|
||||
"and such conversion is not permitted. Such prohibitions may be the expre".
|
||||
"ssion of the sender in the message itself or the policy of the sending h".
|
||||
"ost.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['6.3']['title']
|
||||
= "Conversion required but not supported";
|
||||
|
||||
$status_code_subclasses['6.3']['descr']
|
||||
= "The message content must be converted in order to be forwarded but such ".
|
||||
"conversion is not possible or is not practical by a host in the forwardi".
|
||||
"ng path. This condition may result when an ESMTP gateway supports 8bit t".
|
||||
"ransport but is not able to downgrade the message to 7 bit as required f".
|
||||
"or the next hop.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['6.4']['title']="Conversion with loss performed";
|
||||
$status_code_subclasses['6.4']['descr']
|
||||
= "This is a warning sent to the sender when message delivery was successfu".
|
||||
"lly but when the delivery required a conversion in which some data was l".
|
||||
"ost. This may also be a permanent error if the sender has indicated that".
|
||||
" conversion with loss is prohibited for the message.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['6.5']['title']="Conversion Failed";
|
||||
$status_code_subclasses['6.5']['descr']
|
||||
= "A conversion was required but was unsuccessful. This may be useful as a ".
|
||||
"permanent or persistent temporary notification.";
|
||||
|
||||
// [RFC4468] (Standards Track)
|
||||
$status_code_subclasses['6.6']['title']="Message content not available";
|
||||
$status_code_subclasses['6.6']['descr']
|
||||
= "The message content could not be fetched from a remote system. This may ".
|
||||
"be useful as a permanent or persistent temporary notification.";
|
||||
|
||||
// [RFC6531] (Standards track)
|
||||
$status_code_subclasses['6.7']['title']
|
||||
= "Non-ASCII addresses not permitted for that sender/recipient";
|
||||
|
||||
$status_code_subclasses['6.7']['descr']
|
||||
= "This indicates the reception of a MAIL or RCPT command that non-ASCII ad".
|
||||
"dresses are not permitted";
|
||||
|
||||
// [RFC6531] (Standards track)
|
||||
$status_code_subclasses['6.8']['title']
|
||||
= "UTF-8 string reply is required, but not permitted by the SMTP client";
|
||||
|
||||
$status_code_subclasses['6.8']['descr']
|
||||
= "This indicates that a reply containing a UTF-8 string is required to sho".
|
||||
"w the mailbox name, but that form of response is not permitted by the SM".
|
||||
"TP client.";
|
||||
|
||||
// [RFC6531] (Standards track)
|
||||
$status_code_subclasses['6.9']['title']
|
||||
= "UTF-8 header message cannot be transferred to one or more recipients, so".
|
||||
" the message must be rejected";
|
||||
|
||||
$status_code_subclasses['6.9']['descr']
|
||||
= "This indicates that transaction failed after the final \".\" of the DATA".
|
||||
" command.";
|
||||
|
||||
// [RFC6531] (Standards track)
|
||||
$status_code_subclasses['6.10']['title']="";
|
||||
$status_code_subclasses['6.10']['descr']
|
||||
= "This is a duplicate of X.6.8 and is thus deprecated.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.0']['title']
|
||||
= "Other or undefined security status";
|
||||
|
||||
$status_code_subclasses['7.0']['descr']
|
||||
= "Something related to security caused the message to be returned, and the".
|
||||
" problem cannot be well expressed with any of the other provided detail ".
|
||||
"codes. This status code may also be used when the condition cannot be fu".
|
||||
"rther described because of security policies in force.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.1']['title']
|
||||
= "Delivery not authorized, message refused";
|
||||
|
||||
$status_code_subclasses['7.1']['descr']
|
||||
= "The sender is not authorized to send to the destination. This can be the".
|
||||
" result of per-host or per-recipient filtering. This memo does not discu".
|
||||
"ss the merits of any such filtering, but provides a mechanism to report ".
|
||||
"such. This is useful only as a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.2']['title']
|
||||
= "Mailing list expansion prohibited";
|
||||
|
||||
$status_code_subclasses['7.2']['descr']
|
||||
= "The sender is not authorized to send a message to the intended mailing l".
|
||||
"ist. This is useful only as a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.3']['title']
|
||||
= "Security conversion required but not possible";
|
||||
|
||||
$status_code_subclasses['7.3']['descr']
|
||||
= "A conversion from one secure messaging protocol to another was required ".
|
||||
"for delivery and such conversion was not possible. This is useful only a".
|
||||
"s a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.4']['title']="Security features not supported";
|
||||
$status_code_subclasses['7.4']['descr']
|
||||
= "A message contained security features such as secure authentication that".
|
||||
" could not be supported on the delivery protocol. This is useful only as".
|
||||
" a permanent error.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.5']['title']="Cryptographic failure";
|
||||
$status_code_subclasses['7.5']['descr']
|
||||
= "A transport system otherwise authorized to validate or decrypt a message".
|
||||
" in transport was unable to do so because necessary information such as ".
|
||||
"key was not available or such information was invalid.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.6']['title']
|
||||
= "Cryptographic algorithm not supported";
|
||||
|
||||
$status_code_subclasses['7.6']['descr']
|
||||
= "A transport system otherwise authorized to validate or decrypt a message".
|
||||
" was unable to do so because the necessary algorithm was not supported.";
|
||||
|
||||
// [RFC3463] (Standards Track)
|
||||
$status_code_subclasses['7.7']['title']="Message integrity failure";
|
||||
$status_code_subclasses['7.7']['descr']
|
||||
= "A transport system otherwise authorized to validate a message was unable".
|
||||
" to do so because the message was corrupted or altered. This may be usef".
|
||||
"ul as a permanent, transient persistent, or successful delivery code.";
|
||||
|
||||
// [RFC4954] (Standards Track)
|
||||
$status_code_subclasses['7.8']['title']
|
||||
= "Authentication credentials invalid";
|
||||
|
||||
$status_code_subclasses['7.8']['descr']
|
||||
= "This response to the AUTH command indicates that the authentication fail".
|
||||
"ed due to invalid or insufficient authentication credentials. In this ca".
|
||||
"se, the client SHOULD ask the user to supply new credentials (such as by".
|
||||
" presenting a password dialog box).";
|
||||
|
||||
// [RFC4954] (Standards Track)
|
||||
$status_code_subclasses['7.9']['title']
|
||||
= "Authentication mechanism is too weak";
|
||||
|
||||
$status_code_subclasses['7.9']['descr']
|
||||
= "This response to the AUTH command indicates that the selected authentica".
|
||||
"tion mechanism is weaker than server policy permits for that user. The c".
|
||||
"lient SHOULD retry with a new authentication mechanism.";
|
||||
|
||||
// [RFC5248] (Best current practice)
|
||||
$status_code_subclasses['7.10']['title']="Encryption Needed";
|
||||
$status_code_subclasses['7.10']['descr']
|
||||
= "This indicates that external strong privacy layer is needed in order to ".
|
||||
"use the requested authentication mechanism. This is primarily intended f".
|
||||
"or use with clear text authentication mechanisms. A client which receive".
|
||||
"s this may activate a security layer such as TLS prior to authenticating".
|
||||
", or attempt to use a stronger mechanism.";
|
||||
|
||||
// [RFC4954] (Standards Track)
|
||||
$status_code_subclasses['7.11']['title']
|
||||
= "Encryption required for requested authentication mechanism";
|
||||
|
||||
$status_code_subclasses['7.11']['descr']
|
||||
= "This response to the AUTH command indicates that the selected authentica".
|
||||
"tion mechanism may only be used when the underlying SMTP connection is e".
|
||||
"ncrypted. Note that this response code is documented here for historical".
|
||||
" purposes only. Modern implementations SHOULD NOT advertise mechanisms t".
|
||||
"hat are not permitted due to lack of encryption, unless an encryption la".
|
||||
"yer of sufficient strength is currently being employed.";
|
||||
|
||||
// [RFC4954] (Standards Track)
|
||||
$status_code_subclasses['7.12']['title']
|
||||
= "A password transition is needed";
|
||||
|
||||
$status_code_subclasses['7.12']['descr']
|
||||
= "This response to the AUTH command indicates that the user needs to trans".
|
||||
"ition to the selected authentication mechanism. This is typically done b".
|
||||
"y authenticating once using the [PLAIN] authentication mechanism. The se".
|
||||
"lected mechanism SHOULD then work for authentications in subsequent sess".
|
||||
"ions.";
|
||||
|
||||
// [RFC5248] (Best current practice)
|
||||
$status_code_subclasses['7.13']['title']="User Account Disabled";
|
||||
$status_code_subclasses['7.13']['descr']
|
||||
= "Sometimes a system administrator will have to disable a user's account (".
|
||||
"e.g., due to lack of payment, abuse, evidence of a break-in attempt, etc".
|
||||
"). This error code occurs after a successful authentication to a disable".
|
||||
"d account. This informs the client that the failure is permanent until t".
|
||||
"he user contacts their system administrator to get the account re-enable".
|
||||
"d. It differs from a generic authentication failure where the client's b".
|
||||
"est option is to present the passphrase entry dialog in case the user si".
|
||||
"mply mistyped their passphrase.";
|
||||
|
||||
// [RFC5248] (Best current practice)
|
||||
$status_code_subclasses['7.14']['title']="Trust relationship required";
|
||||
$status_code_subclasses['7.14']['descr']
|
||||
= "The submission server requires a configured trust relationship with a th".
|
||||
"ird-party server in order to access the message content. This value repl".
|
||||
"aces the prior use of X.7.8 for this error condition. thereby updating [".
|
||||
"RFC4468].";
|
||||
|
||||
// [RFC6710] (Standards Track)
|
||||
$status_code_subclasses['7.15']['title']="Priority Level is too low";
|
||||
$status_code_subclasses['7.15']['descr']
|
||||
= "The specified priority level is below the lowest priority acceptable for".
|
||||
" the receiving SMTP server. This condition might be temporary, for examp".
|
||||
"le the server is operating in a mode where only higher priority messages".
|
||||
" are accepted for transfer and delivery, while lower priority messages a".
|
||||
"re rejected.";
|
||||
|
||||
// [RFC6710] (Standards Track)
|
||||
$status_code_subclasses['7.16']['title']
|
||||
= "Message is too big for the specified priority";
|
||||
|
||||
$status_code_subclasses['7.16']['descr']
|
||||
= "The message is too big for the specified priority. This condition might ".
|
||||
"be temporary, for example the server is operating in a mode where only h".
|
||||
"igher priority messages below certain size are accepted for transfer and".
|
||||
" delivery.";
|
||||
|
||||
// [RFC7293] (Standards Track)
|
||||
$status_code_subclasses['7.17']['title']="Mailbox owner has changed";
|
||||
$status_code_subclasses['7.17']['descr']
|
||||
= "This status code is returned when a message is received with a Require-R".
|
||||
"ecipient-Valid-Since field or RRVS extension and the receiving system is".
|
||||
" able to determine that the intended recipient mailbox has not been unde".
|
||||
"r continuous ownership since the specified date-time.";
|
||||
|
||||
// [RFC7293] (Standards Track)
|
||||
$status_code_subclasses['7.18']['title']="Domain owner has changed";
|
||||
$status_code_subclasses['7.18']['descr']
|
||||
= "This status code is returned when a message is received with a Require-R".
|
||||
"ecipient-Valid-Since field or RRVS extension and the receiving system wi".
|
||||
"shes to disclose that the owner of the domain name of the recipient has ".
|
||||
"changed since the specified date-time.";
|
||||
|
||||
// [RFC7293] (Standards Track)
|
||||
$status_code_subclasses['7.19']['title']="RRVS test cannot be completed";
|
||||
$status_code_subclasses['7.19']['descr']
|
||||
= "This status code is returned when a message is received with a Require-R".
|
||||
"ecipient-Valid-Since field or RRVS extension and the receiving system ca".
|
||||
"nnot complete the requested evaluation because the required timestamp wa".
|
||||
"s not recorded. The message originator needs to decide whether to reissu".
|
||||
"e the message without RRVS protection.";
|
||||
|
||||
// [RFC7372] (Standards Track); [RFC6376] (Standards Track)
|
||||
$status_code_subclasses['7.20']['title']
|
||||
= "No passing DKIM signature found";
|
||||
|
||||
$status_code_subclasses['7.20']['descr']
|
||||
= "This status code is returned when a message did not contain any passing ".
|
||||
"DKIM signatures. (This violates the advice of Section 6.1 of [RFC6376].)";
|
||||
|
||||
// [RFC7372] (Standards Track); [RFC6376] (Standards Track)
|
||||
$status_code_subclasses['7.21']['title']
|
||||
= "No acceptable DKIM signature found";
|
||||
|
||||
$status_code_subclasses['7.21']['descr']
|
||||
= "This status code is returned when a message contains one or more passing".
|
||||
" DKIM signatures, but none are acceptable. (This violates the advice of ".
|
||||
"Section 6.1 of [RFC6376].)";
|
||||
|
||||
// [RFC7372] (Standards Track); [RFC6376] (Standards Track)
|
||||
$status_code_subclasses['7.22']['title']
|
||||
= "No valid author-matched DKIM signature found";
|
||||
|
||||
$status_code_subclasses['7.22']['descr']
|
||||
= "This status code is returned when a message contains one or more passing".
|
||||
" DKIM signatures, but none are acceptable because none have an identifie".
|
||||
"r(s) that matches the author address(es) found in the From header field.".
|
||||
" This is a special case of X.7.21. (This violates the advice of Section ".
|
||||
"6.1 of [RFC6376].)";
|
||||
|
||||
// [RFC7372] (Standards Track); [RFC7208] (Standards Track)
|
||||
$status_code_subclasses['7.23']['title']="SPF validation failed";
|
||||
$status_code_subclasses['7.23']['descr']
|
||||
= "This status code is returned when a message completed an SPF check that ".
|
||||
"produced a \"fail\" result, contrary to local policy requirements. Used ".
|
||||
"in place of 5.7.1 as described in Section 8.4 of [RFC7208].";
|
||||
|
||||
// [RFC7372] (Standards Track); [RFC7208] (Standards Track)
|
||||
$status_code_subclasses['7.24']['title']="SPF validation error";
|
||||
$status_code_subclasses['7.24']['descr']
|
||||
= "This status code is returned when evaluation of SPF relative to an arriv".
|
||||
"ing message resulted in an error. Used in place of 4.4.3 or 5.5.2 as des".
|
||||
"cribed in Sections 8.6 and 8.7 of [RFC7208].";
|
||||
|
||||
// [RFC7372] (Standards Track); [RFC7601] (Standards Track)
|
||||
$status_code_subclasses['7.25']['title']="Reverse DNS validation failed";
|
||||
$status_code_subclasses['7.25']['descr']
|
||||
= "This status code is returned when an SMTP client's IP address failed a r".
|
||||
"everse DNS validation check, contrary to local policy requirements.";
|
||||
|
||||
// [RFC7372] (Standards Track)
|
||||
$status_code_subclasses['7.26']['title']
|
||||
= "Multiple authentication checks failed";
|
||||
|
||||
$status_code_subclasses['7.26']['descr']
|
||||
= "This status code is returned when a message failed more than one message".
|
||||
" authentication check, contrary to local policy requirements. The partic".
|
||||
"ular mechanisms that failed are not specified.";
|
||||
|
||||
// [RFC7505] (Standards Track)
|
||||
$status_code_subclasses['7.27']['title']="Sender address has null MX";
|
||||
$status_code_subclasses['7.27']['descr']
|
||||
= "This status code is returned when the associated sender address has a nu".
|
||||
"ll MX, and the SMTP receiver is configured to reject mail from such send".
|
||||
"er (e.g., because it could not return a DSN).";
|
||||
|
||||
Reference in New Issue
Block a user