2011-11-29 4 views
4

내가 그러나 내가 W3C에 대해 생성 된 HTML 코드를 확인하려면, Zend_Mail를 통해 동적 콘텐츠와 뉴스 레터를 만드는거야, 그래서 보낼 나는 그것에게 유효성을 드실 수 전체 이메일 코드를 얻을 수있는 방법이 있나요? getBodyHtml 함수는 코드를 올바르게 리턴하지 못합니다. 예를 들어, <tr>=0D=0A=<td width=3D"100%">=0D=0A을 이메일에 추가합니다. 이 내용이 실제로 메일 메시지를 전송하는 방법입니다 인용 - 인쇄 가능한 인코딩을 사용하여 인코딩되어 있기 때문에Zend_Mail의 HTML 코드를 미리 보는 방법은 무엇입니까?

답변

6

그것은 그런 식으로 HTML을 반환합니다. 당신은 인코딩없이 콘텐츠를하려는 경우

, 당신이 시도 할 수 있습니다 :

$part = $mail->getBodyHtml(); // returns Zend_Mime_Part 
if ($part !== false && $part instanceof Zend_Mime_Part) { 
    $html = $part->getRawContent(); // returns the raw, unencoded content 
} 

당신이 Zend_Mail :: setBodyHtml와 몸 HTML을 설정

는(), 당신은 인코딩을 지정할 수 있습니다. 함수 프로토 타입은 setBodyHtml($html, $charset = null, $encoding = Zend_Mime::ENCODING_QUOTEDPRINTABLE)

유효한 옵션이

  • Zend_Mime :: ENCODING_7BIT
  • Zend_Mime :: ENCODING_8BIT 있습니다입니다
  • Zend_Mime :: ENCODING_QUOTEDPRINTABLE (기본값)
  • Zend_Mime :: ENCODING_BASE64

가능한 경우 setBodyHtml을 호출하기 전에 HTML 유효성을 검사 할 수 있습니다. 위에 표시된 방법을 사용하여 인코딩되지 않은 원시 컨텐트를 검색 할 수 있습니다. 그렇지 않으면 getBodyHtml()은 HTML을 인코딩 된 형식으로 반환합니다.

+0

멋진 코드 조각이 매력처럼 작동했습니다. 감사합니다. –

관련 문제