2016-06-11 3 views
1

"live.com", "virgilio.it"또는 "libero.it"와 같은 일부 공급자는 내 웹 사이트에서 보낸 모든 전자 메일을 스팸으로 표시합니다. 내 웹 사이트는 Aruba SPA의 전용 서버에서 호스팅됩니다. 이미 일부 설정을 사용하여 대체보기를 추가하거나 헤더를 조작했지만 성공하지 못했습니다. 이상한 사실은 로컬 컴퓨터를 사용하여 전자 메일을 보내면 문제없이 전자 메일을받을 수 있으며 스팸으로 표시되어 있지 않은 것입니다 !! 이메일을 보내는 경우, 내가C# Net.Mail 전용 서버에서만 스팸으로 표시된 전자 메일

내 전용 서버는 윈도우 서버 2008 R2 IIS 7.5을 실행하는 외부 SMTP 서버 (SMTP. 에 mydomain .IT)를 사용하여, 내 로컬 컴퓨터 기계는 IIS (10)

윈도우 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 주소 평판을 일반 또는 양호로 업데이트 할 때까지 기다려야합니다.

전자 메일을 보내는 도메인에 적절한 DKIMSPF 레코드를 추가하십시오. 이러한 레코드가 설정되지 않은 경우 웹 개발자 나 호스팅 제공 업체에 이러한 레코드를 설정하도록 요청할 수 있습니다.

+0

Ty Herbal, 맞습니다. 나는 호스팅에 연락을했고 그들은 rDns와 Ptr에 관해 나에게 말했다. 하지만 그것이 올바른지 모르겠습니다 ... 내 컴퓨터에서 SMTP 서버를 사용하지 않고 Mx 레코드를 호스팅으로 관리합니다 ... SMTP 서버가없는 경우 Ptr 또는 nDns를 설정하는 방법 ? 방금 문제를 해결하기위한 티켓을 열었고 기술자가 문제를 조사하고 있습니다. 그렇지 않으면 Gmail SMTP를 사용하여 문제를 해결했습니다. – user2950363

+0

rDNS/PTR 레코드는 IP 주소로 설정해야하므로 끝에서 설정할 수 없습니다. 따라서 호스팅 제공 업체가 설정해야합니다. 타사 SMTP 서비스를 사용할 수 있지만 서버 IP 주소를 보낸 사람 IP 주소로 전달합니다. 따라서 이러한 문제가 발생할 수 있습니다. rDNS/PTR, DKIM 및 SPF 레코드가 설정되면 전용 서버에서 이메일을 보낼 수 있습니다. – Herbal

+0

호스팅 업체에서 내 문제를 조사하고 내 IP의 스팸 점수가 높음을 알았습니다. 이제 그들은 스팸 점수를 재설정하고 모든 것이 작동하지만 미래에는 Activ rDns, Skin 및 SPF를 요청했습니다 – user2950363

관련 문제