איך לא לשלוח מייל אוטומטי מהמערכת
פוסט זה כולל טיפ קצר בנושא פיתוח Front End. אם אתם רוצים ללמוד יותר לעומק על פיתוח Front End מהבסיס ועד הנושאים המתקדמים תשמחו לשמוע שבניתי קורס וידאו מקיף בנושא זה הכולל מעל 50 שיעורי וידאו והמון תרגול מעשי.
למידע נוסף והצטרפות לקורס בקרו בדף קורס Front End באתר.
הודעה מתלמיד שלא הצליח לאפס סיסמא שלחה אותי למסע בעקבות המייל המושלם, עם כמה לקחים חשובים. האמ;לק של הסיפור הוא לא לשלוח הודעות אוטומטיות דרך שרת מייל שלא מיועד ספציפית לכך. הסיפור המלא בהמשך הפוסט.
1. מה קרה
הודעה מתלמיד שלא הצליח לאפס סיסמא תפסה אותי קצת בהפתעה. רק לא מזמן בדקתי את המסך ואפילו איפסתי סיסמא בשביל משתמש אחר כך שהייתי די בטוח שהמנגנון עובד. נסיון קצר לאפס סיסמא לעצמי הוכיח את הידוע, כלומר שאיפוס הסיסמא נכשל. מבט מהיר בלוג גם חשף מיד את הבעיה, והיא כשלון בשליחת המייל עם פרטי איפוס הסיסמא.
כאן המקום להוסיף קצת חומר רקע היסטורי. בעת פתיחת האתר (לפני כשנתיים) חיפשתי דרך קלה לשלוח מיילים אוטומטיים מהאתר לצורך אימות מייל של נרשמים, איפוסי סיסמא והשארת הודעות. היה לי חשוב שהמיילים ישלחו מאותו הדומיין של האתר, ומאחר ו Google Apps כבר לא היו בחינם כשעליתי לאוויר בחרתי ב Zoho Mail. זוהו הם חברת ענק הודית שמספקת שירותי מייל ארגוני, ניהול קשרי לקוחות ועוד המון תוכנות לעסק. אין להם את המגניבות של סטארטאפים מעמק הסיליקון אבל המערכת לגמרי עובדת ומאוד נוחה. וכמובן העובדה שהחשבון בחינם עד 5 משתמשים היתה הקלף המנצח.
בזוהו פתחתי חשבון מייל ארגוני ואליו חיברתי גם את תיבת המייל האישית וגם את המיילים האוטומטיים. כך כשעונים למייל אוטומטי מהאתר זה מגיע ישירות אליי למייל (וזה די נוח).
גלגלו שנתיים קדימה, ומסיבה לא ברורה לפני מספר ימים המערכת האוטומטית של זוהו זיהתה שאני שולח מיילים ״מוזרים״ דרך האתר והחליטה לסמן אותי כספאמר ולחסום את החשבון, באופן מיידי ובלי להודיע כמובן. מייל למרכז התמיכה שלהם זיכה אותי אחרי יומיים בתשובה הבאה:
On observing, our Spam processing algorithm has identified suspicious content/keywords in the emails which are being sent out using your Zoho Mail account. Due to this reason, your Zoho Mail account is blocked from sending out emails.
2. איך כן לשלוח מיילים אוטומטיים מהאתר
לכל חברה מדיניות השליחה שלה וזה בסדר, והאמת שכבר הרבה זמן אני חושד שזוהו הם לא פתרון מוצלח למיילים אוטומטיים בגלל מגבלות שליחה כאלה או אחרות שתיארתי לעצמי שיגיעו. בעקבות החסימה למדתי שאפשר לשלוח מייל מ Sub Domain שיראה כאילו נשלח מכתובת הדומיין הרגילה, ושישנן מערכות טובות ומאוד נוחות לשליחת מייל ישירות מהיישום דרך API.
עוד באותו הערב שגיליתי על החסימה העברתי את כל האתר לשלוח מיילים דרך שירות כזה שנקרא Mailgun. יש צורך להוסיף מספר רשומות ל DNS כדי שמיילגאן ישתכנעו שהדומיין אכן שלכם, וכדי ששרתי מייל בדרך לא יחשבו שאתם ספאמרים (כל המידע מופיע כשנרשמים למיילגאן). אחרי שה DNS התעדכן המרת האתר לקחה ממש מספר דקות (יש ספריות קוד מוכנות פחות או יותר לכל סביבה וגם תמיכה ב Rest API).
אגב מחירים חשבון שליחה ב mailgun לשליחת עד 10,000 מיילים בחודש ניתן לגמרי בחינם. מעבר לזה תצטרכו לשלם לפי כמות המיילים שאתם שולחים. זו הזדמנות טובה להזכיר לספר לחברים על האתר כדי שאוכל לעבור את המספר ולהתחיל לשלם למיילגאן.
3. לקחים להמשך
הלקח הקל הוא לא לשלוח מייל אוטומטי מחשבון שלא נועד לזה. אבל יש לקח שני שהוא לדעתי הרבה יותר חשוב. בתור מתכנתים שעסוקים בהמון משימות ובלוחות זמנים צפופים, אנו נוטים לבחור בפתרונות שאנו מכירים גם אם אנחנו יודעים שהם לא אידאלים במקום לחפש את הפתרון הטוב ביותר. הבעיה שהפתרונות המוכרים (בדוגמא שלי Zoho Mail) עשויים להתפוצץ לנו בפרצוף בדיוק בזמן הכי פחות נוח.
הלקח הקשה יהיה לא להכניס מוקשים לקוד, במיוחד כאלה שאתם יודעים שהם מוקשים כשמכניסים אותם. תמיד יש פתרון נכון יותר וכמעט תמיד חיפוש הפתרון בזמן שלכם יהיה קל יותר מאשר לתקן את הבלאגן כשהקוד העקום שלנו נשבר.