GroupSession
GroupSession Ver.4.0.2です。Webメールで特定のメールが以下のメッセージにより内容がわかりません。「このメールは読込むことができません」メールサーバ上ではエラーになっておらず、以下のようなエラーがアプリケーションログに出力されていました。------------------------------------------2013-XX-XX XX:XX:XX,548 ERROR jp.groupsession.v2.wml.pop3.Pop3Receive: - メッセージの解析に失敗java.io.UnsupportedEncodingException: cp932 at sun.nio.cs.StreamDecoder.forInputStreamReader(StreamDecoder.java:52) at java.io.InputStreamReader.<init>(InputStreamReader.java:83) at com.sun.mail.handlers.text_plain.getContent(text_plain.java:107) at javax.activation.DataSourceDataContentHandler.getContent(DataHandler.java:775) at javax.activation.DataHandler.getContent(DataHandler.java:522) at javax.mail.internet.MimeMessage.getContent(MimeMessage.java:1419) at jp.groupsession.v2.wml.pop3.Pop3Receive.__readBody(Pop3Receive.java:582) at jp.groupsession.v2.wml.pop3.Pop3Receive.insertMailData(Pop3Receive.java:359) at jp.groupsession.v2.wml.pop3.Pop3Receive.insertMailData(Pop3Receive.java:318) at jp.groupsession.v2.wml.pop3.Pop3Server.receiveMessage(Pop3Server.java:190) at jp.groupsession.v2.wml.pop3.Pop3Receive.receive(Pop3Receive.java:172) at jp.groupsession.v2.wml.biz.WmlBiz.readNewMail(WmlBiz.java:146) at jp.groupsession.v2.wml.batch.WmlReceiveBatch.__doReceive(WmlReceiveBatch.java:170) at jp.groupsession.v2.wml.batch.WmlReceiveBatch.receiveMail(WmlReceiveBatch.java:149) at jp.groupsession.v2.wml.batch.WmlReceiveBatch.run(WmlReceiveBatch.java:106) at java.lang.Thread.run(Thread.java:662)------------------------------------------エンコードの問題のようですが、どのように対応したら良いでしょうか?※ ちなみにアカウント管理の送信文字コードは「ISO-2022-JPを使用」を指定しています。 (関係ありますか?)
何とも言えませんが、JDK(JRE)のバージョンが古い?とエンコードが上手くいかないような記述がありました。ちゃんと翻訳して読んだわけではないので、確約はできませんが…https://forums.oracle.com/message/6671750JDK(JRE)は最新版をお使いでしょうか?
返信ありがとうございます。javaのバージョンは最新ではありませんが、「jdk1.6.0_24」です。javaのバージョンアップはGroupSession稼働中でも大丈夫なのでしょうか?(なるべく運用を止めたくないです。止めるなら休日かな。)どうも「CP932」が変換できずにエラーになっているようですが、javaのバージョンを最新にしたら治るんでしょうかね?!
Javaのバージョンアップしても変わりません。恐らくバージョンアップ放置のMacかiPhoneからのメールな気がします。『charset=cp932』問題ではないですかねぇ。まぁ"ISO-2022-JP"では対応していない文字をメールに入れてしまった為に、Appleさんが"cp932"にして送信してみたけどJavaでは対応していなかった……と。Mail.appのバージョンアップで対応したみたいです。(『/』で複数のcharsetを書いたんですかねぇ)Javaでは文字コードとして"cp932"は対応していないはずです。http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.htmlとりあえず7用のサポートしているエンコーディングの表です。"windows-31j"(MS932)が"cp932"に対応するcharsetです。ん~、"cp932"なら"windows-31j"か"x-windows-iso2022jp"でエンコードするようにすれば良いのかな?GSバージョンアップの履歴の中に、・受信メールのContent-Typeが未設定の場合、メール本文を"ISO-2022-JP"でエンコードするよう変更。なんてのがあるので、変更してもらえば良いのかな?または、java.nio.*のエラーのようなのでCharsetProviderでjavaで使える"cp932"のキャラクタセットを自前で作ってしまう方法もあります。どうとでも直せますけど、今後を考えたら対応してもらった方が良いですね。CP932の経緯http://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=Java+%A4%CE+MS932%2C+Cp943C%2C+SJIS+%A4%CE%B0%E3%A4%A4そんな昔話風(笑http://d.hatena.ne.jp/akumakario/20080522/1211452983
返信ありがとうございます。私の方でも色々と調べた結果、わかったこと。1.送信元はiPhoneだったようだ。2.Javaでは「cp932」は対応していない。 よって、Javaのバージョンアップは関係ない。3.GSのバージョンアップは対応していれば有効かもしれないが、 それがわからないのに、運用止めてバージョンアップができない。で、じゃあどうしたらいいんだろうってところで止まってます。解決策をわかる方お教えください。宜しくお願いします。
いつもお世話になっております。iPhoneユーザーが増えたせいか、以下本文のメールも増えてきています。「このメールは読込むことができません」ちなみに私もiPhoneなので、試しましたが、上記メッセージになる場合があります。※ メッセージ内に記号の「マルイチ」等を入れるとなる場合がありました。現在は古いバージョンのGSを使用していますが、最新バージョンの4.6.0でも試しましたが、同じ結果になりました。---------------サーバ環境---------------OS:Windows2008R2 x64Java:JDK 8u92Tomcat:8.0.35Apache:2.4.20 x64---------------なんとかして欲しいです。おそらくMAC端末を使っている方からのメールも同様になるのではと予想しています。GSの次期バージョンで対応してもらえないでしょうか?※ ちなみにOutlookやOffice365からのメールもおかしな場合があります。 特にHTML形式のメールの場合に表示できないようです。メール自体もDB上に残っていない為、復元もできず、使用者からクレームが来て困っています。他に運用している管理者様はどうしていますか?!皆様がどのようにしているかお教えください。どうぞ宜しくお願い致します。
初めまして、伊藤と申します。我が社では以下の環境で運用を行っておりますが、iphoneのメールアプリやOutlook、GSのWEBメールでの送信したメール内に、マルイチと入力しても問題なくメールの閲覧は可能です。サーバ情報・Version 4.6.0 (4.6.0) ・CentOS 6.7 64bit 2.6.32-504.12.2.el6.x86_64 ・Apache Tomcat/8.0.32 ・Java 1.8.0_73 ・NGINX 1.10.1TOMCATの起動パラメータに、以下の指定はされていますか? -Dsun.nio.cs.map=x-windows-iso2022jp/ISO-2022-JP"一度試されては如何でしょうか?
伊藤様早速の返信ありがとうございます。Tomcatの起動パラメータに以下は入れております。「-Dsun.nio.cs.map=x-windows-iso2022jp/ISO-2022-JP」伊藤様の環境では全く出ていないのでしたら、根本的に私の設定か何かがおかしいか、OSがWindowsか否かで変わるのかでしょうか?!Windowsサーバで発生していない方はいますか?また伊藤様から指摘いただいた、Tomcatの起動パラメータの他にも定するところはありますか?すいませんが、どうぞ宜しくお願い致します。
私の環境では問題なく受信できています。・Version 4.6.0 (4.6.0) ・OS Windows Server 2008 R2 64bit 6.1 ・CPUのコア数 4Core ・JVMビットモード amd64・J2EEコンテナ Apache Tomcat/7.0.50 ・Java 1.7.0_51 Oracle Corporation (Java HotSpot(TM) 64-Bit Server VM)
iPhoneからのメール、受信できるケースと受信できずに「このメールは読込むことができません」となるケースが私達の環境では発生しています。メールヘッダーで「charset="cp932"」となっているとこのエラーになってます。 私達の環境(やや古いです):・Version 4.3.0 (4.3.0) ・OS Windows Server 2012 amd64 6.2 ・J2EEコンテナ Apache Tomcat/7.0.41 ・Java 1.7.0_25 Oracle Corporation
technica様、GS導入準備中の人様早速の返信ありがとうございます。technica様の環境では、OSが同じWindowsでも発生しておらず、GS導入準備中の人様の環境では発生していると・・・。OSがWindowsだと発生するのかなと考えておりましたが、そのせいではないようですね。やはり設定で足りない点があるのかもしれません。Tomcatで、環境変数の設定をあまりきちんと見ていないので、確認してみようと思います。GS導入準備中の人様の環境では、私の方と同じく、文字コード「charset="cp932"」になっていると、「このメールは読込むことができません」というメッセージになるのですね。(私の方も同じ現象が起きているようです。)これを解消したいのですが、Javaでエラーになっているので、ソースを直さないとダメなのでしょうかね?!(そもそもJavaで「CP932」に対応していないのに直せるのか?)GS導入準備中の人様は、このメッセージが来た際にはどのように対処しておりますか?送信元に連絡して送りなおしてもらっているのでしょうか?!以上、宜しくお願い致します。
お返事遅くなり、すみませんでした。 > GS導入準備中の人様は、このメッセージが来た際にはどのように対処しておりますか?> 送信元に連絡して送りなおしてもらっているのでしょうか?! まれにしかiPhoneからメールは、来ないようなので、状況によりいくつかの対処方法をとっています。1.再送してもらえそうであれば、iPhoneメールでない方法で 再送をお願いしてもらう。2.メールサーバに他のメールソフトで受信して内容を受信者 自身で確認してもらう。3.メールサーバの管理者にお願いして、該当のメール情報を メールサーバより開示してもらう。 GS自体でなんらかの解決策があればよいのですが、困っている人は、少数派なのでしょうかねえ???
返信ありがとうございます。やはり、iPhone以外でもう一度再送していただくか、別のメールソフトで受信してとかですね。こちらもそれほど頻繁ではないのですが、iPhoneでも特定の文字が混在していた場合に起きているようです。何か対処方法があればいいのですが。設定でクリアされるのであれば、それに越したことはないですが、何か対策方法を知っている方がいればご教授願います。
このスレッドで問題になっている「このメールは読込むことができません」となる件は、最新のGS Ver.4.8.1 とかでは、治っていますでしょうか?? 当方、まだ GS Ver.4.3.0 で運用していますが、頻度は少ないとはいえ、「このメールは読込むことができません」となる受信メールにいまだに困っています。
TOP