email.errors: Klasser för undantag och defekter

Källkod: Lib/email/errors.py


Följande undantagsklasser definieras i modulen email.errors:

exception email.errors.MessageError

Detta är basklassen för alla undantag som paketet email kan ge upphov till. Den härstammar från standardklassen Exception och definierar inga ytterligare metoder.

exception email.errors.MessageParseError

Detta är basklassen för undantag som skapas av klassen Parser. Den är härledd från MessageError. Denna klass används också internt av den parser som används av headerregistry.

exception email.errors.HeaderParseError

Uppstår under vissa felförhållanden vid analys av RFC 5322-rubrikerna i ett meddelande, denna klass härrör från MessageParseError. Metoden set_boundary() kommer att ge upphov till detta fel om innehållstypen är okänd när metoden anropas. Header kan ge upphov till detta fel för vissa base64-avkodningsfel och när ett försök görs att skapa en rubrik som verkar innehålla en inbäddad rubrik (det vill säga, det finns vad som ska vara en fortsättningsrad som inte har några ledande blanksteg och ser ut som en rubrik).

exception email.errors.BoundaryError

Utfasad och används inte längre.

exception email.errors.MultipartConversionError

Uppstår om metoden attach() anropas på en instans av en klass som härrör från MIMENonMultipart (t.ex. MIMEImage). MultipartConversionError ärver multipelt från MessageError och den inbyggda TypeError.

exception email.errors.HeaderWriteError

Utlöses när ett fel uppstår när generator matar ut rubriker.

exception email.errors.MessageDefect

Detta är basklassen för alla defekter som upptäcks när e-postmeddelanden analyseras. Den är härledd från ValueError.

exception email.errors.HeaderDefect

Detta är basklassen för alla defekter som upptäcks vid analys av e-postrubriker. Den är härledd från MessageDefect.

Här är listan över de defekter som FeedParser kan hitta när den analyserar meddelanden. Observera att defekterna läggs till i det meddelande där problemet hittades, så till exempel om ett meddelande som är kapslat inuti en multipart/alternative hade ett felaktigt huvud, skulle det kapslade meddelandeobjektet ha en defekt, men de innehållande meddelandena skulle inte ha det.

Alla defektklasser är underklassade från email.errors.MessageDefect.

exception email.errors.NoBoundaryInMultipartDefect

Ett meddelande påstod sig vara en multipart, men hade ingen parameter boundary.

exception email.errors.StartBoundaryNotFoundDefect

Startgränsen som angavs i Content-Type -rubriken hittades aldrig.

exception email.errors.CloseBoundaryNotFoundDefect

En startgräns hittades, men ingen motsvarande slutgräns hittades någonsin.

Tillagd i version 3.3.

exception email.errors.FirstHeaderLineIsContinuationDefect

Meddelandet hade en fortsättningsrad som första rubrikrad.

exception email.errors.MisplacedEnvelopeHeaderDefect

Ett ”Unix From”-huvud hittades i mitten av ett huvudblock.

exception email.errors.MissingHeaderBodySeparatorDefect

Vid parsning av rubriker hittades en rad som inte hade något inledande vitt utrymme men som inte innehöll något ’:’. Parsningen fortsätter med antagandet att raden representerar den första raden i brödtexten.

Tillagd i version 3.3.

exception email.errors.MalformedHeaderDefect

En header saknade ett kolon eller var på annat sätt felformad.

Föråldrad sedan version 3.3: Denna defekt har inte använts på flera Python-versioner.

exception email.errors.MultipartInvariantViolationDefect

Ett meddelande påstod sig vara en multipart, men inga underdelar hittades. Observera att när ett meddelande har denna defekt kan dess metod is_multipart() returnera False även om dess innehållstyp påstår sig vara multipart.

exception email.errors.InvalidBase64PaddingDefect

Vid avkodning av ett block med base64-kodade byte var utfyllnaden inte korrekt. Tillräcklig utfyllnad läggs till för att utföra avkodningen, men de avkodade byte som blir resultatet kan vara ogiltiga.

exception email.errors.InvalidBase64CharactersDefect

Vid avkodning av ett block med base64-kodade bytes påträffades tecken utanför base64-alfabetet. Tecknen ignoreras, men de avkodade byte som blir resultatet kan vara ogiltiga.

exception email.errors.InvalidBase64LengthDefect

Vid avkodning av ett block med base64-kodade bytes var antalet icke-padding base64-tecken ogiltigt (1 mer än en multipel av 4). Det kodade blocket behölls i befintligt skick.

exception email.errors.InvalidDateDefect

Vid avkodning av ett ogiltigt eller icke analyserbart datumfält. Det ursprungliga värdet behålls som det är.