Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/toomore/mailbox
📨 簡易電子報發送系統,使用 #Golang 實作,send campaign mail with open, click tracker.
https://github.com/toomore/mailbox
alpine csv docker email go golang hacktoberfest hacktoberfest2023 mailbox mariadb mysql sendmail server ses tracker tracking
Last synced: 10 days ago
JSON representation
📨 簡易電子報發送系統,使用 #Golang 實作,send campaign mail with open, click tracker.
- Host: GitHub
- URL: https://github.com/toomore/mailbox
- Owner: toomore
- License: mit
- Created: 2017-05-07T10:09:14.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-12-22T17:06:18.000Z (about 1 month ago)
- Last Synced: 2024-12-22T17:34:15.887Z (about 1 month ago)
- Topics: alpine, csv, docker, email, go, golang, hacktoberfest, hacktoberfest2023, mailbox, mariadb, mysql, sendmail, server, ses, tracker, tracking
- Language: Go
- Homepage:
- Size: 434 KB
- Stars: 27
- Watchers: 3
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
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)
=====================
簡易電子報發送系統,使用 Golang 實作。建立發送 `campaign` 資訊、匯入訂閱者資訊(群組標記)、簡易發送系統、開信追蹤與連結點擊追蹤。以 docker container 運行。
Cmd
----
1. `mailbox campaign`:建立 `campaign`,包含產生該 `campaign` 的亂數種子。
2. `mailbox user`:匯入訂閱者的資訊。
3. `mailbox send`:發送電子報,以 **HTML** 格式發送。
4. `mailbox server`:接收開信訊息。相關的操作請參考 `-h` 的說明,或 [cmd/docs](cmd/docs/mailbox.md)
Build Docker Image
-------------------
### `toomore/mailbox:base`
將基本的程式碼放入,相關的套件也一併下載。sh ./build-base.sh
### `toomore/mailbox:cmd`
只將編譯過的 `cmd` 程式放入。sh ./build-min.sh;
Required
---------
1. AWS SES `KEY`, `Token`.
2. Update `./Makefile run_cmd`, `./dev-run-cmd.sh` files.
1. `mailbox_ses_key`:AWS SES KEY
2. `mailbox_ses_token`:AWS SES Token
3. `mailbox_ses_sender`:發送者的 `email`。如:`Toomore Chiang `.
4. `mailbox_web_site`:接收開信網址,不包含 `https` 與結尾。如:`open.example.com`.
5. `mailbox_ses_replyto`: (選擇) 回信時的信箱。
3. NginxNginx config
-------------
需加入以下資訊到網域設定檔。proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Args $query_string;
proxy_set_header X-Uri $uri;Run
----
Into containermake run_cmd
Support bash-completion
mailbox [tab][tab]
campaign send server user... and pretty help (using [spf13/cobra](https://github.com/spf13/cobra))
mailbox -h
Import User data from csv
--------------------------
匯入訂閱者資訊的 csv 檔案,檔案內需包含 `email`, `groups`, `f_name`, `l_name` 欄位。mailbox user import ./list.csv
可以使用 `-d` 來預覽資料讀取狀況
mailbox user import ./list.csv -d
...Template Replace
-----------------
利用 `mailbox send -p [HTML path]` 時,可以在指定的 HTML 檔案中放入可被替換參數。- `{{FNAME}}`:訂閱者的 `first name`
- `{{LNAME}}`:訂閱者的 `last name`
- `{{READER}}`:放置開信追蹤連結。例:``
- `{{WASHI}}...{{/WASHI}}`:放置點擊後才替換的參數。例:`{{WASHI}}http://example.com/?lname={{LNAME}}{{/WASHI}}`