/* diodemail - send-only smtp server * Copyright (c) 2024 Gnarwhal * * This file is part of diodemail. * * diodemail is free software: you can redistribute it and/or modify it under the terms of * the GNU General Public License as published by the Free Software Foundation, * either version 3 of the License, or (at your option) any later version. * * diodemail is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * diodemail. If not, see . */ package smtp import ( "fmt" "regexp" ) var ReversePath = regexp.MustCompile(fmt.Sprintf("(?:%v)|<()>", path)) var ForwardPath = regexp.MustCompile(path) var Domain = regexp.MustCompile(fmt.Sprintf(".+@(%v)", domain)) // https://datatracker.ietf.org/doc/html/rfc5321#page-41 // Is this...legal, m'lord? (no, but ¯\_(ツ)_/¯) // ... // What? You want more? Nope. That is all you get. 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\\-]")