2016-06-11 2 views
1

Некоторые провайдеры, такие как «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) 
+0

Не могли бы вы высказать свой код, который вы написали для отправки по электронной почте? – Pushpendra

+0

Серверы электронной почты трудно управлять, и если вы используете их в основной сети хостинга, вы часто занесены в черный список из-за активности других пользователей в той же сети. Даже крупные парни иногда попадают в черный список. Я предлагаю вам ввести свой почтовый сервер на узлах проверки черного списка, например http://mxtoolbox.com/blacklists.aspx, и выяснить, что делать после этого. По-моему, есть много вещей, которые могут помочь улучшить ваш счет против спам-фильтров, если вы не планируете запускать работу с электронной почтой, это просто не стоит. Платите за услугу. –

+0

Все, я отправил свой код. @ Erik Я понимаю о действиях в той же сети, но у меня есть stati IP для моего сервера, и я не понимаю, почему с локальной машины с динамическим IP работает! Я использую тот же SMTP-адрес, что и выделенный сервер. – user2950363

ответ

1

Вы можете проверить, что ваш IP сервер установили RDNS/PTR запись правильно. Вы можете подтвердить это с помощью here.. Если он не установлен, вы можете обратиться к своему провайдеру хостинга, чтобы установить его для IP-адреса вашего сервера.

Проверьте свой IP-адрес вашего сервера в черном списке или нет от here. Если он включен в черный список, вам необходимо диагностировать первопричину и предпринять корректирующие действия. После этого отправьте запрос на удаление IP-адреса в черный список ISP/RBL.

Проверьте репутацию своего IP-адреса. Если он плохой, вы должны проверить его основную причину, например, скомпрометировать электронную почту или любой другой, а затем дождаться обновления репутации вашего IP-адреса до общего или хорошего.

Добавить надлежащие DKIM и SPF записи в ваш домен, с которого вы отправляете электронные письма. Если эти записи не установлены, вы можете либо связать своего веб-разработчика, либо хостинг-провайдера, чтобы установить эти записи для вас.

+0

Ty Herbal, вы правы. Я связался с хостингом, и они рассказали мне о rDns и Ptr. Но я не уверен, что это правильный способ ... Я не использую SMTP-сервер на своей машине, записи Mx управляются хостингом ... как я могу установить Ptr или nDns, если у меня нет SMTP-сервера ? Я только что открыл билет для решения проблемы, и технические специалисты расследуют проблему. В противном случае я решил проблему с помощью Gmail SMTP! – user2950363

+0

Вы не можете установить запись rDNS/PTR с вашего конца, как это требуется для установки на IP-адрес. Следовательно, ваш хостинг-провайдер должен настроить его для вас. Вы можете использовать стороннюю SMTP-службу, но она будет передавать IP-адрес вашего сервера в качестве IP-адреса отправителя. Следовательно, вы можете столкнуться с такой проблемой. Надеюсь, вы сможете отправлять электронную почту с выделенного сервера после установки записей rDNS/PTR, DKIM и SPF. – Herbal

+0

Хостинг исследовал мою проблему и сказал мне, что показатель спама моего IP-трафика был высоким. Теперь они сбрасывают счет спама, и все работает, но на будущее я попросил активировать rDns, Skin и SPF – user2950363