mirror of
https://github.com/hrfee/jfa-go.git
synced 2024-12-22 09:00:10 +00:00
email: use proxy for mailgun, too
adds proxy transport to the http.Client in the mailgun api client.
This commit is contained in:
parent
6308db495a
commit
a52dd26ec6
9
email.go
9
email.go
@ -10,6 +10,7 @@ import (
|
|||||||
"html/template"
|
"html/template"
|
||||||
"io"
|
"io"
|
||||||
"io/fs"
|
"io/fs"
|
||||||
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
@ -99,7 +100,7 @@ func NewEmailer(app *appContext) *Emailer {
|
|||||||
app.err.Printf(lm.FailedInitSMTP, err)
|
app.err.Printf(lm.FailedInitSMTP, err)
|
||||||
}
|
}
|
||||||
} else if method == "mailgun" {
|
} else if method == "mailgun" {
|
||||||
emailer.NewMailgun(app.config.Section("mailgun").Key("api_url").String(), app.config.Section("mailgun").Key("api_key").String())
|
emailer.NewMailgun(app.config.Section("mailgun").Key("api_url").String(), app.config.Section("mailgun").Key("api_key").String(), app.proxyTransport)
|
||||||
} else if method == "dummy" {
|
} else if method == "dummy" {
|
||||||
emailer.sender = &DummyClient{}
|
emailer.sender = &DummyClient{}
|
||||||
}
|
}
|
||||||
@ -201,10 +202,14 @@ type Mailgun struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewMailgun returns a Mailgun emailClient.
|
// NewMailgun returns a Mailgun emailClient.
|
||||||
func (emailer *Emailer) NewMailgun(url, key string) {
|
func (emailer *Emailer) NewMailgun(url, key string, transport *http.Transport) {
|
||||||
sender := &Mailgun{
|
sender := &Mailgun{
|
||||||
client: mailgun.NewMailgun(strings.Split(emailer.fromAddr, "@")[1], key),
|
client: mailgun.NewMailgun(strings.Split(emailer.fromAddr, "@")[1], key),
|
||||||
}
|
}
|
||||||
|
if transport != nil {
|
||||||
|
cli := sender.client.Client()
|
||||||
|
cli.Transport = transport
|
||||||
|
}
|
||||||
// Mailgun client takes the base url, so we need to trim off the end (e.g 'v3/messages')
|
// Mailgun client takes the base url, so we need to trim off the end (e.g 'v3/messages')
|
||||||
if strings.Contains(url, "messages") {
|
if strings.Contains(url, "messages") {
|
||||||
url = url[0:strings.LastIndex(url, "/")]
|
url = url[0:strings.LastIndex(url, "/")]
|
||||||
|
Loading…
Reference in New Issue
Block a user