- 締切済み
POP3を使ったメール受信で文字化け
WindowsでPHP5を使用しWeb上で新着メールの受信を確認するプログラムを作成しています。 受信プロトコルにはPOP3を使用しているのですが、POP3二接続し、メールをWeb上で表示させようとすると文字化けが起こってしまいます。 以下のプログラムなのですが、どこか間違っているでしょうか。よろしくお願いします。 <?php session_start(); $mailserver = $_SESSION['mailserver']; $user = $_SESSION["user"]; $pass = $_SESSION["pass"]; $i = $_GET['i']; ?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=shift_jis"> </head> <body bgcolor="#ffffff"> <center> <?php /* POP3 サーバと接続 */ $mbox = @imap_open("{" . $mailserver . ":110/pop3}INBOX", "$user", "$pass"); if ($mbox && $i > 0) { $head = imap_header($mbox, $i); $body = imap_body($mbox, $i, FT_INTERNAL); echo htmlspecialchars(mb_decode_mimeheader($head->subject)); ?> <HR> <UL> <LI>Date:<?php echo htmlspecialchars(mb_decode_mimeheader($head->date)); ?> <LI>From:<?php echo htmlspecialchars(mb_decode_mimeheader($head->fromaddress)); ?></TD> </UL> <HR> <PRE><?php echo htmlspecialchars( mb_convert_encoding($body, mb_internal_encoding(), mb_detect_encoding($body))); ?></PRE> <?php imap_close($mbox); } else { /* 認証の失敗 */ print("認証エラー<BR>\n"); } ?> </center> </body> </html>
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- amountainblast
- ベストアンサー率33% (63/186)
こんにちは。 PHP5とPOP3の両方を使ったことがないので、全然違うかも知れませんが・・・。 私はいつもmb_send_mail関数を使ってメールを送信しているのですが、 その時にheaderに Confent-Type:html/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion() とcharsetをiso-2022-jpに変え 件名をJISにして送信しています。
お礼
回答ありがとうございました。 お礼が遅くなってしまい申し訳ありませんでした。 参考にさせていただきながらもう少し考えて見たいと思います。