{"id":17179115,"url":"https://github.com/flashmob/maildiranasaurus","last_synced_at":"2025-04-13T17:11:53.900Z","repository":{"id":57531053,"uuid":"81281794","full_name":"flashmob/maildiranasaurus","owner":"flashmob","description":"MailDiranasourus is using go-guerrilla as a package to save emails to MailDir","archived":false,"fork":false,"pushed_at":"2018-05-30T00:29:17.000Z","size":94,"stargazers_count":30,"open_issues_count":0,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T08:01:57.901Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flashmob.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-08T03:10:31.000Z","updated_at":"2025-01-18T22:31:38.000Z","dependencies_parsed_at":"2022-09-05T10:50:27.946Z","dependency_job_id":null,"html_url":"https://github.com/flashmob/maildiranasaurus","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/flashmob%2Fmaildiranasaurus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flashmob%2Fmaildiranasaurus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flashmob%2Fmaildiranasaurus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flashmob%2Fmaildiranasaurus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flashmob","download_url":"https://codeload.github.com/flashmob/maildiranasaurus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248750109,"owners_count":21155687,"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-10-15T00:24:53.462Z","updated_at":"2025-04-13T17:11:53.876Z","avatar_url":"https://github.com/flashmob.png","language":"Go","readme":"Project status: Maildiranasaurus has hatched! \n\nQ: Why did the dinosaur cross the road?\n\nA: Because the chicken wasn't invented yet. •ᴗ•\n\n\n[![Build Status](https://travis-ci.org/flashmob/maildiranasaurus.svg?branch=master)](https://travis-ci.org/flashmob/maildiranasaurus)\n\n\n# Maildiranasaurus\n\n![Dino](/dino.png)\n\n## RoaaaarrrRRRRR!\n\nThis started as a project to get an insight into using [go-guerrilla](https://github.com/flashmob/go-guerrilla) as a package.\n\nIt is uses go-guerrilla with an Maildir backend. See [serve.go](https://github.com/flashmob/maildiranasaurus/blob/master/cmd/maildiranasaurus/serve.go) how the Maildir processor was added!\n\nThe Maildir processor repo lives here: https://github.com/flashmob/maildir-processor\n\n## Building\n\nYou'll need GNU make and Go installed\n\n     $ make dependencies\n     $ make maildirasaurus\n\n## Running\n\ncopy maildiranasaurus.conf.sample to maildiranasaurus.conf\ncustomize it to how you like it, then:\n\n`./maildiranasaurus serve`\n\n## Config\n\nCustomize your config as outlined in the readme: https://github.com/flashmob/go-guerrilla \n\n#### Maildir\n\nTo enable maildir, customize your backend_config like so:\n\n    \"backend_config\" :\n    {\n        \"save_process\": \"HeadersParser|Debugger|Hasher|Header|MailDir\",\n        \"validate_process\": \"MailDir\",\n        \"maildir_user_map\" : \"test=1002:2003,guerrilla=1001:1001,flashmob=1000:1000\",\n        \"maildir_path\" : \"/home/[user]/Maildir\",\n        \"save_workers_size\" : 1,\n        \"primary_mail_host\":\"sharklasers.com\",\n        \"log_received_mails\" : false\n    },\n    \n`save_process` - configures the _processors_ which work on saving the email envelope. \nWorking from left to right, i.e. in the end, mail will be saved using the MailDir processor\n\n`validate_process` - same as `save_process`, however these do validation of recipients\n\n`maildir_user_map` - user settings. `\u003cusername\u003e=\u003cuser id\u003e:\u003cgroup id\u003e` comma separated. Use -1 for `\u003cid\u003e` \u0026 `\u003cgroup\u003e` if you want to ignore these, otherwise get these numbers from /etc/passwd\n\n`maildir_path` - the `[user]` part will be replaced with with the actual user from maildir_user_map once the config is loaded. Usually, no need to change this as the default is conventional. \n\n`save_workers_size` - how many dinosaur workers to spawn. Roaaaar!\n\n#### Fast CGI (fcgi)\n\nFastCGI you say? Yes, an example of the FastCGI processor is included too.\nUseful if you want to deliver your emails to a php script (or other fcgi gateway)\n\nInclude the following fields in the \"backend_config\" object:\n\n\n    \"backend_config\" :\n    {\n    \n        \"save_process\": \"HeadersParser|Debugger|Hasher|Header|MailDir|FastCGI\",\n        \"validate_process\" : \"MailDir|FastCGI\",\n    \n        // [other fields here]\n    \n        \"fcgi_script_filename_save\" : \"/path/to/fastcgi-processor/examples/save.php\",\n        \"fcgi_script_filename_validate\" : \"/path/to/fastcgi-processor/examples/validate.php\",\n        \"fcgi_connection_type\" : \"unix\",\n        \"fcgi_connection_address\" : \"/path/to/php7.0-fpm.sock\"\n    },\n    \n`fcgi_script_filename_save` - path to save script file.\n    \n`fcgi_script_filename_validate` - path to validate file.\n    \n`fcgi_connection_type` - connection type, unix or tcp\n    \n`fcgi_connection_address` - path to the unix socket, or \u003cip-address\u003e:\u003cport\u003e\n\nFor scripting details, read more documentation about it here [FastCGI processor](https://github.com/flashmob/fastcgi-processor)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflashmob%2Fmaildiranasaurus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflashmob%2Fmaildiranasaurus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflashmob%2Fmaildiranasaurus/lists"}