{"id":18956521,"url":"https://github.com/swader/flyingpiranhas-mailer","last_synced_at":"2025-08-31T10:42:19.851Z","repository":{"id":6534293,"uuid":"7775485","full_name":"Swader/flyingpiranhas-mailer","owner":"Swader","description":"The mailer component of the FlyingPiranhas wireframework","archived":false,"fork":false,"pushed_at":"2013-02-06T12:49:27.000Z","size":156,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-11T20:03:16.579Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Swader.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-01-23T13:49:07.000Z","updated_at":"2013-04-09T12:16:48.000Z","dependencies_parsed_at":"2022-09-24T02:51:23.102Z","dependency_job_id":null,"html_url":"https://github.com/Swader/flyingpiranhas-mailer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Swader/flyingpiranhas-mailer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swader%2Fflyingpiranhas-mailer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swader%2Fflyingpiranhas-mailer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swader%2Fflyingpiranhas-mailer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swader%2Fflyingpiranhas-mailer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Swader","download_url":"https://codeload.github.com/Swader/flyingpiranhas-mailer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swader%2Fflyingpiranhas-mailer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272971422,"owners_count":25024093,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T13:52:42.798Z","updated_at":"2025-08-31T10:42:19.793Z","avatar_url":"https://github.com/Swader.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"###FlyingPiranhas Mailer library\n\n###This is not for any kind of use. It's just here for composer testing, and for development purposes. I'm still heavily working on this - it's actually a port of a library I already built before.\n\n####Introduction\nThe FlyingPiranhas mailer library is part of the [FlyingPiranhas](http://www.flyingpiranhas.net) wireframework. It helps [me](http://www.bitfalls.com) develop websites quickly and safely, so I thought I'd share it with the world. For more information on it and its authors, head over to the home page and read up.\n\n####Mailer\nThis is the _mailer_ library, meaning it focuses solely on advanced emailing functionality.\n\n####Usage\nBefore sending, you must call `Mailer::setDeveloperRecipient()` on the current instance of the Mailer class.\nThis is a safety measure - it enables sending. If you pass in an email as the parameter, that email will\noverride all recipients and receive emails instead of the originally intended ones. This is useful for testing\nbulk email functionality without quasi-spamming your users. To deactivate this measure, simply call the method\nwith no parameters.\n\nMailer supports \"express email\" functionality via the method expressMail.\nThis method requires an array containing \"to\" and \"body\", and optionally \"subject\" and \"from\".\nIf \"from\" is omitted, it should be provided via the static method `Mailer::setDefaultSender()`\nThe expressMail method works without a Repo by default, as long as you leave the second param\nat false. As soon as the second param is true, it will try to archive the sent email and will fail unless\nyou provide a Repo class for it to work with. It is important to note that the email still gets sent,\nonly the archiving fails with an exception.\n\nRegular email sending works via `Mailer::prepareEmail()`, but requires a Repo\nJust pass in the required params and call either `sendPreparedEmails` or `queuePreparedEmails`.\nSend will instantly send the email and archive it as sent. Queue will place it in the Repo queue\nfor later retrieval and sending. Once a queued email was sent, it is marked as such. For more info\nand demos, please see the homepage and in-depth documentation (coming soon).\n\n####Templates and demos\nApart from the main site, there's a default MySQL/MariaDB Repo in the /fp subfolder. There's also an SQL\nscript file there (and a workbench model), which you can use to build a MySQL/MariaDB Repo.\nInject the Repo into the Mailer class and you have a working MySQL Mailer implementation ready for use in any project.\nAlternatively, use the Repo class to build your own, and inject that one. As long as it implements the MailRepository\ninterface, it's all good.\nThere will also be a PostreSQL demo Repo soon in the same folder, ready for production use.\nNote that the current demo repos extend the adapters from fp/common.\n\nIt is recommended you keep a separate schema for the email database as it will make backups and restorations\nmuch simpler.\n\n####Requirements\n- Php 5.4+\n- Swift Mailer (add \"swiftmailer/swiftmailer\":\"v4.3.0\" (or higher) to your composer.json file's require block)\n- IMAP extension for checking when you've last sent an email to a specific person\n- flyingpiranhas/common\n\n####Installation\nYou can install the fpmailer library with composer. Just look for flyingpiranhas/mailer on packagist.org and add it to your composer.json file for a painless installation. You can also download a zip from github and just point a regular PSR autoloader at the folder, but composer is the preferred method since it allows us to easily update the library and fix bugs and loopholes people help us discover further down the road.\n\n####License\nSee LICENSE.md\n\n####Contributing\nThere's a lot of @todos in the code, so feel free to take a look and submit a pull request if you fix anything. Also, we desperately need tests written. There is only one rule: follow PSR-2 as much as possible. Use other classes as examples and keep the coding style consistent.\n\n####Contact\nWe're on [Twitter](http://www.twitter.com/wireframework) and I am on [Google plus](http://www.gplus.to/Swader) or at [my website](http://www.bitfalls.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswader%2Fflyingpiranhas-mailer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswader%2Fflyingpiranhas-mailer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswader%2Fflyingpiranhas-mailer/lists"}