을 사용하여 이미지 포함 여기 내 상황이 있습니다.전자 메일 HTML 문서, C#
이미지가 포함 된 HTML 형식의 문자열로 이메일을 보내야합니다. 내 이미지를 base64로 변환하려고했지만 작동하지 않습니다.
이메일에는 System.Drawing.Image 유형의 이미지가 3 개 있습니다. HTML 형식의 문자열로 가져와야합니다.
을 사용하여 이미지 포함 여기 내 상황이 있습니다.전자 메일 HTML 문서, C#
이미지가 포함 된 HTML 형식의 문자열로 이메일을 보내야합니다. 내 이미지를 base64로 변환하려고했지만 작동하지 않습니다.
이메일에는 System.Drawing.Image 유형의 이미지가 3 개 있습니다. HTML 형식의 문자열로 가져와야합니다.
base64로 변환하는 것이 옳았지만 포함시키기에 충분하지 않습니다 (클라이언트가 base64를 일반 텍스트로 구분할 수있는 방법이 없음). 조금 포맷해야합니다.
체크 아웃 Buhake의 대답은, 그것은 아주 잘 일반적으로 문제를 다룹니다 (당신은 거기까지 갈 수있을 것입니다) : 전자 메일에 이미지를 삽입 할 수 How to embed images in email
Base64는 좋은 해결책이지만 고화질 이미지를 전송했기 때문에 내 앱에는 적합하지 않습니다. 나는 한 번 이미지를 보내면 2300 페이지의 텍스트 파일이 만들어 질 것입니다. 나는 html 전자 메일 자체에 포함시키지 않음으로써이 문제를 해결했습니다. 간단히 첨부 파일로 보내고 html로 동적으로 참조했습니다. –
다른 방법 System.Net.Mail
가 있습니다 사용하는 경우 로컬 드라이브의 이미지를 이메일에 첨부하고 contentID
을 할당 한 다음 나중에 이미지 URL에 contentID
을 사용하십시오. 코드가 어디
msg.IsBodyHtml = true;
Attachment inlineLogo = new Attachment(@"C:\Desktop\Image.jpg");
msg.Attachments.Add(inlineLogo);
string contentID = "Image";
inlineLogo.ContentId = contentID;
//To make the image display as inline and not as attachment
inlineLogo.ContentDisposition.Inline = true;
inlineLogo.ContentDisposition.DispositionType = DispositionTypeNames.Inline;
//To embed image in email
msg.Body = "<htm><body> <img src=\"cid:" + contentID + "\"> </body></html>";
+1 아주 좋은 해결책입니다. 나는 지금 내 남은 하루 동안 다른 것을 할 수있다. ;) – Samuel
나를 위해 일한 가장 깨끗한 해결책, 내 하루를 저장 +1 –
우수. Thx 많이 :) –
입니다 : 다음과 같이 수행 할 수 있습니다
? –
나는'img' 태그의'src' 속성으로 base64 문자열을 사용할 수있을 것이라고 생각합니다. 너 뭐하려고했는데? –
부분적으로 true : src = "data : image/png; base64, YOUR_BASE_64_ENCODED_DATA"에서 작동하지만 일반적으로 지원되지 않습니다. –