This commit is contained in:
Ian Kent 2017-04-16 20:17:58 +01:00
parent 286e8f43f1
commit d4927bc7e6
No known key found for this signature in database
GPG key ID: CE5AC689AF520A48
4 changed files with 38 additions and 31 deletions

View file

@ -165,7 +165,9 @@ func (m *SMTPMessage) Bytes() io.Reader {
// FromBytes returns a SMTPMessage from raw message bytes (as output by SMTPMessage.Bytes())
func FromBytes(b []byte) *SMTPMessage {
msg := &SMTPMessage{}
var headerDone bool
for _, l := range strings.Split(string(b), "\n") {
if !headerDone {
if strings.HasPrefix(l, "HELO:<") {
l = strings.TrimPrefix(l, "HELO:<")
l = strings.TrimSuffix(l, ">\r")
@ -184,6 +186,11 @@ func FromBytes(b []byte) *SMTPMessage {
msg.To = append(msg.To, l)
continue
}
if strings.TrimSpace(l) == "" {
headerDone = true
continue
}
}
msg.Data += l + "\n"
}
return msg

View file

@ -85,7 +85,7 @@ func (maildir *Maildir) Search(kind, query string, start, limit int) (*data.Mess
switch kind {
case "to":
for _, t := range msg.To {
if strings.Contains(t.Mailbox+"@"+t.Domain, query) {
if strings.Contains(strings.ToLower(t.Mailbox+"@"+t.Domain), query) {
if start > matched {
matched++
break
@ -95,7 +95,7 @@ func (maildir *Maildir) Search(kind, query string, start, limit int) (*data.Mess
}
}
case "from":
if strings.Contains(msg.From.Mailbox+"@"+msg.From.Domain, query) {
if strings.Contains(strings.ToLower(msg.From.Mailbox+"@"+msg.From.Domain), query) {
if start > matched {
matched++
break
@ -103,7 +103,7 @@ func (maildir *Maildir) Search(kind, query string, start, limit int) (*data.Mess
filteredMessages = append(filteredMessages, *msg)
}
case "containing":
if strings.Contains(msg.Raw.Data, query) {
if strings.Contains(strings.ToLower(msg.Raw.Data), query) {
if start > matched {
matched++
break

View file

@ -1,10 +1,10 @@
package storage
import (
"log"
"github.com/mailhog/data"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
"log"
)
// MongoDB represents MongoDB backed storage backend

12
vendor/vendor.json vendored
View file

@ -123,10 +123,10 @@
"revisionTime": "2017-04-16T18:44:30Z"
},
{
"checksumSHA1": "ZhN2RVIK/L9LO9WGjducyi2buIk=",
"checksumSHA1": "ucMoXRa6ccPO5FyBzhey+N+IOsA=",
"path": "github.com/mailhog/data",
"revision": "98fee9be8f0ca761ad40016ff0dfb4e4d81e2aa8",
"revisionTime": "2016-08-10T07:45:39Z"
"revision": "024d554958b5bea5db220bfd84922a584d878ded",
"revisionTime": "2017-04-16T19:13:44Z"
},
{
"checksumSHA1": "vyMXU+/pSliAx1yRf6YdKRhF9Ik=",
@ -147,10 +147,10 @@
"revisionTime": "2016-11-19T23:01:07Z"
},
{
"checksumSHA1": "VFMqtv5B8sXJR50Rwn21jjJZw3E=",
"checksumSHA1": "Kd53/4cZ1KNfatXBgCg4VWzowis=",
"path": "github.com/mailhog/storage",
"revision": "426662792547f066565458d62f52cb05fabc5535",
"revisionTime": "2016-11-15T21:39:50Z"
"revision": "970ad63c574405c1d31aade44081611047343c77",
"revisionTime": "2017-04-16T18:53:22Z"
},
{
"checksumSHA1": "mbhJnsNwGAwkTQH5c2hVRO9YmxA=",