2013-06-07 2 views
0

아래의 코드를 사용하여 html 전자 메일을 보내고 있지만 다른 사서함에서는 출력이 달라집니다. Gmail에서 야후, rediff, hotmail 및 ms Outlook에서 전체 레이아웃이 깨지면 괜찮을 것입니다.자바에서 보낸 html 전자 메일로 글리치 표시

메일 클라이언트와 관계없이 모든 표시가 어떻게 같을 수 있습니까?

StringBuffer sb = new StringBuffer(); 

sb.append("<!DOCTYPE HTML>"); 
sb.append("<html lang='en' style='height: 100%;'><head>"); 
sb.append("<meta http-equiv='X-UA-Compatible' content='chrome=1' />"); 
sb.append("<title>UnRegisteredUser Invite</title>"); 

sb.append("<style type='text/css'>"); 
sb.append("html {height: 100%; }"); 
sb.append("body {margin: 0;padding: 0;height: 100%;}"); 
sb.append("</style>"); 

sb.append("</head><body style='margin: 0;padding: 0;height: 100%;'>"); 

sb.append("<div class='content' style='position: relative;width: 500px;height: 224px;z-index:1;margin-top: 10px;margin-left: 10px;border: .08em solid rgba(147, 184, 189,0.8);-webkit-box-shadow: 0pt 2px 2px rgba(105, 108, 109, 0.7), 0px 0px 2px 2px rgba(208, 223, 226, 0.4) inset;-moz-box-shadow: 0pt 2px 2px rgba(105, 108, 109, 0.7), 0px 0px 2px 2px rgba(208, 223, 226, 0.4) inset;box-shadow: 0pt 2px 2px rgba(105, 108, 109, 0.7), 0px 0px 2px 2px rgba(208, 223, 226, 0.4) inset;-webkit-box-shadow: 2px;-moz-border-radius: .1em;border-radius: .1em;'>"); 

sb.append("<div class='email' style='clear: both;width: 500px;height: 122px;margin-left: 0%;margin-right: 0%;'>"); 

sb.append("<div class='emailIMG' style='float: left;width: 125px;height: 122px;margin-left: 0%;margin-right: 0%;'>"); 

sb.append("<img src='" +photoPath+ "' alt='' style='width: 100px;height: 100px;margin-left: 10px;margin-top: 10px;'/>"); 
sb.append("</div>"); 

sb.append("<div class='emailContent' style='float: right;width: 375px;height: 122px;margin-left: 0%;margin-right: 0%;'>"); 
sb.append("<div class='emailContent_placeholder' style='float: left;width: 375px;height: 22px;margin-left: 0px;margin-top: 10px;'>"); 
sb.append("<label style='color: black;text-align: left;float: left;margin-top: 4px;font-size:.9em;font-family: Courier ;font-weight:bold;color: #4E4E4E;'>"+ inviter +" invites you for a video call on " +Constants.PRODUCT_TITLE+".</label>"); 
sb.append("</div>"); 

sb.append("<div class='emailContent_videocall' style='float: left;width: 375px;height: 30px;margin-left: 0px;margin-right: 0%;margin-top: 10px;'>"); 
sb.append("<a href='"+videoCallPath+"'><img src='"+path+"img/vid_call.png' alt='' style='float: left;width: 100px;height: 30px;margin-left: 0px;margin-right: 0%;'/>"); 
sb.append("<label style='color: black;text-align: left;float: left;margin-top: 4px;font-size:.9em;font-family: Courier ;font-weight:bold;color: #4E4E4E;'> Give "+ inviter +" now a call. </label>"); 
sb.append("</div>"); 

sb.append("</div> "); 
sb.append("</div>"); 
sb.append("<div class='marketing' style='clear: both;width: 500px;height: 102px;margin-left: 0%;margin-bottom: 10px;'>"); 
sb.append("<span style='color: black;text-align: left;float: left;margin-top: 4px;margin-left: 10px;font-size: 1em;font-family: Courier ;font-weight:bold;color: #4E4E4E;'>"); 
sb.append("<p>You can register a free account <span><u><a href='"+url+"'>here</a></u></span>.</p>"); 
sb.append("<p>You can use video chat for free. No installation or registeration is required.</p>"); 
sb.append("</span>"); 
sb.append("</div>"); 
sb.append("</div>"); 

sb.append("</body></html>"); 

String htmlBody = sb.toString(); 

답변

0

메일 클라이언트와 관계없이 동일 할 수 없습니다. 클라이언트는 표시 방법을 선택합니다.

모든 클라이언트에서 html 콘텐츠를 "충분하게"만들 수 있지만 완전히 동일하지는 않습니다.

0

사용중인 일부 인라인 CSS 스타일이 이메일 클라이언트에서 일관되게 지원되지 않습니다. 귀하의 이메일을 구성하는 방법을 더 잘 이해하려면 this을 참조하십시오.