2010-02-23 5 views
5

미리 정의 된 보낸 사람을 수락하는 SMTP 서버가 있습니다.
그러나 DATA 구조의 헤더에서 사용자 지정을 추가하여 다른 (보낸 사람) 주소를 설정할 수 있습니다. 나는 이메일 메시지 작성 텔넷을 사용하여 테스트하는 경우가 가능하다 :System.Net.Mail SMTP 클래스에 사용자 정의 헤더를 추가하는 방법은 무엇입니까?

>helo there 
>mail from:[email protected] 
>rcpt to:[email protected] 
>data 
From:[email protected] 
To:[email protected]omain.com 
Subject:Test 
Test message 
. 

이 이메일은 수신자에 도착, 주소에서이 목표 인 [email protected]이다.
여기 내 문제가 있습니다.

System.Net.Mail SMTP 클래스의 "헤더에서"어떻게 모방 할 수 있습니까? SMTP 서버 정책을 위반하기 때문에 from 속성을 설정하는 데 실패합니다. 이 같은 뭔가 좋은 것, 그러나 그것은 작동하지 않습니다

var fromAddress = new MailAddress("[email protected]"); 
var toAddress = new MailAddress("[email protected]"); 
string subject = "Subject"; 
string body = "Body"; 

var smtp = new SmtpClient 
{ 
    Host = "my-smtp-server", 
    Port = 25, 
    DeliveryMethod = SmtpDeliveryMethod.Network 
}; 

using (var message = new MailMessage(fromAddress, toAddress) 
{ 
    Subject = subject, 
    Body = body, 
    ReplyTo = new MailAddress("[email protected]"), 

}) 
{ 
    message.Headers.Add("From", "[email protected]"); // <---- This would be great, if it worked 
    smtp.Send(message); 
} 

가지고 사람이 어떤 아이디어를 가지고?

추신. TCP 소켓을 사용하여 사용자 정의 SMTP 클래스를 직접 작성하면 작동하지만 표준 .NET 클래스에서이를 수행 할 수 있습니까?

답변

4

질문을 게시하기 전에 실험을 해보았어야합니다 ...
(하지만 삭제하는 대신 다른 사람들이 동일한 문제가있는 경우 여기에 남겨 두겠습니다).

해결책은 MailMessage 개체의 보낸 사람 및 보낸 사람 속성을 설정하는 것이 었습니다.
(내가 그렇지 않으면 작동하지 않는, 모두를 설정해야 할 것입니다) : 가능 "메시지"를 작동 smtp.Send가 호출 될 때 범위를 벗어 수 없습니다

var message = new MailMessage(fromAddress, toAddress) 
{ 
    Subject = subject, 
    Body = body, 
    From = new MailAddress("[email protected]"), 
    Sender = new MailAddress("[email protected]") 
}; 

smtp.Send(message); 
+0

. 문법은 완전히 잘못되었으며 대답은 해결책을 설명하지 않습니다. – GregJF

+0

@GregJF, Welcome to Stackoverflow. 답변을 향상시킬 수있는 방법이 있다고 생각되면 수정을 제안 할 수 있습니다. –

+0

Magnus, 나를 환영 해 주셔서 고맙습니다. Stackoverflow : 나는 6 년 이상 회원으로 활동 해 왔습니다. 나는 당신의 답을 향상시키는 방법을 제안했다 : 당신의 구문을 정정하라 !! 질문은 헤더에 관한 것이지만 귀하의 대답에는 언급하지 마십시오. 구문에 게시하기 전에 스크래치 패드를 사용하여 코드를 확인하십시오. 예 : Linqpad – GregJF

관련 문제