Отправка электронной почты с помощью Smtp в Golang

Опубликовано: 14 Сентября, 2022

сеть/SMTP является встроенным пакетом go и реализует протокол SMTP. Он предоставляет простой способ отправки почты через smtp-серверы. Этот пакет реализует простой протокол передачи почты.

Шаги для отправки электронной почты:

1. Получите аутентификацию с хост-сервера и установите TLS-соединение с хост-сервером с помощью функции PlainAuth.

func PlainAuth(identity, username, password, host string) Auth

PlainAuth принимает четыре аргумента идентификатора строкового типа (это должна быть пустая строка, чтобы действовать как имя пользователя), имя пользователя (почтовый адрес отправителя), пароль (почтовый пароль отправителя) и порт SMTP-сервера. PlainAuth возвращает Auth, реализацию механизма аутентификации SMTP. Для аутентификации на хосте возвращенный Auth использует заданное имя пользователя и пароль и действует как личность.

2. Используйте полученную авторизацию для отправки почты с помощью функции SendMail.

func SendMail(addr string, a Auth, from string, to []string, msg []byte) error

Функция SendMail принимает пять аргументов. addr имеет тип string и содержит адрес и номер порта сервера (например: «smtp.gmail.com:587»), a — это Auth, который мы получили из функции PlainAuth, from имеет тип string и содержит адрес электронной почты отправителя. , to — это часть строки, которая содержит почтовый адрес получателя, а msg — это часть байта, содержащего тело письма.

Здесь мы использовали сервер Gmail для отправки писем. Вы можете использовать почтовый адрес с любым доменом, просто соответствующим образом измените хост.

Выход:

Successfully sent mail to all user in toList