2011-03-17 4 views
0

Asp.net 페이지에서 첨부 파일이있는 전자 메일을 보내고 있습니다. 첨부 할 파일이 다른 서버에 저장되어 있습니다. 그러한 파일을 첨부하는 방법을 안내하십시오. 파일의 URL을 알려 주려고했지만 오류가 발생했습니다. "URI 형식이 지원되지 않습니다."다른 서버 (URL)의 이메일 첨부 파일이 있습니까? pleaes guide

Message.Attachments.Add(new Attachment("http://domain.com/upload/cv.doc")); 

다른 서버에서 파일을 첨부하는 방법을 안내해주세요.

답변

1

먼저 HttpWebRequest을 C#/Asp.Net 코드로로드하고 StreamReader을 사용하여 결과를 읽은 다음 Asp.Net 앱에 파일 시스템에 대한 권한이있는 경우 로컬 파일에 저장하십시오. 그런 다음 새로 생성 된 파일의 파일 이름을 지정하십시오.

이메일이 이미 전송 된 경우 로컬 파일을 삭제하는 것을 잊지 마십시오.

편집 :

그것은 직선 파일 경로와 함께 작동합니다. 파일이 동일한 웹 사이트에 해당되는 경우,이를 사용해보십시오 :

var filePath = HttpContext.Current.Server.MapPath("/someTempFile.dat"); // here/- is the website root. 
//now use filePath as an argument to Attachment() constructor. 

같은이 사실이 다른 도메인에서 파일을 다운로드 한 파일 인 경우. 파일이없는 웹 사이트 아래에있는 경우

는, 당신은 내가 희망이 도움이

var filePath = "C:\SomeTempFolder\someTempFile.dat"; 

같은 경로를 사용하여 좋은해야합니다!

+0

Tengiz 파일을 직접 첨부 할 수 없습니까? 파일과 응용 프로그램이 같은 서버에 있다면 경로를 알려줘야합니다. 감사합니다 – haansi

+0

편집 된 게시물을 참조하십시오. – Tengiz

관련 문제