2011-03-30 3 views
5

내 앱은 알 수없는 크기와 폭/높이 비율의 이미지를 하나 이상 포함하는 HTML 이메일을 보냅니다. 내가 원하는 효과는이 CSS를 무시, Gmail 및 아웃룩 2010을 포함한 대부분의 이메일 클라이언트처럼 보인다, 그러나HTML 전자 메일로 보낸 이미지에 최대 너비 및 최대 높이 효과를 적용하려면 어떻게해야합니까?

<img style="max-width: 200px; max-height: 200px;" src="..." /> 

입니다. 단순히 너비와 높이를 설정하는 것은 이미지가 사각형이 아니기 때문에 작동하지 않으며 크기와 비율을 미리 알지 못합니다.

답변

6

이미지 크기를 알 수 없으므로 프로그램 방식이 효과적입니다. 전자 메일을 처리/빌드하는 동안 이미지의 크기를 살짝보고 html로 높이와 너비를 설정해야합니다.

이렇게하면 모든 클라이언트 (또는 대부분 :)에 정확하게 이미지의 크기를 조정할 수 있습니다.

4

불행히도 이메일 클라이언트에서 널리 지원되는 CSS 속성은 많지 않습니다.

여기에 chart about the current situation입니다.

@Groovetrain이 제안한 것과 같은 옵션 만 생각할 수도 있고, 대신 이미지에서 프로그래밍 방식으로 축소판을 생성하여 이미지를 저장하고 이메일에있는 이미지를 사용할 수 있습니다. Groovetrain 제안처럼 당신이 프로그래밍 솔루션을 할 수없는 경우

1

는 최적의 경로는

  1. 이다 게재됩니다 이미지의 가능 최대 & 분의 크기를 알 수 있습니다.
  2. 포함 요소가 최대 크기를 허용하는지 확인하십시오.
  3. 포함 요소에서 가로가 & 세로 정렬 (및 필요한 경우 패딩)을 설정하여 전자 메일이 허용 가능으로 보이는 최대 및 최소 이미지를 모두 표시하도록합니다.

나는 그래서 가끔 내가 아래로 내 발을 넣어 가지고, 우리가 작업중인 이미지를 업로드하기 전에 크기를 조정할 수 있음을 주장했다, 제한된 API를 지원하는 이메일 시스템과 함께 작동합니다.

0

나는 이것이 오래되었음을 알고 있지만, 나는 이것을 구현해야만했다. 당신이 당신의 이메일 html 코드를 빌드 할 때 프로그램 이미지를보고 - - Groovetrain이 시사하는 내용에 따라 너무 큰 경우 여기에 600 이미지의 폭을 제한하는 몇 가지 C#을 ASP.NET의 코드는 다음과 같습니다 분명히 그런

string imgPth = HttpContext.Current.Server.MapPath("/images/yourimage.jpg"); 
System.Drawing.Image img = System.Drawing.Image.FromFile(imgPth); 
string emailImage = "<img src='http://www.yourdomain.com/images/yourimage.jpg'"; 
if (img.Width > 600) 
    emailImage += " width='600' style='width:600px;'"; 
emailImage += "/>"; 

귀하의 이메일 본문에 emailImage을 추가하십시오.

+0

width = '600'은 'px'를 올바르게 제거합니다. Outlook에서는 'px'가 포함되어 있으면 설정을 모두 무시합니다. – Jerome

0

당신은 폭을 제어하려면이 방법을 사용할 수 있습니다 :

<table width="100%"> <!-- a width 100% container --> 
    <tr> 
     <td></td> <!-- an empty cell, which will adapt its width --> 
     <td width="200"> <!-- it's like max-width:200px --> 
      <img src="your_image" width="100%" /> 
     </td> 
     <td></td> <!-- another empty cell, which will adapt its width --> 
    </tr> 
</table> 

이 팁은 작동합니다. 화면 크기가 200px 미만인 경우 이미지가 더 작게 표시됩니다. 기본적으로 이미지는 중앙에 위치합니다! 왼쪽 또는 오른쪽으로 정렬하려면 첫 번째 빈 셀 또는 마지막 셀을 삭제하십시오.

최대 높이의 경우에는 잘 모릅니다 ...이 경우, 높이가 자동으로 계산됩니다!

희망은 당신이 동료를 도울 것입니다!

편집 : 나는 최선의 답변에 동의합니다! 스크립트가 전자 메일을 구성하는 경우 스크립트에서 너비와 높이를 선택하고 코드를 수정하십시오. 그것은 작동해야합니다 ...

관련 문제