---
name: "Sisimai::Bite::Email::UserDefined"
section: "3pm"
platform: "linux"
package: "libsisimai-perl"
version: "4.24.1-1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/Sisimai::Bite::Email::UserDefined"
---

# Sisimai::Bite::Email::UserDefined(3pm)

User defined MTA module as an example

## NAME

Sisimai::Bite::Email::UserDefined - User defined MTA module as an example

## SYNOPSIS

```
    use lib '/path/to/your/lib/dir';
    use Your::Custom::Bite::Email::Module;
    use Sisimai::Mail;
    use Sisimai::Data;
    use Sisimai::Message;
    my $file = '/path/to/mailbox';
    my $mail = Sisimai::Mail->new($file);
    my $mesg = undef;
    my $data = undef;
    while( my $r = $mail->read ){
        $mesg = Sisimai::Message->new(
                    'data' => $r,
                    'load' => ['Your::Custom::Bite::Email::Module']
                );
        $data = Sisimai::Data->make('data' => $mesg);
        ...
    }
```

## DESCRIPTION

Sisimai::Bite::Email::UserDefined is an example module as a template to implement your custom MTA module.

## CLASS METHODS

### "description()"

`"description()"` returns description string of this module.

```
    print Your::Custom::Bite::Email::Module->description;
```

### "smtpagent()"

`"smtpagent()"` returns MTA name.

```
    print Your::Custom::Bite::Email::Module->smtpagent;
```

### "scan(header data, reference to body string)"

`"scan()"` method parses a bounced email and return results as a array reference. See Sisimai::Message for more details.

## AUTHOR

azumakuniyuki

## COPYRIGHT

Copyright (C) 2015-2018 azumakuniyuki, All rights reserved.

## LICENSE

This software is distributed under The BSD 2-Clause License.
