【问题标题】:Why is my mail being marked as spam when send via Mvc.Mailer?为什么我的邮件在通过 Mvc.Mailer 发送时被标记为垃圾邮件?
【发布时间】:2014-01-10 15:40:00
【问题描述】:

我正在使用 Nuget Package Mvc.Mailer 向我的客户发送电子邮件。我关注了this guide,我遇到了一件非常烦人的事情。我发送的电子邮件总是被发送到垃圾邮件。这是我的代码的样子:

用户邮箱:

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 <noreply@example.com>";
            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;noreply@@example.com&gt;">
    <network enableSsl="false" host="mail.@example.com" port="25" userName="noreply@example.com" password="xxx" />
  </smtp>

</mailSettings>

我们的尝试

  1. 通过标准方式使用 SmtpClient 发送我们的电子邮件。这封邮件没有进入垃圾邮件。
  2. 将 x.From 设置为更好的名称。
  3. 不同的内容类型
  4. x.IsBodyHtml = true
  5. 从我们的电子邮件客户端(相同地址)发送电子邮件。这封邮件没有进入垃圾邮件。

问题

  1. 我们的电子邮件是否会因过度使用 html 而被过滤?
  2. 有没有人在使用这个 Nuget 包之前遇到过这个问题?
  3. 如何阻止我的电子邮件进入垃圾邮件?
  4. 最重要的是:他们为什么要发送垃圾邮件?

【问题讨论】:

  • 关于您的问题,您是否测试过多个电子邮件客户端? (Gmail/Outlook/雅虎/等)。垃圾邮件主要由 ISP/内容/个人过滤器过滤,因此您必须考虑让您的电子邮件看起来不那么“垃圾邮件”。您可以尝试使用默认的 UserMailer Welcome() 模板并查看它是否也会进入垃圾邮件?
  • 我不认为这是原因,因为当我使用 SmtpClient 发送完全相同的电子邮件时,它不会进入垃圾邮件。那一定意味着它不是内容,对吧?我会尝试一些不同的客户端!
  • 这取决于。 SmtpClient 可能只是在您的测试中发送纯文本而不是实际发送 HTML。您可以在 HTML 消息中“修复”很多事情,但首先您需要检查模板 MVCMailer Welcome() 消息是否进入垃圾邮件。从那里你可以发现它可能是一个 ISP/不受信任的发件人问题。

标签: email asp.net-mvc-4 spam nuget-package


【解决方案1】:

尝试检查模板中的所有超链接。这只是我的一个 Url.Action 中的“电子邮件”一词成为垃圾。

【讨论】:

    猜你喜欢
    • 2012-08-17
    • 2014-06-27
    • 2014-12-11
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多