海外からのスパム投稿が多発しており、英語のみの投稿は削除されるようにしております。ご理解の程、よろしくお願いいたします。 Due to the high number of spam submissions from overseas, we are working to ensure that all English-only submissions will be deleted. Thank you for your understanding.
ワンタイムメール・ML サポート掲示板 にようこそ。ここではコミュニティメンバーに質問したり、回答を得ることができます。
0 支持
いつも愛用させていただいております。

度々の要望で恐縮ですが、
YahooメールやGmailのアカウントからPOP3,POP3Sでメールを取り込む機能の
実装をご検討いただくことは難しいでしょうか?
両者ともメールソフトを使わなければメールをダウンロードできず、こちらに
一度取り込んだメールを「全メールをmbox形式でダウンロード」でローカルに
保存できると便利だと思うのです。実はこの機能は昨年惜しまれつつサービス
終了してしまったinter7にも実装されていた機能の一つで、使い勝手は大幅に向上すると思っています。
もしお時間がありましたらご検討いただければ幸いです。

回答 1

0 支持
管理人です。ご利用ありがとうございます。

ご意見いただき、ありがとうございます!
前向きな内容、とても嬉しいです。

いろいろ忙しく、すぐには対応できませんが、参考にさせていただきます。
サーバ側に他社Popアカウントやパスワードを持つのは、セキュリティ面でハードルが高いので、クッキーに持つ方向で検討いたします。

ちなみに、どのような用途でお使いになりますでしょうか?
差し支えなければイメージしやすくなるので、教えていただければ幸いです。

また何かありましたら、ご意見をお聞かせください。

どうぞよろしくお願いします!
ご返信ありがとうございます。

★用途とメリット+懸案事項
最大のメリットはいちいちメールソフトを使う必要がなく横断的にメール管理が
できるという点ですね。
よくアクセス元が変わると「いつもと異なる場所からのログインなのでブロックしました」的な
エラーを出すメールサービスが多くなってきましたので
直接自らpopでアクセスすることが不便な時代になりました。
私はgmailもyahooメールもhotmailも使用していますが、
一番困るのが横断的にメールを収集管理する時です。
上記のようなエラーが毎回出ると、そのメールサービス毎に毎回ログインして
秘密の質問を・・・と非常に煩雑になります。
そこで3つ程度のpopアカウントを入力しておいてボタン一発取り込み、
その後ダウンロードという使い方ができると嬉しいです。
問題は数千通にもなるメールを取り込んでしまった時に転送を設定していた場合の
扱いをどうするかですね。
場合によっては転送先のメールボックスがパンクしたりDDoS状態になるかもしれませんし・・・

★実装について+懸案事項
サーバ側にIDパスワードを保存しないという仕様は賛成です。
たとえば「その他の機能」「外部アカウントのメールを取り込み(pop/pop3s)」
「アカウントの指定」のような感じでpopサーバアドレスとIDとパスワード、POPかPOP3Sの
選択ボックスを選ぶと、その次のポート入力欄に110,993のように標準ポートが自動入力され、
イレギュラーなポートを提供しているプロバイダも想定してポートの直接指定もその欄で
できると便利です。
さらにPOPでメールをダウンロードする場合、外部アカウントのメールを消去するか
そのまま残すかの選択ボックスがあると、ここからメールをダウンロードしてPCに
バックアップしつつ当該外部サービスのメールもそのまま使えますし、
全てブラウザのみで完結できるので便利かと思います。
特にスマホのメールソフトはメール管理もしにくいものが多いですので、
取り込んだメールをzipや7zipのような圧縮ファイルに固めてダウンロードするような
機能があればさらに便利と思います。
その場合デフォルトファイル名を「201509220315_onetime-mail.7z」のように
ダウンロード時点の時刻とサービス名がわかると上書きの心配も少なくなりますし
利用者にとっては便利だと思います。
PHPならZipArchive関数とかで比較的簡単に追加実装はできるかと思います。
但しサービスの規模が大きくなるとこの機能へのアクセスが集中した場合の
クォータ処理も適切にしないとオーバーフローの危険があるので注意が必要です。

色々と細かい注文ばかりで恐縮ですが、お時間がありましたらご検討いただければ幸いです。
管理人です。お世話になっております。

詳細なご説明を頂き、ありがとうございます。
いろいろハードルはありますが、前向きに検討を致します。

