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 6d 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 46% 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

4863d 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.6k10](/packages/helsingborg-stad-municipio)[etailors/mautic-amazon-ses

Amazon SES Mailer Plugin for Mautic

595.0k](/packages/etailors-mautic-amazon-ses)[chronon/mobile_detect

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

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

A CakePHP 2.x Stripe Payment Processing Component.

4246.9k](/packages/chronon-stripe)[dereuromark/cakephp-mailchimp

A CakePHP plugin for MailChimp

2217.9k](/packages/dereuromark-cakephp-mailchimp)[pressbooks/pressbooks-book

This theme is named after Canadian media theorist Marshall McLuhan, who coined the phrase “the medium is the message.” It is designed for academic writing and is also suitable for fiction. Headings are set in Cormorant Garamond, and body type is set in Lora.

226.7k](/packages/pressbooks-pressbooks-book)

PHPackages © 2026

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