添加邮件发送sdk
This commit is contained in:
parent
45616c93cd
commit
cb0730aebd
50
services/mail/client.go
Normal file
50
services/mail/client.go
Normal file
@ -0,0 +1,50 @@
|
||||
package mail
|
||||
|
||||
import (
|
||||
"crypto/md5"
|
||||
"fmt"
|
||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk"
|
||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
VERSION = "2021-09-27"
|
||||
)
|
||||
|
||||
var HOST requests.Host = requests.Host{
|
||||
Default: "mail.gaore.com",
|
||||
Func: func(s string) string {
|
||||
var a = map[string]string{
|
||||
requests.RELEASE: "mail.gaore.com",
|
||||
requests.PRE: "mail.gaore.com",
|
||||
requests.TEST: "mail.gaore.com",
|
||||
}
|
||||
return a[s]
|
||||
},
|
||||
}
|
||||
|
||||
type Client struct {
|
||||
sdk.Client
|
||||
}
|
||||
|
||||
func NewClient() (client *Client) {
|
||||
client = &Client{}
|
||||
client.InitWithAccessKey("", "", "")
|
||||
return
|
||||
}
|
||||
|
||||
func (c *Client) SendEmail(req *PostEmailRequest) (response *PostEmailResponse, err error) {
|
||||
|
||||
now := time.Now().Second()
|
||||
key := "04573fc4c8e01999a0909ab9c00bca5a"
|
||||
signstr := fmt.Sprintf("%d%s", now, key)
|
||||
data := []byte(signstr)
|
||||
has := md5.Sum(data)
|
||||
sign := fmt.Sprintf("%x", has)
|
||||
req.Time = now
|
||||
req.Sign = sign
|
||||
response = CreatePostEmailResponse()
|
||||
err = c.DoAction(req, response)
|
||||
return
|
||||
}
|
22
services/mail/client_test.go
Normal file
22
services/mail/client_test.go
Normal file
@ -0,0 +1,22 @@
|
||||
package mail
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestClient_GetUserInfo(t *testing.T) {
|
||||
c := NewClient()
|
||||
req := CreatePostEmailRequest()
|
||||
req.Addresses = "3002467428@qq.com"
|
||||
req.Body = "1111"
|
||||
req.FromName = "213123121"
|
||||
req.SetReadTimeout(60 * time.Second)
|
||||
resp, err := c.SendEmail(req)
|
||||
|
||||
fmt.Println(req)
|
||||
fmt.Println(resp.GetHttpContentString())
|
||||
fmt.Println(err)
|
||||
|
||||
}
|
36
services/mail/end_email.go
Normal file
36
services/mail/end_email.go
Normal file
@ -0,0 +1,36 @@
|
||||
package mail
|
||||
|
||||
import (
|
||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
|
||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses"
|
||||
)
|
||||
|
||||
type PostEmailRequest struct {
|
||||
*requests.RpcRequest
|
||||
Addresses string `position:"Body" field:"addresses" default:"" `
|
||||
Subject string `position:"Body" field:"subject" default:"" `
|
||||
Body string `position:"Body" field:"body" default:""`
|
||||
FromName string `position:"Body" field:"fromName" default:""`
|
||||
Time int `position:"Body" field:"time" default:""`
|
||||
Sign string `position:"Body" field:"sign" default:""`
|
||||
}
|
||||
|
||||
type PostEmailResponse struct {
|
||||
*responses.BaseResponse
|
||||
}
|
||||
|
||||
func CreatePostEmailRequest() (req *PostEmailRequest) {
|
||||
req = &PostEmailRequest{
|
||||
RpcRequest: &requests.RpcRequest{},
|
||||
}
|
||||
req.InitWithApiInfo(HOST, VERSION, "/email/post_email.php")
|
||||
req.Method = requests.POST
|
||||
return
|
||||
}
|
||||
|
||||
func CreatePostEmailResponse() (response *PostEmailResponse) {
|
||||
response = &PostEmailResponse{
|
||||
BaseResponse: &responses.BaseResponse{},
|
||||
}
|
||||
return
|
||||
}
|
Loading…
Reference in New Issue
Block a user