{"id":24561916,"url":"https://github.com/toomore/mailbox","last_synced_at":"2025-04-19T16:46:42.404Z","repository":{"id":52375398,"uuid":"90523893","full_name":"toomore/mailbox","owner":"toomore","description":"📨 簡易電子報發送系統，使用 #Golang 實作，send campaign mail with open, click tracker.","archived":false,"fork":false,"pushed_at":"2024-12-22T17:06:18.000Z","size":444,"stargazers_count":27,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-22T17:34:15.887Z","etag":null,"topics":["alpine","csv","docker","email","go","golang","hacktoberfest","hacktoberfest2023","mailbox","mariadb","mysql","sendmail","server","ses","tracker","tracking"],"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/toomore.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-07T10:09:14.000Z","updated_at":"2024-12-22T17:05:22.000Z","dependencies_parsed_at":"2024-06-19T00:22:47.067Z","dependency_job_id":"45f9c651-a609-457a-8188-1c721c845774","html_url":"https://github.com/toomore/mailbox","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toomore%2Fmailbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toomore%2Fmailbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toomore%2Fmailbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toomore%2Fmailbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toomore","download_url":"https://codeload.github.com/toomore/mailbox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235253657,"owners_count":18960473,"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":["alpine","csv","docker","email","go","golang","hacktoberfest","hacktoberfest2023","mailbox","mariadb","mysql","sendmail","server","ses","tracker","tracking"],"created_at":"2025-01-23T08:46:30.743Z","updated_at":"2025-01-23T08:46:31.451Z","avatar_url":"https://github.com/toomore.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Mailbox  [![GitHub release](https://img.shields.io/github/release/toomore/mailbox.svg)](https://github.com/toomore/mailbox/releases) [![Build Status](https://travis-ci.org/toomore/mailbox.svg?branch=master)](https://travis-ci.org/toomore/mailbox) [![Coverage Status](https://coveralls.io/repos/github/toomore/mailbox/badge.svg)](https://coveralls.io/github/toomore/mailbox) [![license](https://img.shields.io/github/license/toomore/mailbox.svg)](https://github.com/toomore/mailbox/blob/master/LICENSE)\n=====================\n簡易電子報發送系統，使用 Golang 實作。建立發送 `campaign` 資訊、匯入訂閱者資訊（群組標記）、簡易發送系統、開信追蹤與連結點擊追蹤。\n\n以 docker container 運行。\n\nCmd\n----\n1. `mailbox campaign`：建立 `campaign`，包含產生該 `campaign` 的亂數種子。\n2. `mailbox user`：匯入訂閱者的資訊。\n3. `mailbox send`：發送電子報，以 **HTML** 格式發送。\n4. `mailbox server`：接收開信訊息。\n\n相關的操作請參考 `-h` 的說明，或 [cmd/docs](cmd/docs/mailbox.md)\n\nBuild Docker Image\n-------------------\n### `toomore/mailbox:base`\n將基本的程式碼放入，相關的套件也一併下載。\n\n    sh ./build-base.sh\n\n### `toomore/mailbox:cmd`\n只將編譯過的 `cmd` 程式放入。\n\n    sh ./build-min.sh;\n\nRequired\n---------\n1. AWS SES `KEY`, `Token`.\n2. Update `./Makefile run_cmd`, `./dev-run-cmd.sh` files.\n    1. `mailbox_ses_key`：AWS SES KEY\n    2. `mailbox_ses_token`：AWS SES Token\n    3. `mailbox_ses_sender`：發送者的 `email`。如：`Toomore Chiang \u003ctoomore0929@gmail.com\u003e`.\n    4. `mailbox_web_site`：接收開信網址，不包含 `https` 與結尾。如：`open.example.com`.\n    5. `mailbox_ses_replyto`: (選擇) 回信時的信箱。\n3. Nginx\n\nNginx config\n-------------\n需加入以下資訊到網域設定檔。\n\n    proxy_set_header X-Real-IP $remote_addr;\n    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    proxy_set_header X-Args $query_string;\n    proxy_set_header X-Uri $uri;\n\nRun\n----\nInto container\n\n    make run_cmd\n\nSupport bash-completion\n\n    mailbox [tab][tab]\n    campaign  send      server    user\n\n... and pretty help (using [spf13/cobra](https://github.com/spf13/cobra))\n\n    mailbox -h\n\nImport User data from csv\n--------------------------\n匯入訂閱者資訊的 csv 檔案，檔案內需包含 `email`, `groups`, `f_name`, `l_name` 欄位。\n\n    mailbox user import ./list.csv\n\n可以使用 `-d` 來預覽資料讀取狀況\n\n    mailbox user import ./list.csv -d\n    ...\n\nTemplate Replace\n-----------------\n利用 `mailbox send -p [HTML path]` 時，可以在指定的 HTML 檔案中放入可被替換參數。\n\n- `{{FNAME}}`：訂閱者的 `first name`\n- `{{LNAME}}`：訂閱者的 `last name`\n- `{{READER}}`：放置開信追蹤連結。例：`\u003cimg src=\"{{READER}}\"\u003e`\n- `{{WASHI}}...{{/WASHI}}`：放置點擊後才替換的參數。例：`{{WASHI}}http://example.com/?lname={{LNAME}}{{/WASHI}}`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoomore%2Fmailbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoomore%2Fmailbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoomore%2Fmailbox/lists"}