При отправке почты кому-то задействованы два SMTP-сервера.
- Ваш собственный SMTP-сервер (отправитель)
- SMTP-сервер получателя (получатель)
Обычно, когда вы отправляете почту от своего почтового клиента, ваш почтовый клиент отправляет почту на ваш собственный SMTP-сервер, который затем отправляет почту на SMTP-сервер получателей.Причина этого (прыжок) в том, что серверы могут быть неработающими / медленными / и т. Д., И теперь ответственность вашего собственного сервера состоит в том, чтобы попытаться доставить почту (обычно) в течение 48 часов.
Чтобы выяснить, какой SMTP-сервер имеется у получателя, SMTP-записи ищутся SMTP-отправителем для домена получателя:
C:\> nslookup -type=mx hotmail.com
Server: dns.server.com
Address: 183.255.245.11
Non-authoritative answer:
hotmail.com MX preference = 5, mail exchanger = mx1.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
Как видите, несколько SMTPсерверы могут быть указаны для домена (для избыточности), а SMTP-отправитель выберет один на основе приоритета (тот, который работает).Почта затем отправляется на этот сервер.
И (если не используется веб-почта) почтовый клиент-получатель может загрузить эту почту, используя, например, протоколы POP3 или IMAP.
Теперь, когда вы отправляете почту из ASP.NET SMTP-сервер отправителя обычно является локальной службой SMTP IIS, а не обычным SMTP-сервером для вашего домена (тот, который вы сами используете для отправки почты; в вашем случае - Gmail).
SPF-записи - это записи, добавленные в ваш DNS, чтобы указать, каким SMTP-серверам разрешено отправлять почту с вашего домена.Обычно, если вы укажете их, SMTP-серверы получателя заставляют SMTP-сервер отправителя указываться в записи SPF для домена в адресе отправителя.Однако, если вы не укажете их, в любом случае, почта обычно разрешается, и другие SPAM-файлеры включаются.
В любом случае, надеюсь, это поможет прояснить ситуацию ...