Bump the version to 2.1.0.
[mailpopbox.git] / pop3.go
diff --git a/pop3.go b/pop3.go
index cada451f5e4a86b0ea05e32956bda66ef86524ed..a03c1b81c181a0965e11c00780ed9294392ac52d 100644 (file)
--- a/pop3.go
+++ b/pop3.go
@@ -104,7 +104,7 @@ func (server *pop3Server) Name() string {
 
 func (server *pop3Server) OpenMailbox(user, pass string) (pop3.Mailbox, error) {
        for _, s := range server.config.Servers {
-               if user == "mailbox@"+s.Domain && pass == s.MailboxPassword {
+               if user == MailboxAccount+s.Domain && pass == s.MailboxPassword {
                        return server.openMailbox(s.MaildropPath)
                }
        }
@@ -114,8 +114,8 @@ func (server *pop3Server) OpenMailbox(user, pass string) (pop3.Mailbox, error) {
 func (server *pop3Server) openMailbox(maildrop string) (*mailbox, error) {
        files, err := ioutil.ReadDir(maildrop)
        if err != nil {
-               // TODO: hide error, log instead
-               return nil, err
+               server.log.Error("failed read maildrop dir", zap.String("dir", maildrop), zap.Error(err))
+               return nil, errors.New("error opening maildrop")
        }
 
        mb := &mailbox{
@@ -177,7 +177,7 @@ func (mb *mailbox) ListMessages() ([]pop3.Message, error) {
 }
 
 func (mb *mailbox) GetMessage(id int) pop3.Message {
-       if id > len(mb.messages) {
+       if id == 0 || id > len(mb.messages) {
                return nil
        }
        return &mb.messages[id-1]