golang smtp获取并解析服务器的欢迎消息

I want to get welcome message of smtp server and check if contains specific keyword, this is my actual code:

package main

import (
    "fmt"
    "net"
    "strings"
    "time"
    "net/smtp"
    "errors"
)

type loginAuth struct {
    username, password string
}

func (a *loginAuth) Start(server *smtp.ServerInfo) (string, []byte, error) {
    return "LOGIN", []byte{}, nil
}

func (a *loginAuth) Next(fromServer []byte, more bool) ([]byte, error) {
    if more {
        switch string(fromServer) {
        case "Username:":
            return []byte(a.username), nil
        case "Password:":
            return []byte(a.password), nil
        default:
            return nil, errors.New("Unkown fromServer")
        }
    }
    return nil, nil
}


func main() {

    // attempt a connection
    conn, err := net.DialTimeout("tcp", "88.198.24.108:25", 15 * time.Second)
    defer conn.Close()
    if err == nil {
        buf := make([]byte, 32, 32)
        conn.Read(buf)
        if strings.Contains(string(buf), "Haraka") {
            fmt.Println("this server not working with this application")
        }
    }

    client, err := smtp.NewClient(conn, "88.198.24.108")
    if err != nil {
        fmt.Println("1>>", err)
        return
    }

    err = client.Auth(&loginAuth{"info@example.com", "123456"})
    if err != nil {
        fmt.Println("2>>", err)
        return
    } else {
        fmt.Println("auth successfull")
    }

}

The code return this error : 1>> short response: 18 ready where i wrong ?