【发布时间】:2016-10-12 16:00:06
【问题描述】:
“live.com”、“virgilio.it”或“libero.it”等一些提供商会将从我的网站发送的所有电子邮件标记为垃圾邮件。我的网站托管在我在 Aruba SPA 上的专用服务器中。 我已经尝试过一些设置,添加替代视图或操作标题,但没有成功! 奇怪的事实是,如果我使用本地计算机发送电子邮件,则可以毫无问题地接收电子邮件,并且没有标记为垃圾邮件! 对于发送电子邮件,我使用外部 SMTP 服务器 (smtp.mydomain.it)
我的专用服务器运行的是 Windows Server 2008 R2 IIS 7.5,我的本地机器运行的是 Windows 10 IIS 10。
请帮帮我!
这是我的代码
Dim mail As New System.Net.Mail.MailMessage
Dim invio As New System.Net.Mail.SmtpClient()
invio.Host = serverSMTP
invio.DeliveryMethod = Net.Mail.SmtpDeliveryMethod.Network
invio.UseDefaultCredentials = False
Dim Credentials As Net.NetworkCredential = New Net.NetworkCredential(username, password)
invio.Credentials = Credentials
mail.Sender = New Net.Mail.MailAddress(mittente, displayname, System.Text.Encoding.GetEncoding("utf-8"))
mail.From = New Net.Mail.MailAddress(mittente, displayname, System.Text.Encoding.GetEncoding("utf-8"))
mail.ReplyToList.Add(New Net.Mail.MailAddress(mittente, displayname, System.Text.Encoding.GetEncoding("utf-8")))
mail.To.Add(destinatario)
mail.Subject = oggetto
mail.IsBodyHtml = True
mail.BodyEncoding = System.Text.Encoding.GetEncoding("utf-8")
mail.SubjectEncoding = System.Text.Encoding.GetEncoding("utf-8")
'mail.Body = corpo
mail.HeadersEncoding = System.Text.Encoding.GetEncoding("utf-8")
mail.Headers.Add("Message-Id", String.Concat("<", Now.ToString("yyMMdd"), ".", Now.ToString("HHmmss"), Mid(username, InStr(username, "@"), Len(username)), ">"))
Dim plainView As System.Net.Mail.AlternateView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(System.Text.RegularExpressions.Regex.Replace(corpo, "<(.|\n)*?>", String.Empty), System.Text.Encoding.GetEncoding("utf-8"), "text/plain")
Dim htmlView As System.Net.Mail.AlternateView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(corpo, System.Text.Encoding.GetEncoding("utf-8"), "text/html")
mail.AlternateViews.Add(plainView)
mail.AlternateViews.Add(htmlView)
invio.Send(mail)
【问题讨论】:
-
能否请您发布您为发送电子邮件而编写的代码?
-
电子邮件服务器很难管理,如果您在主要托管网络上运行它们,那么您经常会因为同一网络上其他人的活动而被列入黑名单。即使是大人物也偶尔会被列入黑名单。我建议您在mxtoolbox.com/blacklists.aspx 等黑名单检查网站上输入您的电子邮件服务器,然后弄清楚之后该做什么。坦率地说,有很多事情可以帮助您提高针对垃圾邮件过滤器的分数,除非您打算经营电子邮件业务,否则这是不值得的。为服务付费。
-
大家好,我已经发布了我的代码。 @Erik我了解同一网络上的活动,但我的服务器有一个静态IP,我不明白为什么本地机器使用动态IP工作!我使用与专用服务器相同的 SMTP 地址。
-
静态ip没关系。当主机被列入黑名单时,它通常会将该主机提供商的整个 IP 块列入黑名单。
-
所以......你的意思是我的 IP 被列出并且电子邮件被标记为垃圾邮件,即使我在端口 465 上使用像谷歌这样的外部 SMTP 服务器......并且没有解决方案,对吗?跨度>
标签: c# email iis spam-prevention email-spam