The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Mail::Message::TransferEnc::Base64 - encode/decode base64 message bodies

CLASS INHERITANCE

 Mail::Message::TransferEnc::Base64
   is a Mail::Message::TransferEnc
   is a Mail::Reporter

SYNOPSIS

 my Mail::Message $msg = ...;
 my $decoded = $msg->decoded;
 my $encoded = $msg->encode(transfer => 'base64');

DESCRIPTION

Encode or decode message bodies with base64. The e-mail protocol and user agents can not handle binary data. Therefore, binary data -but even sometimes non-binary data- is encoded into ASCII, this is transportable.

Base64 re-groups the bits of bytes, and maps them on characters. The data contains bytes of 8 bits (an octet). These are repacked into groups of 6 bits, pointing in an array of characters containing [A-Za-z0-9+/]. This way, three data bytes become 4 base64 bytes. The encoded data will be trailed by '=' characters to align on four bytes.

METHODS

Initiation

new OPTIONS

(Class method)

 OPTION               DEFAULT
 log                  'WARNINGS'
 trace                'WARNINGS'
log => LEVEL

See Mail::Reporter::new(log)

trace => LEVEL

See Mail::Reporter::new(trace)

The Encoder

addTransferEncoder TYPE, CLASS

See Mail::Message::TransferEnc::addTransferEncoder()

create TYPE, OPTIONS

See Mail::Message::TransferEnc::create()

name

See Mail::Message::TransferEnc::name()

Encoding

check BODY, OPTIONS

See Mail::Message::TransferEnc::check()

decode BODY, OPTIONS
 OPTION               DEFAULT
 result_type          <type of source body>
result_type => CLASS

See Mail::Message::TransferEnc::decode(result_type)

encode BODY, OPTIONS

See Mail::Message::TransferEnc::encode()

Logging and Tracing

defaultTrace [LEVEL, [LEVEL]

See Mail::Reporter::defaultTrace()

errors

See Mail::Reporter::errors()

log [LEVEL [,STRINGS]]

See Mail::Reporter::log()

report [LEVEL]

See Mail::Reporter::report()

reportAll [LEVEL]

See Mail::Reporter::reportAll()

trace [LEVEL]

See Mail::Reporter::trace()

warnings

See Mail::Reporter::warnings()

Other Methods

AUTOLOAD

See Mail::Reporter::AUTOLOAD()

DESTROY

See Mail::Reporter::DESTROY()

inGlobalDestruction

See Mail::Reporter::inGlobalDestruction()

logPriority LEVEL

See Mail::Reporter::logPriority()

logSettings

See Mail::Reporter::logSettings()

notImplemented

See Mail::Reporter::notImplemented()

SEE ALSO

A good start to read is Mail::Box-Overview. More documentation and a mailinglist are available from the project's website at http://perl.overmeer.net/mailbox/.

AUTHOR

Written by Mark Overmeer (mark@overmeer.net) with the help of many. See the ChangeLog for details.

VERSION

This code is beta, version 2.038.

Copyright (c) 2001-2003 by the authors. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.