Док правите апликације, мораћете да шаљете е-пошту у различите сврхе, од обавештења до потврде аутентичности и још много тога. Го пружа смтп и Пошта пакете у својој стандардној библиотеци за слање е-поште. Такође постоји много пакета е-поште трећих страна у Го екосистему.
Уграђени пакети за пошту чине слање е-поште сложеним задатком. Ако нисте програмер апликација на страни сервера, можда ћете пронаћи смтп и Пошта пакети који су компликовани за коришћење и конфигурисање.
Једна популарна алтернатива је Џордан Рајт емаил пакет који апстрахује сложеност слања поште. Такође додаје функције које нећете наћи у смтп и Пошта пакети.
Почетак рада са пакетом е-поште
Тхе емаил пакет је лагана, робусна и флексибилна библиотека, популарна због своје једноставности. Са само неколико линија кода, можете да креирате и пошаљете е-пошту са прилозима, ХТМЛ садржајем и још много тога. Пакет такође подржава напредне функције као што су сигурне СМТП везе и више прималаца, што га чини разноврсним алатом за ваше потребе е-поште.
Пакет е-поште такође подржава ЦЦ и БЦЦ поља, адресе е-поште у више формата, потврде о читању и прилагођена заглавља.
Пошто пакет није уграђен у Го стандардну библиотеку, мораћете да га инсталирате са Иди да узмеш команда. Пакет е-поште подржава Го верзије 1.15 и новије.
Покрените ову команду да бисте инсталирали пакет у зависности вашег пројекта након иницијализације новог пројекта.
иди набавите гитхуб.цом/јордан-вригхт/емаил
Када инсталирате пакет е-поште, можете да га увезете тако што ћете навести локацију у односу на вашу инсталацијску путању:
увоз (
"фмт"
"гитхуб.цом/јордан-вригхт/емаил"
"нет/смтп"
)
Користићете фмт пакет за штампање излаза на конзоли и смтп пакет за потребе аутентификације.
Слање поште са пакетом е-поште
Мораћете да декларишете променљиве да бисте сачували податке за вашу пошту. Декларишите променљиве за своју е-пошту и лозинку.
маил := "ваш емаил"
лозинка := „ваша лозинка за апликацију“
Можете хардкодирати лозинку или користите датотеку променљиве окружења ради побољшања безбедности.
Тхе Пошта и Лозинка променљиве треба да садрже вашу е-пошту и лозинку, респективно.
Мораћете да декларишете променљиве за адресу домаћина и број порта за пошту. Ево адресе домаћина и броја порта за Иахоо пошту:
хостАддресс := "смтп.маил.иахоо.цом"
хостПорт := "465"
Такође ћете морати да креирате нову инстанцу е-поште да бисте слали е-пошту са емаил пакет. Можете користити метод НевЕмаил емаил пакет за иницијализацију инстанце е-поште за вашу пошту:
невЕмаил := емаил. Нова е-маил()
Тхе Нова е-маил метода враћа инстанцу структуре коју можете да измените за елементе ваше е-поште.
Можете користити Од и До поља структуре да бисте додали имејлове пошиљаоца и примаоца вашој инстанци е-поште.
Нова е-маил. Од = маил
Нова е-маил. За = []низ{"списак прималаца"}
Тхе До поље је исечак низова са неограниченим капацитетом који можете користити за декларисање свих адреса примаоца.
Можеш додати ЦЦ и БЦЦ поља ваше е-поште помоћу Бцц и Цц поља инстанце структуре:
Нова е-маил. Бцц = []низ{"листа бцц"}
Нова е-маил. Цц = []низ{"листа цц"}
За садржај е-поште, можете додати тему и текстуални садржај своје е-поште користећи Предмет и Текст поља структуре. Предмет је поље стринга, а садржај текста је исечак бајтова.
Нова е-маил. Предмет = „Тема е-поште“
Нова е-маил. Текст = []бајт(„Тело ваше е-поште“)
Након што додате сва обавезна поља, можете послати е-поруку користећи Пошаљи метод ваше инстанце е-поште. Тхе Пошаљи метода узима адресу хоста, број порта хоста и инстанцу смтп пакета ПлаинАутх.
ерр := невЕмаил. Пошаљи (
фмт. Спринтф("%с:%с", хостАддресс, хостПорт),
смтп. ПлаинАутх("", пошта, лозинка, адреса домаћина)
)
ако ерр != нула {
фмт. Принтлн(„Дошло је до грешке при слању поште“)
} друго {
фмт. Принтлн(„Пошта је успешно послата“)
}
Тхе Пошаљи метода враћа грешку коју можете да обрадите или нула ако нема грешака.
Успешно сте послали е-пошту са емаил пакет са мање редова него што бисте морали да пишете пошаљите пошту са смтп пакет.
Можете да шаљете пошту помоћу уграђеног СМТП пакета
Го је добро испланиран језик пошто његова стандардна библиотека испоручује већину функционалности које су вам потребне за прављење комплетних веб апликација без спољних зависности или пакета трећих страна.
Тхе смтп пакет је згодан за слање е-поште преко различитих сервиса са сличним функционалностима као емаил пакет.