{"id":20556642,"url":"https://github.com/clevertech/yiises","last_synced_at":"2025-04-14T13:08:20.788Z","repository":{"id":4318026,"uuid":"5451967","full_name":"clevertech/YiiSES","owner":"clevertech","description":null,"archived":false,"fork":false,"pushed_at":"2012-09-09T20:10:48.000Z","size":1105,"stargazers_count":21,"open_issues_count":1,"forks_count":5,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-03-28T02:12:34.814Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clevertech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-08-17T12:31:22.000Z","updated_at":"2020-07-25T08:23:29.000Z","dependencies_parsed_at":"2022-09-09T23:02:41.358Z","dependency_job_id":null,"html_url":"https://github.com/clevertech/YiiSES","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clevertech%2FYiiSES","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clevertech%2FYiiSES/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clevertech%2FYiiSES/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clevertech%2FYiiSES/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clevertech","download_url":"https://codeload.github.com/clevertech/YiiSES/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248886316,"owners_count":21177643,"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","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-16T03:31:03.431Z","updated_at":"2025-04-14T13:08:20.555Z","avatar_url":"https://github.com/clevertech.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YiiSES\nThe easiest way to provide bulk email services in your applications.\n\n### Overview\n\n***YiiSES*** is a 'nearly' ready to use module that provides our Yii applications with a powerful mail marketing tool.\n\nThe system makes use of **[Amazon Simple Email Service (Amazon SES)](http://aws.amazon.com/ses/)**, chosen for its highly [reduced price](http://aws.amazon.com/ses/pricing/), scalability and features. A developer can easily register and use its service at no charge. The only issue is that the developer will only be able to send to verified email addresses only.\n\nThis module has been ported to Open Source from one of the projects at [Clevertech](http://clevertech.biz) and we are very happy with its results so far.\n\n### Install\nEven though there was some good effort to make it easy to install, its configuration is a bit tricky. We hope this will change with a bit of help from the community.\n\nWithin the code you will find two types of configurations, one to be used with \u001b[YiiBoilerplate](http://github.com/clevertech/YiiBoilerplate) project structure (default), and the other when we install the module on a Yii's default application structure.\n\nThe following instructions are to install the module on a Yii's default application structure.\n\n#### Configuration\n* Create your web application `./yiic webapp \u003cfolder\u003e`\n* Create your **modules** folder under **protected** and unpack the module there\n* Place **commands\\CampaignCommand.php** on your commands directory and **ses\\migrations\\..** on the migrations directory. \n* Configure your **config\\main.php** and **config\\console.php** configuration files (make sure your db is setup correctly -*migrations will only work on mySQL db*):  \n\n\t``` \n\t// console.php\n\t…\n\t// urlManager must be the same configuration as on main.php\n\t'urlManager' =\u003e array(\n\t\t// remember to have your .htaccess setup correctly\n\t\t'urlFormat' =\u003e 'path',\n\t\t'showScriptName' =\u003e false,\n\t\t'urlSuffix' =\u003e '/',\n\t\t'rules'=\u003earray(\n\t\t\t'\u003ccontroller:\\w+\u003e/\u003cid:\\d+\u003e'=\u003e'\u003ccontroller\u003e/view',\n\t\t\t'\u003ccontroller:\\w+\u003e/\u003caction:\\w+\u003e/\u003cid:\\d+\u003e'=\u003e'\u003ccontroller\u003e/\u003caction\u003e',\n\t\t\t'\u003ccontroller:\\w+\u003e/\u003caction:\\w+\u003e'=\u003e'\u003ccontroller\u003e/\u003caction\u003e',\n\t\t),\t\n\t),\n\t// request is required to create appropriate urls within the emails\n\t// when processed with the CampaignCommand.php\n\t'request' =\u003e array(\n\t)\n\t…\n\t\n\t// main.php\n\t…\n\t'modules' =\u003e array(\n\t\t'ses'=\u003earray(\n\t\t\t'password'=\u003e'clevertech',\n\t\t),\n\t),\n\t…\t\n\t// urlManager must be the same configuration as on main.php\n\t'urlManager' =\u003e array(\n\t\t// remember to have your .htaccess setup correctly\n\t\t'urlFormat' =\u003e 'path',\n\t\t'showScriptName' =\u003e false,\n\t\t'urlSuffix' =\u003e '/',\n\t\t'rules'=\u003earray(\n\t\t\t'\u003ccontroller:\\w+\u003e/\u003cid:\\d+\u003e'=\u003e'\u003ccontroller\u003e/view',\n\t\t\t'\u003ccontroller:\\w+\u003e/\u003caction:\\w+\u003e/\u003cid:\\d+\u003e'=\u003e'\u003ccontroller\u003e/\u003caction\u003e',\n\t\t\t'\u003ccontroller:\\w+\u003e/\u003caction:\\w+\u003e'=\u003e'\u003ccontroller\u003e/\u003caction\u003e',\n\t\t),\t\n\t),\t\n\t…\n\t'params'=\u003e array(\n\t\t'ses.aws.key'=\u003e'',\n\t…\n\t\n\t...\n\t```\n* Setup required parameters on your configuration files (must be shared among console.php and main.php):\n\t* **ses.aws.key**: Your [Amazon SES API Key](http://aws.amazon.com/documentation/ses/)\n\t* **ses.aws.secret**: Your Amazon SES Secret\n\t* **ses.aws.verifiedEmail**: You are required to verify at least one email address on Amazon SES console in order to send emails \n\t* **ses.aws.test.email**: Email where to send *test* emails. If your account is not in production, then this email should be also verified on Amazon SES console.\n\t* **ses.emailonacid.key**: If you wish to preview and test your emails on [EmailOnAcid](http://www.emailonacid.com) service, you have to configure your API key here.\n\t* **ses.emailonacid.pwd**: Your password to access [EmailOnAcid](http://www.emailonacid.com) service for testing and previewing your emails.\n\t* **ses.files.path**: Set this parameter in order to make use of the image upload capabilities of [RedactorJS](http://redactorjs.com/), our chosen WYSIWYG editor for the module.\n\t* **ses.files.url**: Required to display the thumbnail gallery of [RedactorJS](http://redactorjs.com/).\n\t* **ses.panel.login.url**: The Route to the control panel. This parameter is required at the unsubscribe form. If somebody tries to remove an email from a registered user, then it will be presented with the link created from this route, to inform that he should log into its panel in order to unsubscribe. \n\t* **ses.from.name**: Your application name. Will be included in the Emails From Name (ie.\"My Application \u003cverified email address\u003e\" )\n\t\n* Make sure your paths are correctly set:\n\t* CampaignCommand.php::init() **- line  74**\n\t* CampaignCommand.php::sendEmail() **- line 376**\n\t* models\\Email.php::formatHTMLMessage() **- line 136**\n\t* models\\Template.php::getView **- line 65**  \n* Run migrations `./yiic migrate` from your command line prompt.\n\n####The User table and Model\nOne important part of the configuration is how you deal with the subscribers. The module works by default with the assumptions that your application has a **User** model with **id, email, and username, subscribed** attributes. \n\nThe module comes with a single field for campaign that configures whether to send to subscribers or not but you can easily change that behavior to match different fields or subscription option from your registered members *-but this is something that I won't explain here :)*.\n\n###Requirements\n- [EPHPThumb](http://www.yiiframework.com/extension/ephpthumb)\n- [SES Component](https://github.com/zshannon/Amazon-Simple-Email-Service-PHP)  \n- [YiiBootstrap](http://www.yiiframework.com/extension/bootstrap)  \n- [HighCharts](http://www.highcharts.com/)  \n- [RedactorJS](http://www.redactorjs.com/)\n\n###License  \n[![License](http://i.creativecommons.org/l/by-sa/3.0/88x31.png)](http://creativecommons.org/licenses/by-sa/3.0/)  \nThis work is licensed under a [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/)  \n\n====\n\n\u003e [![Clevertech](http://clevertech.biz/images/slir/w54-h36-c54:36/images/site/index/home/clevertech-logo.png)](http://www.clevertech.biz)    \nwell-built beautifully designed web applications  \n[www.clevertech.biz](http://www.clevertech.biz)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclevertech%2Fyiises","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclevertech%2Fyiises","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclevertech%2Fyiises/lists"}