Καθώς δημιουργείτε εφαρμογές, θα χρειαστεί να στέλνετε μηνύματα ηλεκτρονικού ταχυδρομείου για διαφορετικούς σκοπούς, από ειδοποιήσεις έως έλεγχο ταυτότητας και πολλά άλλα. Πηγαίνετε παρέχει το smtp και ταχυδρομείο πακέτα στην τυπική βιβλιοθήκη του για αποστολή email. Υπάρχουν επίσης πολλά πακέτα email τρίτων στο οικοσύστημα Go.
Τα ενσωματωμένα πακέτα αλληλογραφίας κάνουν την αποστολή email μια πολύπλοκη εργασία. Εάν δεν είστε προγραμματιστής εφαρμογών από την πλευρά του διακομιστή, μπορεί να το βρείτε smtp και ταχυδρομείο πακέτα δύσκολα στη χρήση και τη διαμόρφωση.
Μια δημοφιλής εναλλακτική είναι αυτή του Jordan Wright ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ πακέτο που αφαιρεί την πολυπλοκότητα της αποστολής αλληλογραφίας. Προσθέτει επίσης λειτουργίες που δεν θα βρείτε στο smtp και ταχυδρομείο πακέτα.
Ξεκινώντας με το Πακέτο Email
ο ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ Το πακέτο είναι μια ελαφριά, στιβαρή και ευέλικτη βιβλιοθήκη, δημοφιλής για την απλότητά της. Με λίγες μόνο γραμμές κώδικα, μπορείτε να δημιουργήσετε και να στείλετε ένα email με συνημμένα, περιεχόμενο HTML και πολλά άλλα. Το πακέτο υποστηρίζει επίσης προηγμένες λειτουργίες, όπως ασφαλείς συνδέσεις SMTP και πολλαπλούς παραλήπτες, καθιστώντας το ένα ευέλικτο εργαλείο για τις ανάγκες email σας.
Το πακέτο email υποστηρίζει επίσης πεδία CC και BCC, διευθύνσεις email σε πολλαπλές μορφές, αποδείξεις ανάγνωσης και προσαρμοσμένες κεφαλίδες.
Εφόσον το πακέτο δεν είναι ενσωματωμένο στην τυπική βιβλιοθήκη Go, θα πρέπει να το εγκαταστήσετε με το πήγαινε πάρε εντολή. Το πακέτο email υποστηρίζει εκδόσεις Go 1.15 και νεότερες.
Εκτελέστε αυτήν την εντολή για να εγκαταστήσετε το πακέτο στις εξαρτήσεις του έργου σας μετά την προετοιμασία ενός νέου έργου.
πηγαίνω λάβετε github.com/jordan-wright/email
Αφού εγκαταστήσετε το πακέτο email, μπορείτε να το εισαγάγετε καθορίζοντας τη θέση σε σχέση με τη διαδρομή εγκατάστασης:
εισαγωγή (
"fmt"
"github.com/jordan-wright/email"
"net/smtp"
)
Θα χρησιμοποιήσετε το fmt πακέτο για έξοδο εκτύπωσης στην κονσόλα και το smtp πακέτο για σκοπούς ελέγχου ταυτότητας.
Αποστολή αλληλογραφίας με το πακέτο email
Θα χρειαστεί να δηλώσετε μεταβλητές για να αποθηκεύσετε τα δεδομένα για την αλληλογραφία σας. Δηλώστε μεταβλητές για το email και τον κωδικό πρόσβασής σας.
ταχυδρομείο := "η διεύθυνση του ηλεκτρονικού σου ταχυδρομείου"
κωδικός πρόσβασης := "ο κωδικός της εφαρμογής σας"
Μπορείτε να κωδικοποιήσετε τον κωδικό πρόσβασης ή χρησιμοποιήστε ένα αρχείο μεταβλητής περιβάλλοντος για βελτιωμένη ασφάλεια.
ο ταχυδρομείο και Κωδικός πρόσβασης Οι μεταβλητές θα πρέπει να περιέχουν το email και τον κωδικό πρόσβασής σας, αντίστοιχα.
Θα χρειαστεί να δηλώσετε μεταβλητές για τη διεύθυνση κεντρικού υπολογιστή και τον αριθμό θύρας για την αλληλογραφία. Ακολουθούν η διεύθυνση κεντρικού υπολογιστή και ο αριθμός θύρας για την αλληλογραφία Yahoo:
Διεύθυνση κεντρικού υπολογιστή := "smtp.mail.yahoo.com"
hostPort := "465"
Θα χρειαστεί επίσης να δημιουργήσετε μια νέα παρουσία ηλεκτρονικού ταχυδρομείου για να στέλνετε μηνύματα ηλεκτρονικού ταχυδρομείου με το ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ πακέτο. Μπορείτε να χρησιμοποιήσετε τη μέθοδο NewEmail του ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ πακέτο για την προετοιμασία μιας παρουσίας email για την αλληλογραφία σας:
newEmail := email. Νέο Ηλεκτρονικό Μήνυμα()
ο Νέο Ηλεκτρονικό Μήνυμα μέθοδος επιστρέφει μια παρουσία δομής που μπορείτε να τροποποιήσετε για τα στοιχεία του email σας.
Μπορείτε να χρησιμοποιήσετε το Από και Προς την πεδία της δομής για να προσθέσετε τα μηνύματα ηλεκτρονικού ταχυδρομείου αποστολέα και παραλήπτη στην παρουσία του email σας.
Νέο Ηλεκτρονικό Μήνυμα. Από = αλληλογραφία
Νέο Ηλεκτρονικό Μήνυμα. Προς = []σειρά{"λίστα παραληπτών"}
ο Προς την Το πεδίο είναι ένα κομμάτι συμβολοσειρών με απεριόριστη χωρητικότητα που μπορείτε να χρησιμοποιήσετε για να δηλώσετε όλες τις διευθύνσεις των παραληπτών σας.
Μπορείς να προσθέσεις CC και BCC πεδία του email σας χρησιμοποιώντας το Bcc και Κοιν πεδία του στιγμιότυπου δομής:
Νέο Ηλεκτρονικό Μήνυμα. Bcc = []σειρά{"λίστα κρυπτογράφησης"}
Νέο Ηλεκτρονικό Μήνυμα. Κοιν = []σειρά{"λίστα cc"}
Για τα περιεχόμενα της αλληλογραφίας, μπορείτε να προσθέσετε το θέμα και το περιεχόμενο κειμένου του email σας χρησιμοποιώντας το Θέμα και Κείμενο πεδία της κατασκευής. Το θέμα είναι ένα πεδίο συμβολοσειράς και το περιεχόμενο του κειμένου είναι ένα κομμάτι byte.
Νέο Ηλεκτρονικό Μήνυμα. Υποκείμενο = "Το θέμα του email"
Νέο Ηλεκτρονικό Μήνυμα. Κείμενο = []ψηφιόλεξη("Σώμα του email σας")
Αφού προσθέσετε όλα τα απαιτούμενα πεδία, μπορείτε να στείλετε το email χρησιμοποιώντας το Στείλετε μέθοδο της παρουσίας του email σας. ο Στείλετε μέθοδος λαμβάνει τη διεύθυνση κεντρικού υπολογιστή, τον αριθμό θύρας κεντρικού υπολογιστή και μια παρουσία του smtp του πακέτου PlainAuth.
err := newEmail. Στείλετε(
fmt. Sprintf("%s:%s", hostAddress, hostPort),
smtp. PlainAuth("", αλληλογραφία, κωδικός πρόσβασης, διεύθυνση κεντρικού υπολογιστή)
)
αν λάθος!= μηδέν {
fmt. Println("Παρουσιάστηκε σφάλμα κατά την αποστολή της αλληλογραφίας")
} αλλού {
fmt. Println("Η αλληλογραφία στάλθηκε με επιτυχία")
}
ο Στείλετε μέθοδος επιστρέφει ένα σφάλμα που μπορείτε να χειριστείτε ή μηδέν εάν δεν υπάρχουν λάθη.
Στείλατε επιτυχώς ένα μήνυμα ηλεκτρονικού ταχυδρομείου με το ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ πακέτο με λιγότερες γραμμές από αυτές που θα έπρεπε να γράψετε στείλτε ένα mail με το smtp πακέτο.
Μπορείτε να στείλετε αλληλογραφία με το ενσωματωμένο πακέτο SMTP
Η Go είναι μια καλά σχεδιασμένη γλώσσα, καθώς η τυπική βιβλιοθήκη της διαθέτει τις περισσότερες από τις λειτουργίες που θα χρειαστείτε για να δημιουργήσετε πλήρεις εφαρμογές ιστού χωρίς εξωτερικές εξαρτήσεις ή πακέτα τρίτων.
ο smtp Το πακέτο είναι χρήσιμο για την αποστολή email μέσω διαφόρων υπηρεσιών με παρόμοιες λειτουργίες με το ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ πακέτο.