1週間ぶりの更新です。更新頻度が落ち込んでいる一方で、最近RSSを購読下さってる方の数が着実に増えてきているようで、とてもありがたいです。できるだけいい記事をアップしようという励みになっております。多謝多謝。
とはいいながらも、いい記事を気合い入れて書こうと思うといつも途中で挫折orzしている日々。これが更新頻度低下の原因にもなってるので、今日は軽めのトピックで更新です。
<iPhoneでGmailを使ってハマった罠>
日々大変にお世話になってるGmailでは、登録している他のメールアドレスを名乗って(なりすまして)メールを送信することができます。Fromヘッダを変えているだけなので、Sender(xxxxx@gmail.com)はまるわかりなんですが、これが意外と便利で割とよく使ってます。例えばi.softbankから友人のケータイメアドにメールを送るときにPCで長文を打ってfromだけ変えたり、会社アカウント宛のメールに自宅から急ぎで返信したい時に便利です。
一方、iPhoneユーザーであればGmailをiPhoneで送受信されている方も多いでしょうが、iPhone上ではFromの書き換えはできません。より正確に言うと、送信に使用する「差出人」は選択できるけれども、「Fromヘッダ」のみを変えることはできません。実は困ったことに、ここに罠がひそんでました。
▼メールの作成画面では差出人を選択できる。しかし、差出人を変更すると送信に使用するサーバーもそのアカウントに設定したサーバーになるので、Fromヘッダを書き換えるのとはちょっと違う。
ある日、PC上にてGmailで次のようなメールを作成して下書きに保存しました。
- "From"ヘッダを (例)hoge@foobar.jp に書き換え。
- hoge@foobar.jpはiPhoneにアカウント設定していない。
そして、後日ふと思い出してそのメールをiPhoneに設定しているGmailアカウントの下書きから開いて送信しようとしたところ、「送信アドレスが無効です。」とエラーが発生。
「あ、だめなんだ。じゃ、いいや。あとで送信しよー。」
と思ったら、以下の状態に。
- Gmailの下書きからメールが消えている。(Web版/iPhone内ともに)
- Gmailの送信箱にもメールはない。(Web版/iPhone内ともに)
- iPhoneのメールアプリに設定しているのどのアカウントを探しても当該メールがない。
- メールアプリを開くたびに、再度送信しようとしてエラーが出る。
つまり、iPhoneでメールチェックするたび、送信エラーが繰り返され、毎度毎度エラーメッセージがポップアップするのに、エラーの原因となっているメールが雲隠れしている状態でした。
悩みつつ数日放置してましたが、ポップアップがあまりに邪魔なので、ためしに、hoge@foobar.jp アカウントをiPhoneに設定してみました。すると、そのアカウントの送信箱にちゃっかり出現!そして無事に送信箱から削除することで解決できました。
(実は、すぐに解決策は思いついたんですが、POP/SMTPのパスワードを忘れていたので数日放置してたのでした。)
<SQLiteデータベースを使ってるらしいが・・・>
サポセンや誰かに問い合わせたわけではありませんが、これってメールアプリのデータ構造上の問題ですよね。iPhoneではメールやアドレス帳はSQLiteが使われてるらしい(ソースは忘れました)のですが、どうやらメールはアカウントごとにテーブルを持っているわけじゃなくて、ひとつのテーブルで全アカウント横断的にデータを保持していそうです。下書きでテーブルひとつ、送信箱でテーブルひとつみたいに。
あるアカウントで送信箱を開こうとすると、おそらく、送信箱テーブル”に対してアカウント名をQueryにいれて、そのアカウントにマッチする下書きを引っ張ってくるんですね~、たぶん。推測の域を出ませんし、わたくしめは全然データベースに疎いのでこの程度の考察しかできないんですが、Gmailをサポートする限りはちょいと工夫してほしいですね、アッポーさん。
もしこの現象が発生した方は、アカウント設定すれば問題のメールが消せるので、お困りの方はお試しあれ。