web-dev-qa-db-ja.com

Outlookの電子メールの添付ファイルをファイルサーバーに取り込む方法は?

背景:

毎日、既知の送信者から電子メールメッセージを受け取ります。送信者は電子メールメッセージに添付ファイルを入れます。その添付ファイルをpythonスクリプトで処理する必要があります。

質問:

Outlookからシェルアカウント(またはローカルファイルシステム)に添付ファイルを取得して、毎日手動でファイルを開いて添付ファイルを保存しなくても、スクリプトで処理できるようにするための最良の(自動)方法は何ですか?

1
dreftymac

Outlookが通信しているExchangeサーバーがあると思います。サーバーでIMAPが有効になっていますか?もしそうなら、過去24時間以内に受信した特定の送信者からの電子メールをIMAPサーバーで検索し、MIME添付ファイル(私が想定しているもの)を解析するプログラムを作成するのはかなり簡単なはずです。

4
wfaulk

同じことを調べていて、台本を見つけました。

  1. Outlookを開いてからを押す必要があります AltF11
  2. 左側のウィンドウで[MicrosoftOutlookオブジェクト]を展開します
  3. ThisOutlookセッションをダブルクリックします
  4. このコードをコピーして貼り付けます。

    (注: "Const save_path As String =" c:\ Temp\""( "c:\ Temp \"をファイルサーバーへのパスに置き換えます。パスは常に "\"で終了することを忘れないでください)

    Sub SaveToFolder(MyMail As MailItem)
    Dim strID As String
    Dim objNS As Outlook.NameSpace
    Dim objMail As Outlook.MailItem
    Dim objAtt As Outlook.Attachment
    Dim c As Integer
    Dim save_name As String
    'Place path to sav to on next line. Note that you must include the
    'final backslash
    Const save_path As String = "c:\Temp\"
    
    strID = MyMail.EntryID
    Set objNS = Application.GetNamespace("MAPI")
    Set objMail = objNS.GetItemFromID(strID)
    
    If objMail.Attachments.Count > 0 Then
    For c = 1 To objMail.Attachments.Count
    Set objAtt = objMail.Attachments(c)
    save_name = Left(objAtt.FileName, Len(objAtt.FileName) - 5)
    save_name = save_name & Format(objMail.ReceivedTime, "_mm-dd-yyyy_hhmm")
    save_name = save_name & Right(objAtt.FileName, 5)
    objAtt.SaveAsFile save_path & save_name
    
    Next
    End If
    
    Set objAtt = Nothing
    Set objMail = Nothing
    Set objNS = Nothing
    End Sub
    
  5. メニューのデバッグに移動し、コンパイルします...

  6. 閉じるVB画面
  7. ルールに移動してルールを作成します。配布グループで言及した人から電子メールを受信したら、スクリプトを実行します(スクリプトを選択します(スクリプトが一覧表示されます))。ルールとともに通知を追加して、メールを特定のフォルダーに移動するルールも実行されたことを確認します。
  8. Outlookを閉じて再度開きます。
6
Vlad

高度なETLプロセッサは、さまざまなルールに基づいて、電子メールに自動的に返信し、添付ファイルを保存し、電子メールを処理できます。

http://www.dbsoftlab.com/etl-tools/advanced-etl-pocessor-news/loading-Excel-files-from-emails-questions-from-the-customer.html

2
Mike