Better parsing and 8BITMIME + SMTPUTF8 support
This commit is contained in:
parent
2b700ae192
commit
83f4fbde7f
2 changed files with 10 additions and 3 deletions
|
@ -67,7 +67,9 @@ func Helo(smtp_session *SMTPSession, message string) (bool, error) {
|
|||
func Ehlo(smtp_session *SMTPSession, message string) (bool, error) {
|
||||
err := smtp_session.Write(
|
||||
fmt.Sprintf(
|
||||
"250 %v is shy" + "\r\n",
|
||||
"250-%v is shy" + "\r\n" +
|
||||
"250-8BITMIME" + "\r\n" +
|
||||
"250 SMTPUTF8" + "\r\n",
|
||||
smtp_session.GetHost(),
|
||||
),
|
||||
)
|
||||
|
|
|
@ -25,10 +25,15 @@ import (
|
|||
|
||||
var ReversePath = regexp.MustCompile(fmt.Sprintf("(?:%v)|<>", path))
|
||||
var ForwardPath = regexp.MustCompile(path)
|
||||
var Domain = regexp.MustCompile("\\w+@(\\w+(?:\\.\\w+)*)")
|
||||
var Domain = regexp.MustCompile(fmt.Sprintf(".+@(%v)", domain))
|
||||
|
||||
// https://datatracker.ietf.org/doc/html/rfc5321#page-41
|
||||
// Is this...legal, m'lord? (no, but ¯\_(ツ)_/¯)
|
||||
// ...
|
||||
// Ok fine. TODO. Happy now?
|
||||
var path = "<(?:.*:)?(\\w+@\\w+(?:\\.\\w+)*)>"
|
||||
var path = fmt.Sprintf("<(?:.*:)?(.+@%v)", domain)
|
||||
var domain = fmt.Sprintf("%v(?:.%v)*", sub_domain, sub_domain)
|
||||
var sub_domain = fmt.Sprintf("%v(?:%v)?", let_dig, let_str)
|
||||
var let_str = fmt.Sprintf("%v*%v", let_dig_und, let_dig)
|
||||
var let_dig = fmt.Sprintf("[\\pL\\d]")
|
||||
var let_dig_und = fmt.Sprintf("[\\pL\\d\\-]")
|
||||
|
|
Loading…
Add table
Reference in a new issue