https://github.com/dwarvesf/x
A storage for dwarvesf's extensions that being used in internal and external projects
https://github.com/dwarvesf/x
Last synced: about 1 year ago
JSON representation
A storage for dwarvesf's extensions that being used in internal and external projects
- Host: GitHub
- URL: https://github.com/dwarvesf/x
- Owner: dwarvesf
- License: mit
- Created: 2017-03-08T08:29:58.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-10-25T13:34:22.000Z (over 8 years ago)
- Last Synced: 2024-06-20T19:19:22.604Z (almost 2 years ago)
- Language: Go
- Size: 10.7 KB
- Stars: 4
- Watchers: 5
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# x
A mining storage for dwarvesf's extensions that being used in internal and external projects.
# Services
Currently services provided:
- [x] Emailer
- Mandrill
- Mailgun
- Sendgrid
- [ ] Notifier
- FCM
- GCM
# How to use
The mechanism of using this lib is very simple. It uses driver pattern (somehow like `database/sql` in Go source).
For example, to use Sendgrid as the mail provider:
- Setup the environment SENDGRID_API_ID and SENDGRID_API_KEY
- Register by blank import `import _ "github.com/dwarvesf/x/emailer/driver/sendgrid"`
- Open provider sendgrid
```
sendgrid, err := emailer.UseProvider("sendgrid")
if err != nil {
}
```
- Config the message:
```
var message = &emailer.Message{
To: "xxx@gmail.com",
From: "yyy@dwarvesf.com",
Subject: "test",
Text: "test",
}
```
- Send: `sendgrid.Send(message)`
Every provider else works as the way like that.
# Contribution
* Fork it!
* Create your feature branch (for example FCM):
```
$ git checkout -b feature/fcm
```
* Write your function to implement the Notifier interface
* Commit your changes:
```
$ git commit -am "Add implementation FCM"
```
* Push to the branch:
```
$ git push origin feature/fcm
```
* Submit your pull request
# License
Copyright 2016 Dwarves Foundation
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.