Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

При создании приложений вам потребуется отправлять электронные письма для различных целей, от уведомлений до проверки подлинности и многого другого. Go предоставляет смтп и почта пакеты в своей стандартной библиотеке для отправки электронной почты. В экосистеме Go также есть множество сторонних почтовых пакетов.

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

Одной из популярных альтернатив является Джордан Райт. электронная почта пакет, который абстрагируется от сложности отправки почты. Он также добавляет функции, которых вы не найдете в смтп и почта пакеты.

Начало работы с пакетом электронной почты

электронная почта package — легкая, надежная и гибкая библиотека, популярная благодаря своей простоте. С помощью всего нескольких строк кода вы можете создать и отправить электронное письмо с вложениями, содержимым HTML и многим другим. Пакет также поддерживает расширенные функции, такие как безопасные SMTP-соединения и несколько получателей, что делает его универсальным инструментом для ваших нужд электронной почты.

instagram viewer

Пакет электронной почты также поддерживает поля CC и BCC, адреса электронной почты в нескольких форматах, уведомления о прочтении и настраиваемые заголовки.

Поскольку пакет не встроен в стандартную библиотеку Go, вам нужно будет установить его с иди возьми команда. Пакет электронной почты поддерживает версии Go 1.15 и выше.

Запустите эту команду, чтобы установить пакет в зависимости вашего проекта после инициализации нового проекта.

идти получить github.com/jordan-wright/email

После того, как вы установили пакет электронной почты, вы можете импортировать его, указав местоположение относительно пути установки:

Импортировать (
"ФМТ"
"github.com/джордан-райт/электронная почта"
"сеть/SMTP"
)

Вы будете использовать ФМТ package для вывода вывода на консоль и смтп пакет для проверки подлинности.

Отправка писем с пакетом электронной почты

Вам нужно будет объявить переменные для хранения данных для вашей почты. Объявите переменные для вашего адреса электронной почты и пароля.

почта := "ваш адрес электронной почты"
пароль := "пароль вашего приложения"

Вы можете жестко закодировать пароль или использовать файл переменной среды для повышения безопасности.

почта и пароль переменные должны содержать ваш адрес электронной почты и пароль соответственно.

Вам нужно будет объявить переменные для адреса хоста и номера порта для почты. Вот адрес хоста и номер порта для почты Yahoo:

адрес хоста := "smtp.mail.yahoo.com"
порт хоста := "465"

Вам также потребуется создать новый экземпляр электронной почты для отправки электронных писем с электронная почта упаковка. Вы можете использовать метод NewEmail класса электронная почта package для инициализации экземпляра электронной почты для вашей почты:

новыйЭлектронная почта := электронная почта. Новый E-mail()

Новый E-mail метод возвращает экземпляр структуры, которую вы можете изменить для элементов вашего электронного письма.

Вы можете использовать От и К поля структуры, чтобы добавить электронные письма отправителя и получателя в ваш экземпляр электронной почты.

Новый E-mail. От = почта
Новый E-mail. Кому = []нить{"список получателей"}

К Поле представляет собой фрагмент строк с неограниченной емкостью, который вы можете использовать для объявления всех ваших адресов получателей.

Можете добавить CC и BCC поля вашей электронной почты, используя скрытая копия и Копия поля экземпляра структуры:

Новый E-mail. СК = []нить{"список скрытых копий"}
Новый E-mail. Копия = []нить{"список копий"}

Для содержимого электронной почты вы можете добавить тему и текстовое содержимое вашего электронного письма, используя Предмет и Текст поля структуры. Тема представляет собой строковое поле, а текстовое содержимое представляет собой фрагмент байта.

Новый E-mail. Тема = "Тема письма"
Новый E-mail. Текст = []байт(«Основная часть вашего электронного письма»)

После того, как вы добавили все необходимые поля, вы можете отправить электронное письмо, используя Отправлять метод вашего экземпляра электронной почты. Отправлять метод принимает адрес хоста, номер порта хоста и экземпляр смтп пакет PlainAuth.

ошибка := новая электронная почта. Отправлять(
ФМТ. Спринтф("%SS", адрес хоста, порт хоста),
смтп. Обычная Аут("", почта, пароль, hostAddress)
)

если ошибся != ноль {
ФМТ. Распечатать("Произошла ошибка при отправке письма")
} еще {
ФМТ. Распечатать("Письмо успешно отправлено")
}

Отправлять метод возвращает ошибку, которую вы можете обработать или ноль если нет ошибок.

Вы успешно отправили письмо с электронная почта пакет с меньшим количеством строк, чем вам нужно было бы написать отправить письмо с смтп упаковка.

Вы можете отправлять почту с помощью встроенного пакета SMTP

Go — это хорошо спланированный язык, поскольку его стандартная библиотека поставляется с большинством функций, которые вам понадобятся для создания полных веб-приложений без внешних зависимостей или сторонних пакетов.

смтп пакет удобен для отправки электронных писем через различные сервисы с функциями, аналогичными электронная почта упаковка.