Skip to content

Go(Echo)とMailHogを利用したシンプルなメール送信

Notifications You must be signed in to change notification settings

chalmeal/go-echo-mail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-echo-mail

Golang + Echo + SendMail(MailHog)

はじめに

本プロジェクトはGolangとEchoを利用したメール送信機能です。MailHogを利用してメール送信のテストを提供します。

構成

├── main.go
├── common
|    ├── db.go
|    └── response.go
├── config
|    ├── app.ini
|    ├── config.go
|    └── const.go
├── api
|   ├── routers.go
|   ├── support
|   |    └── mail_deliver.go
|   ├── validator
|   |    └── validator.go
|   └── handlers
|          └── mail_handlers.go
└── domain
      ├── historys
      |      ├── model.go
      |      ├── stores.go
      |      └── validations.go
      ├── mails
      |      ├── model.go
      |      ├── stores.go
      |      └── validations.go
      └── setup_data.go

ドキュメント

データ定義

テーブル名 概要
mails メールテーブル。ユーザーのメール情報を管理する。
historys メール送信履歴テーブル。送信したメールの履歴。

仕様

書名 概要
メール送信 メール送信機能について

セットアップ

DB

  • DBの環境は以下を想定します。
    • MySQL
    • GORM
  • create schemaのみ行う必要があります。DDL
  • app.iniに対してDB接続情報を定義してください。
  • テーブルはGORMが提供するAutoMigrateを利用します。
    • 各テーブルは初回API実行時に生成されます。
    • 本プロジェクトで定義されている詳細なデータ定義に関しては、各ドメインのdocを参照してください。

Docker

MailHogの利用にDockerを利用しています。Dockerの導入を行ってください。

アプリケーションスタート

アプリケーションのスタートはデバッガを推奨しています。

Run and DebugのRun go-echo-mailから実行してください。