Как отправить пользовательский привет на сервер - PullRequest
0 голосов
/ 25 августа 2018

Я пытаюсь создать отправителя SMTP в Go.Это часть кода:

client, err := smtp.NewClient(remote, smtpServer.Host)
if err != nil {
    return err
}
defer client.Close()

auth := SmtpLoginAuth(smtpServer.Username, smtpServer.Password)
authErr := client.Auth(auth)
if authErr != nil {
    fmt.Println("login error", authErr)
    return authErr
}


client.Mail(data.From())
client.Rcpt(data.To())
bodyWriter, err := client.Data()
if err != nil {
    fmt.Println("body error", err)
    return err
}

Моя проблема: я хочу изменить приветственное сообщение для сервера, в данный момент мое приложение отправляется с локального хоста, я хочу отправить домен DNS моего сервера, но я нене знаю, как я могу сделать это в go.

пример места, где я хочу изменить строку localhost: https://jmp.sh/sugc8Ax

1 Ответ

0 голосов
/ 25 августа 2018

Задать имя, используемое в команде EHLO / HELO, можно просто с помощью Hello(name).Из документации :

func (c * Client) Ошибка Hello (строка localName)
Hello отправляет HELO или EHLO на сервер в качестве заданного имени хоста.Вызов этого метода необходим только в том случае, если клиенту требуется контроль над именем хоста, используемым .В противном случае клиент автоматически представится как "localhost".Если Hello вызван, он должен быть вызван перед любым другим методом .

Таким образом, все, что вам нужно сделать, это примерно так:

client, err := smtp.NewClient(remote, smtpServer.Host)
...
client.Hello("foobar.example.com")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...