Mailで携帯に転送すると文字化けする

Mailで、ある特定の条件を満たすメールを携帯(WillcomのPHS, WX300K)に転送しているのですが、かなりの確率で文字化けして読めません。もちろん、Mail上ではちゃんと読めています。


文字コードが対応していないのだと思いますが、大丈夫なメールもあるので、ちょっと不思議です。

Mailは、転送時、元のメールの文字コードを保存するのでしょうか? また、それを変更して転送することはできないのでしょうあか? よろしくお願いします。

投稿日 2009/07/27 19:37

返信
返信: 33

2009/07/29 22:52 NAOI への返信

multipartでもプレーンテキストは付いていますので、ケータイの機種によっては読めるかもしれませんが、ダメならお役に立てずにすみません。


ダメですね。自動転送だと「環境設定」の設定とは無関係に.emlを添付する仕様のようですね。出直してきます。

2009/07/30 01:21 polon31 への返信

polon31 さんによる書き込み:


私も色々と試してみましたけど、Mozilla系(SeaMonkey、Netscape)は全部同じ仕様でダメですね。


で、添付ファイルを保存して拡張子を「.txt」に書き換えてしまうという、先ほど提案した方法は?


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.7 (Build 9J61) [Leopard]

2009/07/30 01:33 しい坊 への返信

書き忘れていましたが、私の携帯では拡張子の変更はできませんし、保存しようとすると「表示できない文字が含まれています」といって、保存もしてくれません。保存可能なら、その時に拡張子も変更できるかと思ったのですが・・・残念!

2009/07/31 05:43 polon31 への返信

万策尽きたようなので、奥の手を使うことにしました。


実は、転送したいメールは、職場のメールサーバ宛に届くメールなのです。

自宅に居るときは、SSHで上記サーバに入って、メールのやり取りをしています。

で、奥の手というのは、「サーバ上での設定で、メールを携帯に転送してしまおう」ということです。


ただ、この手の設定は管理者は嫌がるので、できれば避けたかったのですが、問い合わせてみたところ、「自力&自己責任でそうぞ」との返事が来ました。


色々と調べたところ、

1.Homeディレクトリに.forwardというファイルを作る

2.その中に転送先のメルアドを書く

3.他人見られないよう、パーミッションを644に変更する


というところまではわかりました。


ただ、Macのターミナルで、nuixコマンドを使っての具体的な作業がよくわかりません。

そもそも、.forwardというファイルをどうやって作成するのでしょう?

Macだと.から始まるファイルはシステムファイルで不可視になってしまいますよね?


詳しい方、お教え頂ければ幸いです。よろしくお願いします。

2009/07/31 08:05 polon31 への返信

手順としては、まずテキストエディタで中身を書き、適当なファイル名(たとえば forward.txt)でローカルのデスクトップに保存します。保存の際には改行コードをLF(UNIX)にしてください。


次にターミナルでこのファイルのアクセス権を変更します。

chmod 644 /Users/(user_home)/Desktop/forward.txt


最後にそのファイルをサーバのホームディレクトリに転送(コピー)します。一般的にはFTP転送だと思いますが、Fetch 等のFTPアプリケーションを使えば良いでしょう。FTPアプリにもよりますが、たいていは転送時にファイル名を変更して送り込むことができると思いますので、forward.txtを選択したらファイル名を「.forward」に変更してアップロードしてください。


アドレスの書き方よってはサーバが大変な事態を引き起こしかねないので、くれぐれも慎重に転送先のアドレスを書き込んでくださいね。

2009/07/31 08:48 M3CSL への返信

アドバイスありがとうございます。

保存の際には改行コードをLF(UNIX)にしてください。

まずここで躓いています。テキストエディタでは文字のエンコーディングは選択できますが、改行コードに関しては選択肢がありません。OS9時台のJeditはできたので、JeditXをDLして試してみましたが、やはり指定できません。エンコーディングをどれかにすれば、改行コードがLFになるのでしょうか?

アドレスの書き方よってはサーバが大変な事態を引き起こしかねない

これは、

¥(ホントはバックスラッシュ)***@***(転送したいメルアド)

***@***(転送先のメルアド)

というふうに、¥(ホントはバックスラッシュ)を行頭に書いておけば良いのですよね?

こうしないと、どんどん自分宛に転送し、いわゆる無限ループになって、サーバ管理人に殺されるというやつですよね?


ちなみに、転送には、scpを使うつもりです。

2009/07/31 09:13 polon31 への返信

polon31 さんによる書き込み:

保存の際には改行コードをLF(UNIX)にしてください。


まずここで躓いています。テキストエディタでは文字のエンコーディングは選択できますが、改行コードに関しては選択肢がありません。OS9時台のJeditはできたので、JeditXをDLして試してみましたが、やはり指定できません。エンコーディングをどれかにすれば、改行コードがLFになるのでしょうか?


