בעת בניית אפליקציות, תצטרך לשלוח אימיילים למטרות שונות, החל מהודעות ועד אימות ועוד רבים נוספים. Go מספקת את smtp ו דוֹאַר חבילות בספרייה הרגילה שלה לשליחת דואר אלקטרוני. ישנן גם חבילות דוא"ל רבות של צד שלישי במערכת האקולוגית של Go.
חבילות הדואר המובנות הופכות את שליחת האימייל למשימה מורכבת. אם אינך מפתח יישומים בצד השרת, ייתכן שתמצא את ה smtp ו דוֹאַר חבילות מסובכות לשימוש ולהגדיר.
חלופה פופולרית אחת היא ג'ורדן רייט אימייל חבילה שמפשטת את המורכבות של שליחת דואר. זה גם מוסיף תכונות שלא תמצאו ב- smtp ו דוֹאַר חבילות.
תחילת העבודה עם חבילת הדוא"ל
ה אימייל חבילה היא ספרייה קלת משקל, חזקה וגמישה, פופולרית בשל הפשטות שלה. עם מספר שורות קוד בלבד, תוכל ליצור ולשלוח דואר אלקטרוני עם קבצים מצורפים, תוכן HTML ועוד. החבילה תומכת גם בתכונות מתקדמות כגון חיבורי SMTP מאובטחים ונמענים מרובים, מה שהופך אותה לכלי רב תכליתי לצרכי הדוא"ל שלך.
חבילת הדוא"ל תומכת גם בשדות CC ו-BCC, כתובות דוא"ל במספר פורמטים, אישורי קריאה וכותרות מותאמות אישית.
מכיוון שהחבילה אינה מובנית בספריית הסטנדרטית של Go, תצטרך להתקין אותה עם ה- לך לקבל פקודה. חבילת האימייל תומכת ב-Go בגירסאות 1.15 ומעלה.
הפעל פקודה זו כדי להתקין את החבילה לתלות של הפרויקט שלך לאחר אתחול פרויקט חדש.
ללכת קבל github.com/jordan-wright/email
לאחר שהתקנת את חבילת הדואר האלקטרוני, תוכל לייבא אותה על ידי ציון המיקום ביחס לנתיב ההתקנה שלך:
יְבוּא (
"fmt"
"github.com/jordan-wright/email"
"net/smtp"
)
אתה תשתמש ב fmt חבילה להדפסת פלט למסוף ול- smtp חבילה למטרות אימות.
שליחת מיילים עם חבילת הדואר האלקטרוני
תצטרך להצהיר על משתנים כדי לאחסן את הנתונים עבור הדואר שלך. הצהר על משתנים עבור האימייל והסיסמה שלך.
דואר := "האימייל שלך"
סיסמה := "סיסמת האפליקציה שלך"
אתה יכול לקוד קשיח את הסיסמה או השתמש בקובץ משתנה סביבה לשיפור האבטחה.
ה דוֹאַר ו סיסמה משתנים צריכים להחזיק את האימייל והסיסמה שלך, בהתאמה.
יהיה עליך להצהיר על משתנים עבור כתובת המארח ומספר היציאה עבור הדואר. להלן כתובת המארח ומספר היציאה של הדואר של Yahoo:
כתובת מארח := "smtp.mail.yahoo.com"
hostPort := "465"
תצטרך גם ליצור מופע דוא"ל חדש כדי לשלוח הודעות דוא"ל עם אימייל חֲבִילָה. אתה יכול להשתמש בשיטת NewEmail של אימייל חבילה לאתחול מופע דואר אלקטרוני עבור הדואר שלך:
newEmail := אימייל. מייל חדש()
ה מייל חדש השיטה מחזירה מופע struct שאתה יכול לשנות עבור רכיבי האימייל שלך.
אתה יכול להשתמש ב מ ו ל שדות של המבנה כדי להוסיף את הודעות הדוא"ל של השולח והנמען למופע הדוא"ל שלך.
מייל חדש. מאת = דואר
מייל חדש. אל = []חוּט{"רשימת נמענים"}
ה ל שדה הוא פרוסת מחרוזות עם קיבולת בלתי מוגבלת שבה אתה יכול להשתמש כדי להצהיר על כל כתובות הנמענים שלך.
אתה יכול להוסיף CC ו BCC שדות הדוא"ל שלך באמצעות עותק מוסתר ו עותק שדות של מופע ה-struct:
מייל חדש. עותק מוסתר = []חוּט{"רשימת עותק מוסתר"}
מייל חדש. עותק = []חוּט{"רשימת עותק"}
עבור תוכן הדואר, אתה יכול להוסיף את הנושא והטקסט של האימייל שלך באמצעות נושא ו טֶקסט שדות המבנה. הנושא הוא שדה מחרוזת, ותוכן הטקסט הוא פרוסת בתים.
מייל חדש. נושא = "נושא האימייל"
מייל חדש. טקסט = []בייט("גוף האימייל שלך")
לאחר שהוספת את כל השדות הדרושים, תוכל לשלוח את האימייל באמצעות לִשְׁלוֹחַ שיטת מופע האימייל שלך. ה לִשְׁלוֹחַ השיטה לוקחת את כתובת המארח, את מספר יציאת המארח ומופע של ה- smtp של החבילה PlainAuth.
שגיאה := דוא"ל חדש. לִשְׁלוֹחַ(
fmt. ספרינטף("%s:%s", hostAddress, hostPort),
smtp. PlainAuth("", דואר, סיסמה, כתובת מארח)
)
אם טעות != אֶפֶס {
fmt. Println("היתה שגיאה בשליחת הדואר")
} אַחֵר {
fmt. Println("המייל נשלח בהצלחה")
}
ה לִשְׁלוֹחַ השיטה מחזירה שגיאה שאתה יכול להתמודד עם או אֶפֶס אם אין שגיאות.
שלחת בהצלחה דואר עם אימייל חבילה עם פחות שורות ממה שתצטרך לכתוב אליה שלח מייל עם smtp חֲבִילָה.
אתה יכול לשלוח דואר עם חבילת ה-SMTP המובנית
Go היא שפה מתוכננת היטב מכיוון שהספרייה הסטנדרטית שלה מגיעה עם רוב הפונקציונליות שתצטרך לבניית יישומי אינטרנט שלמים ללא תלות חיצונית או חבילות של צד שלישי.
ה smtp החבילה שימושית לשליחת מיילים באמצעות שירותים שונים עם פונקציונליות דומות ל- אימייל חֲבִילָה.