如何发送电子邮件而不进入垃圾邮件

问题描述 投票:0回答:3
        MailAddress mailFrom = new MailAddress("[email protected]");
        MailAddress mailTo = new MailAddress("[email protected]");
        MailMessage mail2 = new MailMessage(mailFrom, mailTo);
        mail2.IsBodyHtml = true;
        SmtpClient client = new SmtpClient();
        client.Port = 25;
        client.Host = "xxx.xx.xx.xxx"; // smtp host ip
        mail2.Subject = "Testing.";
        mail2.Body = "Hello";
        mail2.SubjectEncoding = System.Text.Encoding.UTF8;
        mail2.BodyEncoding = System.Text.Encoding.UTF8;
        client.Send(mail2);

上面是我用来通过 smtp 发送电子邮件的功能,但我意识到所有邮件都位于我的垃圾邮件文件夹(Gmail)中。有什么办法可以解决吗

c# asp.net email
3个回答
3
投票
  1. IsBodyHTML
    标记为 true,但您只提供文本/html。您至少需要包含带有文本的替代视图

    mail2.Body =“你好”;

  2. 确保您使用的“邮件发件人”和“邮件收件人”不是同一地址或

    MailMessage mail2 = new MailMessage(mailFrom, mailTo);

更新

 mail2.IsBodyHtml = true;
        SmtpClient client = new SmtpClient();
        client.Port = 25;
        client.Host = "xxx.xx.xx.xxx"; // smtp host ip
        mail2.Subject = "Testing.";
        mail2.Body = "Hello";
        string html = "html";
        // here is example to user AlternateViews 

        mail2.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, new System.Net.Mime.ContentType("text/html"));
        string Plaintext ="plain text";
        mail2.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Plaintext, new System.Net.Mime.ContentType("text/plain"));
        mail2.SubjectEncoding = System.Text.Encoding.UTF8;
        mail2.BodyEncoding = System.Text.Encoding.UTF8;
        client.Send(mail2);

1
投票

尝试此操作并恢复。

string mailServer;
int port;
string mailId, mailPass;
string subject;
string mailTo;
subject="something";
StringBuilder mailBody = new StringBuilder();
mailTo = "[email protected]";
mailServer = "smtp.gmail.com";
mailId = "[email protected]";
myString.Length = 0;
myString.Append("<html><body><div>BODY CONTENT</div></body></html>");
mailPass = "xxxxxx";
port = 587;
MailMessage mail = new MailMessage(mailId, mailTo, subject, myString.ToString());
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient(mailServer, port);
System.Net.NetworkCredential nc = new System.Net.NetworkCredential(mailId, mailPass);
smtp.UseDefaultCredentials = false;
smtp.Credentials = nc;
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(mail);

0
投票

选择可靠的 SMTP 服务器,例如 Idealsmtp、mailjet 或 smtpget;

  • 使用 SPF、DMARC 和 DKIM 验证您的域
  • 避免垃圾邮件触发词
  • 个性化电子邮件
  • 提供明确的选择加入/选择退出选项
  • 留意垃圾邮件投诉的反馈循环
  • 定期清理您的电子邮件列表
  • 测试电子邮件的垃圾邮件过滤器分数
© www.soinside.com 2019 - 2024. All rights reserved.