From 8b8c866fd20607d844736e3474c650f466adc954 Mon Sep 17 00:00:00 2001 From: hsluoyz Date: Sat, 11 Feb 2023 15:59:23 +0800 Subject: [PATCH] feat: replace gomail and disable the Email username check for Mailtrap (#1538) --- go.mod | 4 +--- go.sum | 7 +++---- object/email.go | 6 +++++- web/src/Setting.js | 9 +++++++-- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/go.mod b/go.mod index 461a27da2a36..95b893c93264 100644 --- a/go.mod +++ b/go.mod @@ -11,12 +11,12 @@ require ( github.com/casbin/casbin/v2 v2.30.1 github.com/casbin/xorm-adapter/v3 v3.0.1 github.com/casdoor/go-sms-sender v0.5.1 + github.com/casdoor/gomail/v2 v2.0.1 github.com/casdoor/oss v1.2.0 github.com/dchest/captcha v0.0.0-20200903113550-03f5f0333e1f github.com/denisenkom/go-mssqldb v0.9.0 github.com/duo-labs/webauthn v0.0.0-20211221191814-a22482edaa3b github.com/forestmgy/ldapserver v1.1.0 - github.com/go-gomail/gomail v0.0.0-20160411212932-81ebce5c23df github.com/go-ldap/ldap/v3 v3.3.0 github.com/go-pay/gopay v1.5.72 github.com/go-sql-driver/mysql v1.5.0 @@ -46,8 +46,6 @@ require ( golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914 golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect - gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect - gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/square/go-jose.v2 v2.6.0 gopkg.in/yaml.v2 v2.3.0 // indirect diff --git a/go.sum b/go.sum index 12ff493fa6cb..52f1b05057ec 100644 --- a/go.sum +++ b/go.sum @@ -100,6 +100,8 @@ github.com/casbin/xorm-adapter/v3 v3.0.1 h1:0l0zkYxo6cNuIdrBZgFxlje1TRvmheYa/zIp github.com/casbin/xorm-adapter/v3 v3.0.1/go.mod h1:1BL7rHEDXrxO+vQdSo/ZaWKRivXl7YTos67GdMYcd20= github.com/casdoor/go-sms-sender v0.5.1 h1:1/Wp1OLkVAVY4lEGQhekSNetSAWhnPcxYPV7xpCZgC0= github.com/casdoor/go-sms-sender v0.5.1/go.mod h1:kBykbqwgRDXbXdMAIxmZKinVM1WjdqEbej5LAbUbcfI= +github.com/casdoor/gomail/v2 v2.0.1 h1:J+FG6x80s9e5lBHUn8Sv0Y56mud34KiWih5YdmudR/w= +github.com/casdoor/gomail/v2 v2.0.1/go.mod h1:VnGPslEAtpix5FjHisR/WKB1qvZDBaujbikxDe9d+2Q= github.com/casdoor/oss v1.2.0 h1:ozLAE+nnNdFQBWbzH8U9spzaO8h8NrB57lBcdyMUUQ8= github.com/casdoor/oss v1.2.0/go.mod h1:qii35VBuxnR/uEuYSKpS0aJ8htQFOcCVsZ4FHgHLuss= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -154,8 +156,6 @@ github.com/go-asn1-ber/asn1-ber v1.5.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkPro github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gomail/gomail v0.0.0-20160411212932-81ebce5c23df h1:Bao6dhmbTA1KFVxmJ6nBoMuOJit2yjEgLJpIMYpop0E= -github.com/go-gomail/gomail v0.0.0-20160411212932-81ebce5c23df/go.mod h1:GJr+FCSXshIwgHBtLglIg9M2l2kQSi6QjVAngtzI08Y= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-ldap/ldap/v3 v3.3.0 h1:lwx+SJpgOHd8tG6SumBQZXCmNX51zM8B1cfxJ5gv4tQ= @@ -270,6 +270,7 @@ github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uG github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/jarcoal/httpmock v0.0.0-20180424175123-9c70cfe4a1da h1:FjHUJJ7oBW4G/9j1KzlHaXL09LyMVM9rupS39lncbXk= github.com/jarcoal/httpmock v0.0.0-20180424175123-9c70cfe4a1da/go.mod h1:ks+b9deReOc7jgqp+e7LuFiCBH6Rm5hL32cLcEAArb4= github.com/jinzhu/configor v1.2.1 h1:OKk9dsR8i6HPOCZR8BcMtcEImAFjIhbJFZNyn5GCZko= github.com/jinzhu/configor v1.2.1/go.mod h1:nX89/MOmDba7ZX7GCyU/VIaQ2Ar2aizBl2d3JLF/rDc= @@ -789,8 +790,6 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EV gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df h1:n7WqCuqOuCbNr617RXOY0AWRXxgwEyPp2z+p0+hgMuE= -gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw= gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= diff --git a/object/email.go b/object/email.go index 1d34fbd35305..10aec0034935 100644 --- a/object/email.go +++ b/object/email.go @@ -19,7 +19,7 @@ package object import ( "crypto/tls" - "github.com/go-gomail/gomail" + "github.com/casdoor/gomail/v2" ) func getDialer(provider *Provider) *gomail.Dialer { @@ -45,6 +45,10 @@ func SendEmail(provider *Provider, title string, content string, dest string, se message.SetHeader("Subject", title) message.SetBody("text/html", content) + if provider.Type == "Mailtrap" { + message.SkipUsernameCheck = true + } + return dialer.DialAndSend(message) } diff --git a/web/src/Setting.js b/web/src/Setting.js index 61ee9ba40242..ad00f33d1a4d 100644 --- a/web/src/Setting.js +++ b/web/src/Setting.js @@ -118,8 +118,12 @@ export const OtherProviderInfo = { url: "", }, "SUBMAIL": { - logo: `${StaticBaseUrl}/img/social_submail.png`, - url: "", + logo: `${StaticBaseUrl}/img/social_submail.svg`, + url: "https://www.mysubmail.com", + }, + "Mailtrap": { + logo: `${StaticBaseUrl}/img/email_mailtrap.png`, + url: "https://mailtrap.io", }, }, Storage: { @@ -839,6 +843,7 @@ export function getProviderTypeOptions(category) { [ {id: "Default", name: "Default"}, {id: "SUBMAIL", name: "SUBMAIL"}, + {id: "Mailtrap", name: "Mailtrap"}, ] ); } else if (category === "SMS") {