Я использую Nuget Package Mvc.Mailer для отправки электронной почты своим клиентам. Я последовал за this guide, и я встречаю одну очень неприятную вещь. Мои отправленные электронные письма всегда отправляются на спам. Вот что мой код выглядит следующим образом:Почему моя почта помечена как спам при отправке через Mvc.Mailer?
UserMailer:
public virtual MvcMailMessage Authenticatie(User user, string email)
{
ViewBag.User = user;
ViewBag.Email = email;
return Populate(x =>
{
x.Subject = "Your registration at Example";
x.ViewName = "Registration";
x.IsBodyHtml = true;
x.From = "Name <[email protected]>";
x.To.Add(email);
});
}
Registration.cshtml:
using Mvc.Mailer
<div>
<p style="display: none">Stuff in my email</p>
<h1 style="background: #e68425; text-align: center; color: white; margin: 0px; padding: 10px;">
A bunch of HTML
</h1>
<div style="background: #cf7721; text-align: center; padding: 10px;">
<h3 style="margin: 0px;"><a href="@Url.Abs(Url.Action("ALink", "Administration", new { login = @ViewBag.User.Login, h = @ViewBag.User.Activation}))">Activate account</a></h3>
</div>
<div>
<p>Dear client,</p>
<p>
Thanks for bla bla bla... And more stuff.
</p>
<table>
<tr>
<td>Login:</td>
<td>@ViewBag.User.Login</td>
</tr>
<tr>
<td>Activatiecode:</td>
<td>@ViewBag.User.Activation</td>
</tr>
</table>
</div>
Web.config:
<mailSettings>
<!-- Method#1: Configure smtp server credentials -->
<smtp from="Example <[email protected]@example.com>">
<network enableSsl="false" host="[email protected]" port="25" userName="[email protected]" password="xxx" />
</smtp>
</mailSettings>
Что мы пробовали
- Отправка наших сообщений электронной почты стандартным способом с помощью SmtpClient. Эта почта не попала в спам.
- Установка x.От лучшего имени.
- Различные типы контента
x.IsBodyHtml = true
- Отправка по электронной почте от нашей электронной почты клиента (тот же адрес). Эта почта не попала в спам.
Вопросы
- Может наша электронная почта будет фильтроваться чрезмерным использованием HTML?
- Неужели кто-нибудь сталкивался с этой проблемой раньше, используя этот пакет Nuget?
- Как я могу остановить отправку своих писем от спама?
- Прежде всего: почему они собираются спамить?
Что касается ваших вопросов, вы протестировали несколько почтовых клиентов? (Gmail/Outlook/Yahoo/и т.д.). Спам в основном фильтруется фильтрами ISP/Content/Personal, поэтому вам придется задуматься над тем, чтобы ваша электронная почта выглядела меньше «Spammy». Можете ли вы попробовать использовать шаблон UserMailer Welcome() по умолчанию и посмотреть, идет ли это спам? –
Я не думаю, что это причина, потому что, когда я отправляю то же самое электронное письмо с SmtpClient, оно не переходит в спам. Это должно означать, что это не содержание, не так ли? Я попробую несколько разных клиентов! –
Ну, это зависит. SmtpClient может просто отправлять чистый текст в ваши тесты и фактически отправлять HTML. Есть много вещей, которые вы можете использовать для «исправления» в своем HTML-сообщении, но сначала вам нужно проверить, попадает ли сообщение шаблона MVCMailer Welcome() в спам или нет. Оттуда вы можете понять, что это может быть проблема ISP/Untrusted Sender. –