Jedit X 2.15 は開発元の㈾アートマン弐壱のサイトから直接、最新版をダウンロードされたんですよね?


「エンコーディング」と 「改行コード」はファイルを保存するときのダイアログボックスで指定できます。(テキストエディットの改行コードは最初から LF (Unix) だったと思います。)Jedit X の場合は「環境設定...」でデフォルトのエンコーディングと改行コードを指定できます。ただし、実際にファイルを保存するときのダイアログボックスで自由に変更できます。


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.7 (Build 9J61) [Leopard]

2009/07/31 09:41 しい坊 への返信

環境設定...では指定できましたが、保存するときのダイアログボックスには改行コードは出ませんでした。が、一度、「全てを保存」とやってから、「別名で保存」としたら、ダイアログボックスが出ました。


それでファイルは作成できたのですが、ディレクトリをDesktopに持って行って

scp forward.text ***@***:home

とやったところ、パスワードを聞いてきて、ちゃんと転送されたみたいでした。


ところが、SSHでサーバに接続して、lsで見てみると、そこのファイルがありません。

これってサーバの設定か何かの問題なのでしょうか?

2009/07/31 09:45 polon31 への返信

SSHで上記サーバに入って、メールのやり取りをしています。


これはターミナルから操作を行っているのでしょうか?

ターミナルからSSHでサーバにログインできて、ターミナルの操作がある程度できるのであれば


echo xxx@xxx.xxx > $HOME/.forward


と入力するだけで、ホームフォルダにxxx@xxx.xxx (転送先) と一行だけ記載した.forwardというファイルを作成することが可能です。

2009/07/31 09:54 HAL への返信

これはターミナルから操作を行っているのでしょうか?

Macから入るときはターミナルからSSHで入っています。Windowsからの時は、TeraTermというソフトを使っています。


ホームフォルダにxxx@xxx.xxx (転送先) と一行だけ記載した.forwardというファイルを作成することが可能です。

これだと、サーバにメールを残さず転送されてしまいますよね?

直ぐに、そのファイルを編集すれば良いのでしょうが、その仕方もイマイチわかりません。

ファイルの修正ってどうやるんでしょうか? emacsで開いて編集後保存すれば良いのでしょうか?

2009/07/31 17:27 polon31 への返信

polon31 さんによる書き込み:


環境設定...では指定できましたが、保存するときのダイアログボックスには改行コードは出ませんでした。


ふ~ん。不思議ですねぇ...。



が、一度、「全てを保存」とやってから、「別名で保存」としたら、ダイアログボックスが出ました。


結果オーライではありますが、謎ですね...。



それでファイルは作成できたのですが、ディレクトリをDesktopに持って行って

scp forward.text ***@***:home

とやったところ、パスワードを聞いてきて、ちゃんと転送されたみたいでした。


ところが、SSHでサーバに接続して、lsで見てみると、そこのファイルがありません。

これってサーバの設定か何かの問題なのでしょうか?


失礼を承知の質問ですが、全くの確認です。もちろん不可視ファイルを表示させる“-a”とか“-la”の引数は付けて“ls -a”とか“ls -la”と入力されたのですよね?(さもないと不可視ファイルは当然表示されませんから。)


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.7 (Build 9J61) [Leopard]

2009/07/31 18:11 polon31 への返信

これだと、サーバにメールを残さず転送されてしまいますよね?


サーバにメールを残したい場合には、そのサーバ宛のメールアドレスも.forwardに追加すればいいようです。

ただし、そのまま追加するとサーバに転送したメールがさらに転送されるという無限ループに入るので、メールアドレスの前にバックスラッシュを入れるらしいです。詳しくはこちら。

メール転送(.forward)マニュアル

ただ、ある特定条件のメールだけを転送したいという話だったと思うのですが、全部転送されてもいいのでしょうか?


直ぐに、そのファイルを編集すれば良いのでしょうが、その仕方もイマイチわかりません

ファイルの修正ってどうやるんでしょうか? emacsで開いて編集後保存すれば良いのでしょうか?


emacsで普通に編集で大丈夫です。サーバで直接作成&編集するならば改行コードの心配も要りません。

2009/07/31 18:27 polon31 への返信

polon31 さんによる書き込み:

これはターミナルから操作を行っているのでしょうか?


Macから入るときはターミナルからSSHで入っています。Windowsからの時は、TeraTermというソフトを使っています。


私は GUI が好きなので、マックのデスクトップ (Finder) の感覚で使える「NetFinder OS X 3.1.1J」を使っています。それ以外にも類似の FTP クライアントとしては「Transmit 3.6.7」や「RBrowser 4.5.1」、「Interarchy 9.0.1」、「Cyberduck 3.2.1」等があります。