以上、よろしくお願いします。
管理人です

UIは作ってませんがPOP接続調査を行いました。
YahooはサーバからPOPアクセス可能でしたが、Gmailが不明な端末となり、(パスワード合っているのに)パスワードエラーではじかれてしまいました・・・安全性の低いアプリの許可: 有効 にしてもダメでした・・・
お忙しい中ご調査いただきありがとうございます。
私もGmailで同様の問題に直面したことが多々ありましたが、主に2つの原因のようです。
先ずPOP3Sが必須化されて以降はIPが変わるたびにwebでログインして当該接続を
承認(パスワードを変更したりSMS用電話番号を入力したりといった煩雑な作業)する
動作が必要なようです。
確かその際のpop3sサーバからのエラーメッセージがweb login require・・・といったものと
記憶しています。
もう1つはご指摘の「安全性の低いアプリの許可」なのですが、古いwindowsについている
Outlookexpressから接続するとうまくいく(少なくとも私のアカウントに関しては)ので
サーバとのプロトコル上でのハンドシェイクに何らかの違いがあるという可能性は
ないでしょうか?
例えばダミーのpop3sサーバをstone等でエミュレートしてスニッファでプロトコルロギングを
かけてみるという手はどうでしょうか?

Gmailはこのような仕様のため固定IPの会社からしかまともに使えず、
外出先からアクセスするために難儀しますので、困ったチャンなんですよ。
その点ワンタイムメールさんにケートウェイ役になっていただけるとたいへん便利です。

(Gmailの場合、私の勤務先IPからは私以外の同僚もトラブルなく一発で接続できるため、
多分ですが正規の接続が多い固定IPからは他のアカウントにも繋がりやすい傾向が
あるように感じています)
連続投稿ですみません。
ロックアウトの状況によっては以下のリンクから解除ができるかもしれません。

https://support.google.com/accounts/answer/6009563?vid=1-635789215959181224-164788999
Googleアカウントロック解除
- https://www.google.com/accounts/DisplayUnlockCaptcha

過去に試した限りでは、IPアドレスによってこれでも解決できない場合や、
「安全性の低いアプリの許可」すら設定不可というケースなどもあり、
絶対的な解決策というわけでもないようです。
gmailは、翌日アクセスしたところ正常にPOP3Sで取り込みできるようになりました・・・
一旦、「その他の機能」⇒「外部POPメールの取り込み」に機能を追加しましたので、ご確認をお願いします。

尚、サーバ負荷やセキュリティーを考慮し、現時点では以下の仕様となっております。
・取り込み件数は20件
・Cookieへの保存は行わない(オートコンプリートは利用可)
・CAPTCHAの入力
利用状況を踏まえ、今後検討をさせて頂きますのでご理解の程、よろしくお願いします。
早速のご対応に感謝します。
取り込み機能が動作することを確認しました。
ただしhotmailもGmail同様のエラーが出たようなのですが、「0件取り込みました」という表示
だけしか表示されず、サーバ側からのエラーメッセージなどもサニタイズして表示する
ようにしたほうが親切かとも思いました。
それから別のPOP3サーバで試したのですが、取り込み元にメールが23通あった場合には
最新の2通だけがこちらの受信トレイに入るようです。(ちょっとトリッキーな仕様)
これも総数が確認できないため、例えば「総数1234件中、最新20件を取り込みました」と
いった表示にしたほうがわかりやすいかと思います。
あとはPOPでダウンロードした元サーバからメールを消すことができないため、
どれがDL済みのものなのか不明になりやすく、完全にこちらに移動させてしまえない点が
使い勝手として障壁になると思います。
(むしろ最初から20通に限定するのであれば、そのまま転送してしまっても良かったような)
色々改善の余地はありそうですが、ともあれあるとないでは大違いですから、
今後有意義に活用させていただきたいと思います。
POP取り込みのレビューアありがとうございます!
参考にさせていただきます!
尚、バグが有ったため、一旦、機能を除去しました。
バグ修正に少し時間がかかるかもしれません。

