Некоторые провайдеры, такие как «live.com», «virgilio.it» или «libero.it», отмечают все электронные письма, отправленные с моего сайта в виде СПАМА. Мой сайт размещен на моем выделенном сервере в Аруба SPA. Я уже пробовал с некоторыми настройками, добавляя альтернативный вид или манипулируя заголовками, но без успеха! Странный факт заключается в том, что если я отправлю электронное письмо с помощью своего локального компьютера, письмо будет получено без проблем, там не будет отмечено СПАМ! Для отправки по электронной почте, я использовать внешний SMTP сервер (SMTP. MYDOMAIN .it)C# Net.Mail e-mail, помеченный как спам, но только с выделенного сервера
Мой выделенный сервер работает под управлением 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)
Не могли бы вы высказать свой код, который вы написали для отправки по электронной почте? – Pushpendra
Серверы электронной почты трудно управлять, и если вы используете их в основной сети хостинга, вы часто занесены в черный список из-за активности других пользователей в той же сети. Даже крупные парни иногда попадают в черный список. Я предлагаю вам ввести свой почтовый сервер на узлах проверки черного списка, например http://mxtoolbox.com/blacklists.aspx, и выяснить, что делать после этого. По-моему, есть много вещей, которые могут помочь улучшить ваш счет против спам-фильтров, если вы не планируете запускать работу с электронной почтой, это просто не стоит. Платите за услугу. –
Все, я отправил свой код. @ Erik Я понимаю о действиях в той же сети, но у меня есть stati IP для моего сервера, и я не понимаю, почему с локальной машины с динамическим IP работает! Я использую тот же SMTP-адрес, что и выделенный сервер. – user2950363