PHPackages                             nowise/uup-mail - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. nowise/uup-mail

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

nowise/uup-mail
===============

Object oriented mail message composer for sending multipart (HTML/plain text) messages optionally formatted using templates (for HTML and plain text layout).

1.0.6(6y ago)08Apache-2.0PHPPHP &gt;=5.4.0

Since Sep 1Pushed 6y agoCompare

[ Source](https://github.com/nowisesys/uup-mail)[ Packagist](https://packagist.org/packages/nowise/uup-mail)[ Docs](https://nowise.se/oss/uup/mail)[ RSS](/packages/nowise-uup-mail/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (2)Versions (8)Used By (0)

UUP-MAIL - Mail template and composing library for PHP
------------------------------------------------------

[](#uup-mail---mail-template-and-composing-library-for-php)

The uup-mail library provides a mail template and composer library for formatting mail messages. Its main focus is on MIME message composition and layout using templates. The actual sending (transport) of the SMTP message is delegated to other libraries, currently Swift Mailer, PEAR Mail or PHPMailer is supported.

### Design

[](#design)

This library was designed with inheritance in mind. Create your own mail message classes (one for each particular kind of message) derived from class MessageComposer:

```
class ConfirmSubscriptionMessage extends MessageComposer
{
    public function __construct()
    {
        parent::__construct(_("Confirm Subscription", _("...")));
        // ... create additional section headers with content.
    }

    public function setSubscription($id)
    {
        parent::setContent('Subscription', Subscription::get($id));
    }
}

$composer = new ConfirmSubscriptionMessage();
$message  = new SwiftMessage($composer, $formatter);
$mailer->send($message);
```

### Usage

[](#usage)

The library can be used at three different levels:

1. Use UUP\\Mail\\Compose only. The library is used solely for message composition.
2. Use i.e. UUP\\Mail\\Swift. This is the intermediate level were you can take advantage of the message composition and layout, while still have native access to the Swift Mailer library too.
3. Use UUP\\Mail and its interface. The programming at this level is done against the interfaces (Message and MessageMailer) using the MessageService as a proxy against your code and the native implementation, i.e. Swift Mailer.

A good example of real world usage can be found in example/realistic.php

### More

[](#more)

More information can be found on the [project page](https://nowise.se/oss/uup/mail)

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~312 days

Recently: every ~467 days

Total

7

Last Release

2404d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/051c93d5c76da455715b999de080c10df538ce46843177f3b1779c235fe4aaff?d=identicon)[nowise](/maintainers/nowise)

---

Top Contributors

[![nowisesys](https://avatars.githubusercontent.com/u/35581658?v=4)](https://github.com/nowisesys "nowisesys (66 commits)")

---

Tags

composemailphp-librarymailmimecomposeuupbmc

### Embed Badge

![Health badge](/badges/nowise-uup-mail/health.svg)

```
[![Health](https://phpackages.com/badges/nowise-uup-mail/health.svg)](https://phpackages.com/packages/nowise-uup-mail)
```

###  Alternatives

[zbateson/mail-mime-parser

MIME email message parser

53949.2M79](/packages/zbateson-mail-mime-parser)[php-mime-mail-parser/php-mime-mail-parser

A fully tested email parser for PHP 8.0+ (mailparse extension wrapper).

9979.6M27](/packages/php-mime-mail-parser-php-mime-mail-parser)[nette/mail

📧 Nette Mail: A handy library for creating and sending emails in PHP.

5389.8M246](/packages/nette-mail)[zbateson/stream-decorators

PHP psr7 stream decorators for mime message part streams

4748.6M6](/packages/zbateson-stream-decorators)[goetas/to-swift-mime-parser

Parse a generic mail stream, and convert it to a SwiftMailer Message

1244.4k2](/packages/goetas-to-swift-mime-parser)[bashkarev/email

Faster MIME Mail Parser could be used to parse emails in MIME format.

208.8k](/packages/bashkarev-email)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
