mirror of
https://github.com/Jinnrry/PMail.git
synced 2025-02-20 11:43:09 +08:00
V2.4.8
增加根路径解析记录 * 修复139邮箱发件错误 --------- Co-authored-by: jinnrry <i@jinnrry.com>
This commit is contained in:
parent
496a742d20
commit
bebf8bc6ce
@ -19,6 +19,7 @@ require (
|
||||
golang.org/x/crypto v0.22.0
|
||||
golang.org/x/text v0.14.0
|
||||
modernc.org/sqlite v1.29.6
|
||||
xorm.io/builder v0.3.13
|
||||
xorm.io/xorm v1.3.9
|
||||
)
|
||||
|
||||
@ -50,5 +51,4 @@ require (
|
||||
modernc.org/memory v1.8.0 // indirect
|
||||
modernc.org/strutil v1.2.0 // indirect
|
||||
modernc.org/token v1.1.0 // indirect
|
||||
xorm.io/builder v0.3.13 // indirect
|
||||
)
|
||||
|
@ -26,6 +26,7 @@ func GetDNSSettings(ctx *context.Context) ([]*DNSItem, error) {
|
||||
ret := []*DNSItem{
|
||||
{Type: "A", Host: "smtp", Value: ip.GetIp(), TTL: 3600, Tips: i18n.GetText(ctx.Lang, "ip_taps")},
|
||||
{Type: "A", Host: "pop", Value: ip.GetIp(), TTL: 3600, Tips: i18n.GetText(ctx.Lang, "ip_taps")},
|
||||
{Type: "A", Host: "-", Value: ip.GetIp(), TTL: 3600, Tips: i18n.GetText(ctx.Lang, "ip_taps")},
|
||||
{Type: "MX", Host: "-", Value: fmt.Sprintf("smtp.%s", configData.Domain), TTL: 3600},
|
||||
{Type: "TXT", Host: "-", Value: "v=spf1 a mx ~all", TTL: 3600},
|
||||
{Type: "TXT", Host: "default._domainkey", Value: auth.DkimGen(), TTL: 3600},
|
||||
|
@ -174,7 +174,8 @@ func Send(ctx *context.Context, e *parsemail.Email) (error, map[string]error) {
|
||||
|
||||
// 使用其他方式发送
|
||||
if err != nil {
|
||||
if errors.Is(err, smtp.NoSupportSTARTTLSError) {
|
||||
// EOF 表示未知错误,此时降级为非tls连接发送(目前仅139邮箱有这个问题)
|
||||
if errors.Is(err, smtp.NoSupportSTARTTLSError) || err.Error() == "EOF" {
|
||||
err = smtp.SendMailWithTls("", domain.mxHost+":465", nil, e.From.EmailAddress, buildAddress(tos), b)
|
||||
if err != nil {
|
||||
log.WithContext(ctx).Warnf("Unsafe! %s Server Not Support SMTPS & STARTTLS", domain.domain)
|
||||
|
@ -34,6 +34,7 @@ import (
|
||||
)
|
||||
|
||||
var NoSupportSTARTTLSError = errors.New("smtp: server doesn't support STARTTLS")
|
||||
var EOFError = errors.New("EOF")
|
||||
|
||||
// A Client represents a client connection to an SMTP server.
|
||||
type Client struct {
|
||||
|
Loading…
x
Reference in New Issue
Block a user