Pigeons Mail

Motivation

For organizations or activity holders, there are frequent needs to send a larger number of emails with a similar format to members or participants. However, sometimes PR wants to customize mail contents according to the receiver's personal information (e.g. name, student id, etc), so they have to send the emails one by one. To deal with the problem, we decide to build an automatic email sending service and share the service with others.

Service

Login

  • Sign up
  • Login
    • Username and Password
    • Google Account

Editor Page

  1. Choose an email account as email-sender

  1. Upload an excel file with receiver information

  1. Add tags to email
  • Tag content will be copied to clipborad when a tag is clicked.
  • Recipients, cc, bcc: Add tags through plus button

  • Subject, Email content: simply paste (ctrl+v, cmd+v, etc)

  1. Content will be saved automatically afted sending

  1. Received mail

  1. Add new mail or use the old one as template

Frontend

Environment

  • OS: MacOS, Ubuntu, Vercel
  • Latest version of React
  • npm 6.14.4

Packages

Deployment

You have three options, two stable versions along with one beta version

Prerequisition

  1. Get a google login api credential. (see here for more details)
  2. Replace the clientId with your own id
  3. Setup rediredtUrl with the domain you are going to use
  4. Make sure you are using https

MacOS, Ubuntu

  1. Make sure the web server is availabe

  2. Clone the repo

git clone https://github.com/hc07180011/auto-mail.git
cd frontend/
  1. Install dependencies
yarn
  1. Build the service
yarn build
  1. Deploy on a server
cp -r build/* ${webServerBaseDir}/
  1. Register an account

  2. Follow the instructions and enjoy! 🎉

Beta: desktop app (electron.js)

  1. Clone the repo
git clone https://github.com/hc07180011/auto-mail.git
cd frontend/
  1. Install dependencies
npm install
  1. Build the application
npm run build
npm run build-app
  1. Open the app generated by electron.js

Backend

Environment

Packages

Deployment

You have two options.

Prerequisition

  1. Visit MongoDB Atlas official website and create a cluster
  2. Keep the login url, which is going to be used later
  3. Change the redirectUrl to the domain you want to use
  4. Change clientId and clientSecret to your GCP keys

Ubuntu

  1. Clone the repo
git clone https://github.com/hc07180011/auto-mail.git
cd backend/
  1. Install dependencies
npm install
  1. Start the service
npm run server
  1. Register an account

  2. Follow the instructions and enjoy! 🎉

Contribution

  • 趙允祥, B06902017, CSIE, NTU
    • Frontend: welcome page, API template
    • Backend: MongoDB, Node.js, API
    • Deployment
  • 邱于賓, B06902096, CSIE, NTU
    • Frontend: Flow tesing, UI optimization
    • Backend: API testing
  • 陳彥 , B06902047, CSIE, NTU
    • Frontend: UI tesing, packages research
    • Backend: API testing

外掛

  • 陳若婕, B08902009, CSIE, NTU
    • Design an original logo for us
    • Because our group members have no art talent

Website Link