Электронная почта, отправленная с веб-сервера, приводит к тому, что gmail рассматривается как фишинг. Как от этого избавиться?

Я отправляю электронное письмо для активации учетной записи из моего приложения.net.

Я установил адрес от "xyz.support@gmail.com" и от имени "xyz", где xyz - это имя домена, т.е. нашего веб-сайта.

Это не было проблемой, когда мы использовали SMTP-сервер Google, поскольку я предоставлял учетные данные Google во время отправки. Но теперь я использую SMTP своего веб-сервера для отправки электронной почты.

Когда я просматриваю письмо активации в gmail, я получаю это:

Это сообщение, возможно, не было отправлено: xyz.support@gmail.com Подробнее Подробнее Фишинг

Есть ли способ избавиться от этого, чтобы gmail и другие клиенты не показывали это сообщение?

Вот код:

var smtpClient = new SmtpClient();
var message = new MailMessage();

smtpClient.Host = _config.SMTPServer;
message.From = new MailAddress("xyz.support@gmail.com", "xyz");
message.To.Add("newuser@gmail.com");            

message.IsBodyHtml = true;
message.Subject = "Test subject";
message.Body = "Test Body";

smtpClient.Send(message);

Спасибо

2 ответа

Домен адреса FROM должен совпадать с доменом SMTP-сервера, отправляющего электронную почту, в противном случае ваше сообщение рассматривается как спам.

Это объясняет, почему вы избегаете "ошибки", отправляя через SMTP-сервер Google.

Предложение IrishChieftain об использовании SPF мне помогло, поэтому вот краткое изложение шагов, которые я сделал:

1.) Во-первых, я также получил сообщения электронной почты в почтовом ящике GMail, которые я отправил со своего сервера и получил предупреждение "Возможно, это сообщение не было отправлено...".

2.) Затем я посмотрел источник электронной почты внутри GMail (щелкните стрелку рядом с сообщением и выберите "Показать оригинал"). Отрывок оттуда был:

Получено-SPF: сбой (google.com: домен меня @mydomain.com не обозначает 211.113.37.19 в качестве разрешенного отправителя) client-ip=211.113.37.19;

Поэтому Google прямо сказал мне, что делать: добавьте некоторые записи SPF в DNS моего домена "mydomain.com", чтобы избавиться от этого предупреждения.

3.) Поэтому я вошел в панель управления моего провайдера DNS и добавил две записи TXT, что-то вроде этого:

*.mydomain.com. 180 v=spf1 +a +mx ip4:211.113.37.19 -all
mydomain.com. 180 v=spf1 +a +mx ip4:211.113.37.19 -all

Обратите внимание, что я ввел каждую строку в трех отдельных полях:

  • Одно поле для *.mydomain.com.
  • Одно поле для 180 (TTL, 3 минуты в моем примере)
  • Одно поле для v=spf1 +a +mx ip4:211.113.37.19 -all

4.) После этого я немного подождал и попытался отправить заново. Это удалось. Google теперь показывает в оригинале:

Received-SPF: pass (google.com: домен Received-SPF: pass (google.com: домен me@mydomain.com обозначает 211.113.37.19 в качестве разрешенного отправителя) client-ip=211.113.37.19;

Обратите внимание, что я выбираю версию SPF, поскольку почтовый сервер находится на другом компьютере, чем веб-сервер, поэтому я не смог выполнить другое решение, как писал Мулмот.

Существует также мастер SPF от Microsoft для правильной генерации записей SPF. Кроме того, вот еще один генератор SPF.

Другие вопросы по тегам