ご理解の程、よろしくお願いします。
⇒ 再度公開しました。
サニタイジングは私も必要と思ってましたので、後日検討します。
POP取り込みは、fetchemailコマンドを使用しています。
※現状、fetchlimitにて20件としています。
fetchemailのオプションで利用したいものがあれば、ご要望にお答えしやすいので、よろしければご検討ください。
管理人です。少し時間が出来たので、下記対応しました。
・AJAX化
・簡易エラー表示
・取り込み件数 30件⇒100件
・クッキー保存/削除機能(1アカウントのみ)
以上、ご連絡となります。
仕事で時間が取れず動作確認が遅くなりまして恐縮です。
先程メール26通のあるPOP3サーバに接続テストをしてみたのですが、
画像認証を打ち込んで「取り込む」のボタンを押しても3分以上タイムアウトの表示もなくそのままの状態のままでした。
(画像認証に間違った文字を入力するとエラーで弾かれるので、リクエスト自体は正常に流れている?)
内部的にリソースが暴走等して詰まっているのでしょうか?

取り急ぎご報告まで。
管理人です。お世話になっております。
デバッグログを入れましたので、もし、再度実行できるようでしたらお願いいただけると助かります。
ちなみに、メールボックスの件数(未読既読あわせて)は何件くらいでしょうか。こちらでは数千件は試していますが、それなりに時間がかかる(数分)ものでした。一度実行すると、FetchMailのキャッシュに残しているのか、次回以降は早いようです。
どうぞよろしくお願い致します。
先ほど改めてテストさせていただきました。
それぞれ取り込み先サーバのメール総数は28件でしたが、
先ず最初3件は私のミスでポートを間違えて設定していました。
ただ、この場合は「接続先のサーバに接続できませんでした。接続先のサーバまたはポートの指定が間違っているか
一時的に通信できない可能性があります」等の
表示が出ると利用者としては問題が切り分けられやすいと思います。

ポートを正しく変更して試してみたところ、なぜか「0  件取り込みました」という表示に。
細かい点かもしれませんが、この「0」と「件」の間にはなぜか改行が入っているように見えました。

次に もしや と思い、取り込み先のWebメール側で 未読 扱いのフラグを立ててみたところ、
正常に取り込まれる事を確認しました。
新たに着弾したメールのみを取り込むという仕様は昨今大量のメールが蓄積されている
であろうWebメールからの取り込みで数万通、数ギガバイトといったような想定外の高負荷に
陥らないための現実的な仕様であるように思いますが、
もっと欲をかくと、未読既読に関わらず接続先のpopサーバ上のメールを10件くらいずつ
でも一覧表示して、チェックをつけたものを取り込めるようなインターラクティブな実装も
アイデアとしては面白いかなと思っています。
実際に有名なところではBecky等のメールソフトにも実装されていまして、
pop3のコマンド中に結果をprintf等で画面反映してユーザー待機中は定期的にnoopするなり
してセッションを引き延ばして枝葉の処理を組む程度で、その確認画面からチェックを
つけて取り込む物を選択したりとか、比較的簡単に実現はできると思いますし、
この方法なら前出の想定外の高付加に陥る懸念についてもある程度の対策に
なるんじゃないかなと考えています。
(攻撃者があえてボムメール入りのサーバを指定して全件取り込みを複数回実行すようなケースを想定するという点で)

////////
  ラフな仕様書

開始

外部POP3に接続

先頭10件リストを取得し表示

一定秒数後もユーザーがオンラインなら外部接続のセッションを延長処理

次ボタンが押されたら > 次の10件をリスト

取り込みを実行 > 取り込み予定サイズと現在のローカルクォータチェックをパスしたら >指定されたメールをダウンロードし既読にする > 削除にチェックされていたら当該メールを接続先サーバから削除

切断

メールリストに反映

終了
////////


なんだか管理人さんに苦労かけそうな妄想ばかり書いてしまって恐縮です。
今の機能でもけっこう使えるサービスになったと感じていますので、
とても感謝しておりますし、こんなアイデアもあるんだなという程度までに
参考にしていただければ幸いです。
ご連絡遅くなりすみません。
貴重なご意見をありがとうございます。
現状、他にも根本的な課題があり優先度としては少し低くなってしまいますが、今後の対応をさせていただきます。こまかな仕様を検討頂き、非常に助かります。ありがとうございました。

尚、タイムアウト設定等、軽微な修正をさせていただきました。ポートミスの場合何らかのアラートがでるように致しましたので、ご確認をいただけると助かります。

以上、よろしくお願い致します。
いつも素早い対応をいただきありがとうございます。
早速動作確認させていただき、
細かな部分が随分と安定してきたように感じました。
改めて感謝申し上げます。
...