2017-05-29 13 views
3

特定のアカウントの電子メールをチェックし、添付ファイルを検出し、処理のためにフォルダにデタッチするアプリケーション(ほとんどの場合C#で)を作成したいと考えています。電子メール添付ファイルの自動処理

これらのタスクを実行するための標準.NETクラスはありますか?そうでない場合は、他に何が使えますか?

アプリケーションはサービスとして実行されます。

+0

デスクトップで実行するはずですか?クライアント(見通しなど)と?またはサーバー上で?どのサーバー(交換など)? –

+0

@SimonMourier:実際それは両方になることができます。 Outlookクライアント、または一部のサーバー(私は今、情報を持っていません)。 Outlookクライアントの回答は既に役に立つはずです。 –

+0

C#のOutlookのApplication.NewMailExイベントを使用することができます(VBAのように:https://msdn.microsoft.com/en-us/library/office/aa171304.aspx)。構成(セキュリティ、メールアカウントの種類など)によっては、実装の詳細がかなり異なる場合があります。 –

答えて

1

電子メールをダウンロードするためのAPIがBCLにはありませんが、送信のみ、電子メールの送受信にMicrosoftが推奨するライブラリは非常に有益です。POP3、IMAP、SMTPをサポートしています。 https://github.com/jstedfast/MailKit

添付ファイルを検出し、私はあなたがディレクトリにファイルをダウンロードする意味と仮定するつもりです

を処理するためのフォルダにそれらを切り離します。幸いMailKitでこれを行うのは非常に簡単ですし、ライブラリの作者は、ここに例を書いた:https://stackoverflow.com/a/36229918/2595033

(リンクから取られたコードは)

foreach (var attachment in message.Attachments) { 
    using (var stream = File.Create ("fileName")) { 
     if (attachment is MessagePart) { 
      var part = (MessagePart) attachment; 

      part.Message.WriteTo (stream); 
     } else { 
      var part = (MimePart) attachment; 

      part.ContentObject.DecodeTo (stream); 
     } 
    } 
} 

アプリケーションがサービスとして実行されます。

これは非常に簡単で、Windowsサービスを作成する必要があります。 C#での記述には多くのリソースがあります。 Visual Studioにもテンプレートがあります。

enter image description here

+0

私は同様に見えるOpenPopも発見しました。 MSが受信のための解決策を無視したことは驚くべきことです。 –

+0

それで私の答えが役に立たないのですか? – user9993

関連する問題