2011-07-29 3 views
0

일부 고객에게 알림 전자 메일을 보내는 Windows 서비스를 작성하고 있습니다. 결국 나는 그것을 작동하게 만들었고 이메일이 스팸 폴더로 이동한다는 것을 알게되었습니다. spamscorechecker.com 점수 도구를 사용했는데 헤더에 Message-Id가 없어서 내 이메일이 스팸으로 간주된다는 사실을 알았습니다. 내가 잘못하지 않았다면 smtp 서버의 전자 메일에 message-id를 첨부해야합니다. 나는 왜 서버가 프로그램에서 보낸 전자 메일에 대해이를 수행하지 않고 있는지 알 수 없지만 메일 클라이언트 나 웹 메일에서 보낸 전자 메일에 대해서는이를 수행합니다. 나는의 App.config에 어쩌면 내가 그것을 물어 내 코드에서 할 필요가 아니면 뭔가 잘못의 App.config 여기 내 SMTP 설정과이 무언가가 나의 SMTP 설정을한다 생각했다 :전자 메일이 누락되었습니다. 머리글의 메시지 ID가

<system.net> 
    <mailSettings> 
     <smtp from="Reminder &lt;[email protected]&gt;"> 
     <network host="mail.myserver.net" port="587" password="my password" userName="[email protected]"/> 
     </smtp> 
    </mailSettings> 
    </system.net> 

인증과 관련이 있습니까?

+0

송신 클라이언트가 meassge ID를 첨부했습니다. AFAIK ... – Yahia

+0

아니요, 일반적으로 SMTP 서버에서 처리합니다. –

답변

0

message-id를 할당하면 메시지가 스팸으로 취급되지 않는다고 보장 할 수는 없지만 조금 도움이 될 수 있지만 Headers-property를 사용하여 설정할 수 있습니다.

mailMessage.Header.Add("message-id", "123556677000"); 

더 효과적인 방법은 전자 메일 메시지와 함께 메일 인증서를 보내는 것입니다. 메일 인증서는 연간 20-30 달러의 비용이 소요됩니다.

관련 문제