2012-04-12 2 views
3

PHP 메일()을 통해 HTML 메일을 보냅니다. 내용은 일부 div 컨테이너와 몇 가지 외부 이미지입니다.HTML 모바일 메일이 Apple 모바일 장치에서 "내용 없음"이됩니다.

iPhone 및 iPad와 같은 Apple 모바일 장치에서 메일 내용을 읽을 수 없으며 "이 메시지에는 내용이 없습니다"라는 메시지가 있습니다. 재미있는 점은 메일 앱의 미리보기 창에서 메일의 처음 몇 단어를 볼 수 있다는 것입니다. 적어도 그 내용은 거기에 있습니다. Google 웹 메일러에서 동일한 메일을 읽을 때 문제가 없습니다.

도와 주시겠습니까?

편집 : 요청한대로, 여기에 소스가 있습니다. $ mail은 값으로 HTML-mailbody를가집니다.

$id = md5(uniqid(time())); 
    $header= "From: Mailer <[email protected]>\n"; 
    $header.= "Content-Type: multipart/mixed; boundary=".$id."\n"; 
    $header.= "This is a multi-part message in MIME format\n"; 
    $header.= "--".$id."\n"; 
    $header.= "MIME-Version: 1.0\n"; 
    $header.= "Content-type: text/html; charset=iso-8859-1\n"; 
    $header.= "Content-Transfer-Encoding: 8bit\n"; 
    $header.= $mail."\n"; 
    $header.= "--".$id."--"; 

    $betreff = mb_encode_mimeheader("subject", "UTF-8"); 

    mail($mailaddress, $betreff, $mail, $header); 
+3

['multipart/alternative'] (http://en.wikipedia.org/wiki/MIME#Alternative) 메시지와 같이 들리지만, 도움을 요청하기 전에 코드를 보여야합니다. 이를 위해 [PHPMailer] (http://phpmailer.worxware.com/) 또는 [SwiftMailer] (http://swiftmailer.org/)와 같은 라이브러리를 사용해야하며, 잘 구성된 메시지를 구성하여 올바르게 전송해야합니다. 너와 너는 이런 문제를 겪지 않을 것이다. – DaveRandom

+0

@dave 그들은 블랙 박스 (black-box)이기 때문에 도서관과는 조금 다릅니다 : 그들은 잘 작동하지만, 우리 대부분은 어떻게 해야할지 모릅니다. 그래서 나는 내 자신의 코드를 작성하고 내가 뭘 잘못했는지 알고 싶습니다. 나는 소스 코드를 추가했다. 아마도이 문제를 볼 수있을 것이다. – Phil

+1

바로 그 하나의 이슈는 바로 저에게 충격을주었습니다. LF'\ n'뿐만 아니라 줄 분리에 대해서도 CRLF'\ r \ n'을 사용해야한다는 것입니다. 또한'$ mail' 데이터를 두 번 전달했습니다. 왜냐하면'mail()'에 전달할 때 헤더와 본문으로 전송했기 때문입니다. 나는 또한 많은 사람들이 시체를 헤더에 전달하는 것을 보지만, 그것은 나에게 어떤 의미가없는 것처럼 보인다. 첫 번째 두 줄 (CRLF로 구분)을 머리글에 넣은 다음 나머지 (CRLF로 구분)를 본문에 넣습니다. 나는 또한'MIME-Version : 1.0'을 헤더로 옮길 것이다. – DaveRandom

답변

0

내용 앞에 빈 줄이 필요합니다. 예에서이해야 위 :

"콘텐츠 전송 인코딩 : 8 비트 \ n \ n"

0

내가 작업 봤는데 비슷한 문제가 있었다. 저의 경우 문제는 견해의 순서였습니다. 내 텍스트는 "text/html"및 "text/plain"을 사용하여 조금 다릅니다.

"text/html"보기가 메시지에 먼저 추가 된 경우 미리보기 창에는 메시지가 표시되지만 주 전자 메일 창에는 표시되지 않고 "text/plain"부분이 기본 전자 메일에 표시됩니다 테스트 메일에는 일반 텍스트 부분이 없었기 때문에 내용 없음 메시지가 표시되었습니다. 메시지의 "text/plain"과 "text/html"부분을 바꿔 일반 텍스트 부분 뒤에 HTML에 메시지를 추가하고 전자 메일의 HTML 부분을 IOS 메일 응용 프로그램에서 읽을 수있게했습니다.

관련 문제