-3

月曜日から金曜日に、ユーザーから Excel ファイルを含む電子メールを受け取ります。私は通常、ファイルをダウンロードして名前を変更し、CSV ファイルとして保存してサーバーに読み込みます。

Unix を使用してこのプロセスを自動化できますか?

ありがとうございました。

4

1 に答える 1

4

簡単な答え:はい、それは潜在的に可能です。

より長い答え:それは異なります。アプローチと実行可能性は、さまざまな要因によって異なります。

  • メールはどのように受信していますか?メールサーバー自体でスクリプトを実行できますか、それともローカルマシンにメールを取得する必要がありますか?
  • ターゲットの電子メールは簡単に識別できますか(特定の送信者/タイトル/コンテンツ)?Excelファイルへのリンクが含まれていますか、それとも添付ファイルとして含まれていますか?
  • 特定のExcel形式を想定できますか、それとも任意のExcelバージョンを検討する必要がありますか?
  • 「サーバーにロードする」とはどういう意味ですか?特定のディレクトリにコピーする必要がありますか?FTP / SCP経由でリモートマシンに移動しますか?
  • 受信メールを受信時に処理する必要がありますか、それとも定期的にバッチで処理できますか?

とはいえ、残念ながら、あなたの質問はStackOverflowにはあまりにもオープンエンドです(FAQを参照)。最初にソリューションを実装してみて、特定の問題や質問がある場合は質問を投稿する必要があります。問題の詳細とこれまでに試したことを含めると役立ちます。

あなたが前進するのを助けるために、ここにいくつかの指針があります:

  • メールがリモートに保存されている場合は、fetchmailなどを使用して、POP/IMAP経由でローカルメールボックスにメールを取得します
  • fetchmailの呼び出しを自動化するには、cronを使用してスケジュールを設定できます。
  • 電子メールがローカルメールボックスに到着したら、procmailを使用して特定の電子メールを除外し、その内容を任意のコマンド/スクリプトに渡して処理できます。
  • munpackを使用して、メールから添付ファイルを抽出できます
  • 上記のツールのいずれかでヘルプが必要な場合は、グーグルによって索引付けされた関連リソースがたくさんあります。unix.SEまたはSuperUserで質問することもできます。
  • ExcelファイルをCSVに変換するには、xls2csvを調べます。ディストリビューションのパッケージマネージャーを使用してコマンドをインストールできない場合、ソースはcatdocと一緒に配布されます

私はあなたのために完全な解決策を設計することはできないと思いますが、これが少なくともあなたに出発点を与えることを願っています。幸運を。

于 2012-08-13T15:23:01.467 に答える