c# - 进入垃圾邮件文件夹的电子邮件

标签 c# asp.net

我创建了一个社区门户,用户可以在其中创建他/她的帐户。注册成功后,将向注册的电子邮件地址发送一封确认邮件。

我正在使用以下代码发送邮件 -

private void SendMail(string recvr, string recvrName, string verCode, int NewUserID)
{
    try
    {
        string emailID = ConfigurationManager.AppSettings["WebMasterMail"];
        string mailPass = ConfigurationManager.AppSettings["pass"];
        string mailer = ConfigurationManager.AppSettings["mailer"];

        MailMessage msg = new MailMessage();
        MailAddress addrFrom = new MailAddress(emailID, "Panbeli.in.... Bari community portal");
        MailAddress addrTo = new MailAddress(recvr, recvrName);

        msg.To.Add(addrTo);
        msg.From = addrFrom;
        msg.Subject = "You have registered sucessfully on PanBeli.in.";
        msg.Priority = MailPriority.High;
        msg.Body = RegisterMessageBody(recvrName, verCode,NewUserID);
        msg.IsBodyHtml = true;

        SmtpClient smtp = new SmtpClient(mailer);
        smtp.Credentials = new System.Net.NetworkCredential(emailID, mailPass);
        smtp.Send(msg);
    }
    catch (Exception Ex) { }
}

在测试时我们发现所有的确认邮件都会进入垃圾邮件文件夹而不是收件箱。

代码有没有问题,或者有什么安全问题。

任何人都可以建议解决这个问题。

感谢您分享您的时间。

最佳答案

听起来您的电子邮件被 SpamAssassin 等标记了,所以您只需要专注于更改您的电子邮件,以免被标记。

  • 您的内容听起来没有任何理由在贝叶斯得分方面获得高分,所以我认为这不是问题所在。不过,尝试删除可能的触发词也没什么坏处。

  • 您的消息被标记为高优先级。你需要这个吗?这只是添加到垃圾邮件过滤器中的评分指标之一。垃圾邮件通常被标记为高优先级,因此您的邮件将受到更严格的审查。另一方面,对于某些将您的消息标记为高优先级的过滤器,意味着较少的审查。

  • IsBodyHTML 标记为 true,但您仅提供 text/html。您至少需要包含一个带有 text/plain 的替代 View 。

    message.IsBodyHtml = true;
    string html = RegisterMessageBodyHtml(recvrName, verCode,NewUserID);
    string plain = RegisterMessageBodyPlaintext(recvrName, verCode, NewUserID);
    message.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, new ContentType("text/html"));
    message.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(plain, new ContentType("text/plain"));
    
  • 了解 Google 如何处理您的消息。在 Gmail 中,打开您发送的测试邮件,点击回复按钮旁边的向下箭头,然后选择“显示原件”。您会看到 Google 如何处理您的消息。寻找像这样的标题:

    Received-SPF: softfail (google.com: domain of transitioning xxx@xxx.org does not designate xx.xx.xx.xx as permitted sender) client-ip=xx.xx.xx.xx;
    Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning xxx@xxx.org does not designate xx.xx.xx.xx as permitted sender) 
    
  • 阅读 SpamAssassin 的默认规则集,因为它可能是大多数过滤器规则集的良好引用。如果您能确定您的邮件被标记的原因,则可以修复它。

关于c# - 进入垃圾邮件文件夹的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5042309/

相关文章:

c# - Elasticsearch 在使用 IndexMany 时推断动态类型的 _id

c# - 如何在 C# 中找出并防止死锁

c# - 是什么导致此 ASP.NET 标记被视为字符串?

c# - View 中的 2 个按钮在 asp.net mvc 中执行不同的操作

c# - 繁重的计算分析/优化

c# - SSDT TSqlModel.DeleteObjects 方法的行为不符合预期

c# - 用一对或多对字符之间的点确定单词排列的算法

C# 和 win32 API。在两个桌面之间切换。如何回到原来的桌面?

c# - 下拉列表选定索引更改上的不同 SQL 数据源

asp.net - 如果页面作为弹出窗口打开,是否可以隐藏 ASP.NET 母版页的内容?