2014-01-10 4 views
0

Я использую 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 &lt;[email protected]@example.com&gt;"> 
    <network enableSsl="false" host="[email protected]" port="25" userName="[email protected]" password="xxx" /> 
    </smtp> 

</mailSettings> 

Что мы пробовали

  1. Отправка наших сообщений электронной почты стандартным способом с помощью SmtpClient. Эта почта не попала в спам.
  2. Установка x.От лучшего имени.
  3. Различные типы контента
  4. x.IsBodyHtml = true
  5. Отправка по электронной почте от нашей электронной почты клиента (тот же адрес). Эта почта не попала в спам.

Вопросы

  1. Может наша электронная почта будет фильтроваться чрезмерным использованием HTML?
  2. Неужели кто-нибудь сталкивался с этой проблемой раньше, используя этот пакет Nuget?
  3. Как я могу остановить отправку своих писем от спама?
  4. Прежде всего: почему они собираются спамить?
+0

Что касается ваших вопросов, вы протестировали несколько почтовых клиентов? (Gmail/Outlook/Yahoo/и т.д.). Спам в основном фильтруется фильтрами ISP/Content/Personal, поэтому вам придется задуматься над тем, чтобы ваша электронная почта выглядела меньше «Spammy». Можете ли вы попробовать использовать шаблон UserMailer Welcome() по умолчанию и посмотреть, идет ли это спам? –

+0

Я не думаю, что это причина, потому что, когда я отправляю то же самое электронное письмо с SmtpClient, оно не переходит в спам. Это должно означать, что это не содержание, не так ли? Я попробую несколько разных клиентов! –

+0

Ну, это зависит. SmtpClient может просто отправлять чистый текст в ваши тесты и фактически отправлять HTML. Есть много вещей, которые вы можете использовать для «исправления» в своем HTML-сообщении, но сначала вам нужно проверить, попадает ли сообщение шаблона MVCMailer Welcome() в спам или нет. Оттуда вы можете понять, что это может быть проблема ISP/Untrusted Sender. –

ответ

0

Постарайтесь проверить все гиперссылки в шаблоне. Это было просто слово «электронная почта» в одном из моих Url.Action для того, чтобы стать барахлом.

Смежные вопросы