Skip to content
Port of Perl 5's Email::Simple
  1. Other 100.0%
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.


This is my attempt at porting Email::Simple from perl 5 to perl 6 (mostly just because I can)

Example Usage

use Email::Simple;

my $eml =$raw-mail-text);
say $eml.body;

my $new = Email::Simple.create(header => [['To', ''],
                                          ['From', ''],
                                          ['Subject', 'test']],
                               body => 'This is a test.');
say ~$new;


  • new(Str $text, :$header-class = Email::Simple::Header)

  • new(Array $header, Str $body, :$header-class = Email::Simple::Header)

    Alias of .create with positional arguments.

  • create(Array :$header, Str :$body, :$header-class = Email::Simple::Header)

  • header($name, :$multi)

    Returns the email header with the name $name. If :$multi is not passed, then this will return the first header found. If :$multi is set, then this will return a list of all headers with the name $name (note the change from v1.0!)

  • header-set($name, *@lines)

    Sets the header $name. Adds one $name header for each additional argument passed.

  • header-names()

    Returns a list of header names in the email.

  • headers()

    Alias of header-names()

  • header-pairs()

    Returns the full header data for an email.

    $eml.header-pairs(); # --> [['Subject', 'test'], ['From', '']]
  • body()

    Returns the mail body. Note that this module does not try to do any decoding, it just returns the body as-is.

  • body-set($text)

    Sets the mail body to $text. Note that this module does not try to properly encode the body.

  • as-string(), Str()

    Returns the full raw email, suitable for piping into sendmail.

  • crlf()

  • header-obj()

  • header-obj-set($obj)


All files in this repository are licensed under the terms of Create Commons License; for details please see the LICENSE file

You can’t perform that action at this time.