Junior — Middle
Имали ли сте опит с протокола POP3 за получаване на електронна поща?
sobes.tech AI
Отговор от AI
Да, имам опит с протокола POP3 за получаване на електронна поща. POP3 (Post Office Protocol версия 3) е прост протокол, който позволява на клиента да изтегля писма от пощенския сървър и обикновено да ги изтрива от сървъра след изтеглянето.
В Go може да се използват външни библиотеки за работа с POP3, например github.com/bytbox/go-pop3. Основните стъпки са:
- Да се установи връзка със сървъра POP3.
- Да се аутентифицира с потребителско име и парола.
- Да се получи списъкът с писма.
- Да се изтеглят необходимите писма.
- Да се затвори връзката.
Пример за използване на библиотеката:
package main
import (
"fmt"
"log"
"github.com/bytbox/go-pop3"
)
func main() {
client, err := pop3.Dial("pop.mailserver.com:110")
if err != nil {
log.Fatal(err)
}
defer client.Quit()
if err := client.Auth("username", "password"); err != nil {
log.Fatal(err)
}
count, _, err := client.Stat()
if err != nil {
log.Fatal(err)
}
for i := 1; i <= count; i++ {
msg, err := client.Retr(i)
if err != nil {
log.Println("Грешка при извличане на съобщение", i, err)
continue
}
fmt.Printf("Съобщение %d:\n%s\n", i, string(msg))
}
}
Този пример показва основната работа с POP3 в Go.