PHPackages                             chronon/ymlp - 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. chronon/ymlp

ActiveCakephp-plugin[Mail &amp; Notifications](/categories/mail)

chronon/ymlp
============

A CakePHP 2.x plugin component that interfaces with YMLP/Your Mailing List Provider's API.

1.0.1(13y ago)2391MITPHPPHP &gt;=5.3.0

Since Apr 21Pushed 9y ago1 watchersCompare

[ Source](https://github.com/chronon/CakePHP-YMLP-Plugin)[ Packagist](https://packagist.org/packages/chronon/ymlp)[ Docs](https://github.com/chronon/CakePHP-YMLP-Plugin)[ RSS](/packages/chronon-ymlp/feed)WikiDiscussions master Synced 4w ago

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

CakePHP [YMLP](http://www.ymlp.com/) Component
==============================================

[](#cakephp-ymlp-component)

### NOTE: This project is deprecated and will most likely not be updated. It remains a working YMLP API solution for CakePHP 2.x apps, but will not be updated for CakePHP 3.x.

[](#note-this-project-is-deprecated-and-will-most-likely-not-be-updated-it-remains-a-working-ymlp-api-solution-for-cakephp-2x-apps-but-will-not-be-updated-for-cakephp-3x)

[YMLP](http://www.ymlp.com/), or Your Mailing List Provider, is a email newsletter and marketing service with free and paid accounts, and a well written API.

This component interfaces a CakePHP app with YMLP's API.

You will need a free or paid account at [YMLP](http://www.ymlp.com/), along with your username and API key (found at ymlp.com under "Configuration", "API"). Make sure to enable API access on YMLP's API page!

Compatibility:
--------------

[](#compatibility)

Tested with CakePHP 2.8.x. Requires PHP 5 with cURL support.

Installation:
-------------

[](#installation)

**Using [Composer](http://getcomposer.org/)/[Packagist](https://packagist.org):**

In your project `composer.json` file:

```
{
	"require": {
		"chronon/ymlp": "*"
	}
}

```

**Using git:**

```
git clone git@github.com:chronon/CakePHP-YmlpComponent-Plugin.git APP/Plugin/Ymlp
```

Configuration:
--------------

[](#configuration)

All configuration is in APP/Config/bootstrap.php.

**Required:** Load the plugin:

```
CakePlugin::load('Ymlp');
```

or

```
CakePlugin::loadAll();
```

**Required:** Set your YMLP API key and username.

```
Configure::write('Ymlp.settings', array(
	'Key' => '1234567890ABCDEFG',
	'Username' => 'yourusername',
));
```

**Required:** Set your YMLP field mapping, which is your local field =&gt; YMLPField.

```
Configure::write('Ymlp.fieldMap', array(
	'email' => 'Email',
));
```

Usage:
------

[](#usage)

Add the component to your controller:

```
public $components = array('Ymlp.Ymlp');
```

Example: if you have a subscriber form with a field named `email`, `$this->request->data` would look something like this:

```
['Subscriber'] => array(
	'email' => 'some@email.com'
)
```

To add this email address to YMLP using the component:

```
$result = $this->Ymlp->command('Contacts.Add', $this->request->data['Subscriber']);
```

The `$result` would be the response from YMLP's `Contacts.Add()` method. See the YMLP docs for all available API commands.

The available methods of this component are:

```
utility($method, $data = array())

/**
 * A utility method to send anything to the YMLP API
 *
 * @param string $method The YMLP API method call
 * @param array  $data Data to pass to the YMLP method
 * @return string
 * @access public
 */

command($method, $data)

/**
 * The primary method to format data, post it to the YMLP API, and then format
 * the returned result.
 *
 * @param string $method The YMLP API method call
 * @param array  $data Data to pass to the YMLP method
 * @return string
 * @access public
 */
```

Example usage of the `utility` method to view a list of configured YMLP fields. If you created a form at YMLP to collect name, email address, and mailing address, you need to match your app's fields with YMLP fields. The YMLP API `Fields.GetList()` method can give you what you need.

Create a temporary method in your controller and use the component's `utility` method:

```
public function utility() {
	$result = $this->Ymlp->utility('Fields.GetList');
	debug($result);
	exit;
}
```

Visit /utility and you should see a list of YMLP configured fields with field id, which you can use to map to your app fields with the `Ymlp.fieldMap` configuration array.

```
Configure::write('Ymlp.fieldMap', array(
	'email' => 'Email',
	'first_name' => 1,
	'last_name' => 2,
	'address' => 3,
	'city' => 4,
	'state' => 5,
	'zip' => 6,
));
```

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 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

Unknown

Total

1

Last Release

4818d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/57735?v=4)[Gregory Gaskill](/maintainers/chronon)[@chronon](https://github.com/chronon)

---

Top Contributors

[![chronon](https://avatars.githubusercontent.com/u/57735?v=4)](https://github.com/chronon "chronon (18 commits)")

---

Tags

plugincakephpcomponentymlp

### Embed Badge

![Health badge](/badges/chronon-ymlp/health.svg)

```
[![Health](https://phpackages.com/badges/chronon-ymlp/health.svg)](https://phpackages.com/packages/chronon-ymlp)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.3k10](/packages/helsingborg-stad-municipio)[chronon/mobile_detect

A CakePHP plugin component for identifying mobile devices using the Mobile\_Detect project.

24252.6k1](/packages/chronon-mobile-detect)[chronon/stripe

A CakePHP 2.x Stripe Payment Processing Component.

4246.7k](/packages/chronon-stripe)[etailors/mautic-amazon-ses

Amazon SES Mailer Plugin for Mautic

573.4k](/packages/etailors-mautic-amazon-ses)[dereuromark/cakephp-mailchimp

A CakePHP plugin for MailChimp

2217.9k](/packages/dereuromark-cakephp-mailchimp)[gourmet/email

Gourmet Email Plugin for rapid CakePHP application development.

175.2k](/packages/gourmet-email)

PHPackages © 2026

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