https://github.com/PiedWeb/TinyMailListBuilder
Tiny Mail List Builder for almost hand-held newsletter
https://github.com/PiedWeb/TinyMailListBuilder
Last synced: 10 months ago
JSON representation
Tiny Mail List Builder for almost hand-held newsletter
- Host: GitHub
- URL: https://github.com/PiedWeb/TinyMailListBuilder
- Owner: PiedWeb
- License: mit
- Created: 2019-03-08T14:52:31.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-08T15:19:49.000Z (almost 7 years ago)
- Last Synced: 2025-03-03T23:20:49.197Z (11 months ago)
- Language: PHP
- Size: 4.88 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - PiedWeb/TinyMailListBuilder - Tiny Mail List Builder for almost hand-held newsletter (others)
README
# Tiny MailList Builder...
... for almost hand-held newsletter.
## Install
Using composer : [Packagist](https://packagist.org/packages/piedweb/tiny-maillist-builder)
``` bash
$ composer require piedweb/tiny-maillist-builder
```
## Usage
This example demonstrate the possible usage on a static website on the one hand (where we want
the user suscribe to our email list), and on the other hand, a dynamic server with a specific
subdomain (eg: mail-list.example.tld).
The dynamic server will host our package and a simple controller like :
``` php
include 'vendor/autoload.php';
header("Access-Control-Allow-Origin: *");
if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
$list = new TinyMailListBuilder(['piedweb'], 'list');
if ($list->add(trim($_POST['email'] ?? ''), $_POST['list'] ?? '')) {
exit('OK');
} else {
exit('EVER');
}
} else {
header("HTTP/1.1 401 Unauthorized");
exit('ERROR');
}
```
The static website will integrate in his front end something like :
``` javascript
import { tinyMailListBuilder } from "~/vendor/piedweb/tiny-maillist-builder/js/TinyMailListBuilder.js";
var form = document.getElementById("newsletter");
var config_list = 'piedweb';
form.addEventListener("submit", function(evt) {
evt.preventDefault();
form.querySelector('input[type="submit"]').value = '...';
form.querySelector('input[type="submit"]').setAttribute('disabled', 'disabled');
tinyMailListBuilder(form, function(text) {console.log(text);form.querySelector('input[type="submit"]').value = 'Stored !';});
}, config_list);
```
``` html
```
## Contributing
Please see [contributing](https://dev.piedweb.com/contributing)
## Credits
- [PiedWeb](https://piedweb.com)
- [All Contributors](https://github.com/PiedWeb/:package_skake/graphs/contributors)
## License
The MIT License (MIT). Please see [License File](LICENSE) for more information.
[](https://github.com/PiedWeb/TinyMailListBuilder/tags)
[](LICENSE)
[](https://travis-ci.org/PiedWeb/TinyMailListBuilder)
[](https://scrutinizer-ci.com/g/PiedWeb/TinyMailListBuilder)
[](https://scrutinizer-ci.com/g/PiedWeb/TinyMailListBuilder/code-structure)
[](https://packagist.org/packages/piedweb/tiny-maillist-builder)