לא בטוח שזה באמת מה שהשרת דואר עושה, אבל הרעיון הוא להמנע מכל מיני relay servers כדוגמת smtp.gmail.com או mail.bezeqint.net ולהגיע ישירות לנמען, לשים לו את המייל בתוך התיבה שלו :)
אז איך עושים את זה? מחפשים את ה mail exchanger של הנמען. נניח שהנמען הוא test@hotmail.com.
נכנס ל command line ונריץ nslookup
נרשום set type=mx
ואז את הדומיין של הנמען שהוא במקרה זה hotmail.com.
מה נקבל?
hotmail.com MX preference = 5, mail exchanger = mx2.hotmail.com
hotmail.com MX preference = 5, mail exchanger = mx3.hotmail.com
hotmail.com MX preference = 5, mail exchanger = mx4.hotmail.com
hotmail.com MX preference = 5, mail exchanger = mx1.hotmail.com
אפשר לראות שלכל mx שכזה יש אותה עדיפות. אבל העדיפות יכולה להיות שונה, כאשר מספר נמוך יותר מאפיין עדיפות יותר גבוהה. לכן נבחר את השרת בעל העדיפות הכי גדולה ואם אנחנו מתכנתים במחלקה smtp של c#, נבחר את ה smtp server
להיות ה mail exchanger שלנו.
עדכון: מתסבר שאחרי כמה פעמים שנשלח מייל בצורה כזאת, יש סבירות גבוה שיכניסו את ה IP שלנו לאחת מרשימות ה block list. זה די הגיוני, אחרת כל מחשב היה הופך למכונת ספאם.
Tags
C#