Я использую Go и хочу отправить письмо по протоколу SMTP локально работающему экземпляру Exim.

У меня много доменов, которые обслуживаются на одном компьютере с Centos 7. Все эти домены настроены на получение писем на Яндексе. Я не хочу превышать лимиты на Яндексе, так как я буду отправлять большое количество писем.

Gmail предложил

Использовать локальный почтовый сервер - если у вас есть локальный почтовый сервер, используйте его для отправки почты непосредственно получателям, чтобы избежать ограничений на отправку. Этот локальный сервер также должен быть добавлен в запись SPF, чтобы сообщения не были помечены как спам.

Я попытался использовать exim -t с кодом golang с WriteTo() пакета Gomail, но он не передавал письма с заголовками BCC в exim.

Поэтому я советую использовать протокол SMTP в StackOverflow, так как Gomail отлично работает на SMTP.

Я использовал следующий код для достижения этого

m := gomail.NewMessage()

m.SetHeader("From", "me@example.com")
m.SetHeader("To", "you@example.com")

m.SetAddressHeader("Bcc", "youbcc@example.com", "Bcc Email")

m.SetHeader("Bcc", "anotherbcc@example.com", "yetbcc@example.com")

m.SetHeader("Reply-To", "me@example.com")
m.SetHeader("Subject", "Subject is to gomail to be discussed")
body := `Why is bcc not getting populated`
m.SetBody("text/html", body)

d := gomail.NewDialer("127.0.0.1", 587, "", "")
d.TLSConfig = &tls.Config{InsecureSkipVerify: true}

if err := d.DialAndSend(m); err != nil {
    panic(err)
}

и получил следующую ошибку

паника: gomail: не удалось отправить электронное письмо 1: 550 Проверка не удалась для me@example.com Невозможный адрес Не удалось проверить отправителя

Exim Logs говорит:

H = localhost [127.0.0.1] отправитель проверил ошибку для me@example.com: адрес не маршрутизируемый

H = localhost [127.0.0.1] X = TLSv1.2: ECDHE-RSA-AES128-GCM-SHA256: 128 CV = нет F=me@example.com отклонено RCPT you@example.com: отправителю не удалось проверить

It means Exim failed to verify your From address for some reason. What exactly reason depends on how Exim is configured.

Сказал здесь

Поэтому мой вопрос заключается в том, как мне исправить код / конфиг exim (настроенный VestaCP)

Ps Я использую реальные письма в реальном коде!

0