先にマック上で必要なファイルを作成しておき、あとはフォルダ間の移動のように、「NetFinder OS X 3.1.1J」上に開いた目的のサーバのフォルダのウィンドウにドラッグ&ドロップするだけでファイルのアップロードは完了します。不可視ファイルは表示できるようにしてあります。(もちろん「NetFinder OS X 3.1.1J」では不可視ファイルは表示する設定にしてあります。)


マックの Finder 上で不可視ファイルも表示できるようにしてあれば、最初から「.forward」というテキストファイルを Jedit X 2.15 で作ってしまいますし、Finder で不可視ファイルが表示されない(デフォルトの)状態であるならば、最初は先頭にドットのない「forward」というテキストファイルを作成します。後者の場合は「NetFinder OS X 3.1.1J」でアップロードした後で、Finder 上での操作と同様に、ファイル名をクリックしてからファイル名の変更を可能にして、ファイル名の先頭に「.」を付けます。


アクセス権の変更が必要であるならば、そのファイルを選択して、Finder 上での操作と同様に {⌘-I} でそのファイルの情報を表示させ、アクセス権を編集します。非常に分かりやすく、快適です。(「NetFinder OS X 3.1.1J」は FTP だけではなく HTTP プロトコルにも対応しているのでさらに快適です。)



ホームフォルダにxxx@xxx.xxx (転送先) と一行だけ記載した.forwardというファイルを作成することが可能です。


これだと、サーバにメールを残さず転送されてしまいますよね?


ですよね。ずっと以前に職場のシステムやネットワークの管理部署に問い合わせたときにもそれを教えられました。で、それだと元のメールサーバで転送されたメールが確認できなくなってしまうために慌てました。どうもプログラミングのプロの方々は、こういう時に思い切りが良いような気がします。(複数ファイルがあちこちに点在するとトラブルの元になるから?)



直ぐに、そのファイルを編集すれば良いのでしょうが、その仕方もイマイチわかりません。


「直ぐに」と言っても、私の場合はそういった作業中に何通もメールが届き、作業が完了したときにはもう受信できないメールが結構多くなっていそう (^◇^;)。


ファイルの修正ってどうやるんでしょうか? emacsで開いて編集後保存すれば良いのでしょうか?


emacs って Unix ユーザの間では、“使いやすい”と、とても評判が良いようですが、MS-DOS 時代から MIFESVz Editor のようなスクリーンエディタに慣れていて、漢字 Talk〜Mac OS 9 時代には Edt7、Mac OS X 時代には Jedit X に慣れてきていた自分としては、「わ、わけわかんない! 使えない!」でした (^〜^;)。すみません m(._.)m。


と言うわけで、私は全ての編集作業はマック上で行います。編集の必要があれば、「NetFinder OS X 3.1.1J」で目的のフォルダを開き、編集したいファイルをマックの Finder にドラッグ&ドロップし、Jedit X で編集し、作業終了後、再び「NetFinder OS X 3.1.1J」のウィンドウにドラッグ&ドロップして完了です。


ターミナルを駆使されるプロの方々から見れば“かったるい”やりかただとは思いますが、自分はプログラマーではないし、確実な作業ができた方が楽だし、「NetFinder OS X 3.1.1J」のようなソフトを使えば、普通にマックを操作している間隔で違和感なく使えるので好きです。


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.7 (Build 9J61) [Leopard]

2009/07/31 20:46 しい坊 への返信

先にマック上で必要なファイルを作成しておき、あとはフォルダ間の移動のように、「NetFinder OS X 3.1.1J」上に開いた目的のサーバのフォルダのウィンドウにドラッグ&ドロップするだけでファイルのアップロードは完了します。不可視ファイルは表示できるようにしてあります。(もちろん「NetFinder OS X 3.1.1J」では不可視ファイルは表示する設定にしてあります。)

これ、いいですね。使わせて頂きました。


unixは、前世紀(20世紀)に会社で使っていたソフトがunixでしか稼働しないものだったので、やむなく必要最小限のコマンドを使えるだけです。で、その中のひとつにls関連もあり、一応引数の使い方も知っています。でも、今となってはコマンドラインは辛く、GUIの方が良いです。


昨日から苦労していたこと、NetFinder OS Xを使ったら、あっという間にできました。

早速テストしてみたところ、ちゃんと携帯に転送されてきましたし、\のおかげで、サーバにも残っています。


あとは、これまで文字化けしていたメールが読めるようになれば良いのですが・・・。


しい坊さま、HALさま、その他の方々、ありがとうございました。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Mailで携帯に転送すると文字化けする

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。