特定のアカウントの電子メールをチェックし、添付ファイルを検出し、処理のためにフォルダにデタッチするアプリケーション(ほとんどの場合C#で)を作成したいと考えています。電子メール添付ファイルの自動処理
これらのタスクを実行するための標準.NETクラスはありますか?そうでない場合は、他に何が使えますか?
アプリケーションはサービスとして実行されます。
特定のアカウントの電子メールをチェックし、添付ファイルを検出し、処理のためにフォルダにデタッチするアプリケーション(ほとんどの場合C#で)を作成したいと考えています。電子メール添付ファイルの自動処理
これらのタスクを実行するための標準.NETクラスはありますか?そうでない場合は、他に何が使えますか?
アプリケーションはサービスとして実行されます。
電子メールをダウンロードするための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にもテンプレートがあります。
私は同様に見えるOpenPopも発見しました。 MSが受信のための解決策を無視したことは驚くべきことです。 –
それで私の答えが役に立たないのですか? – user9993
デスクトップで実行するはずですか?クライアント(見通しなど)と?またはサーバー上で?どのサーバー(交換など)? –
@SimonMourier:実際それは両方になることができます。 Outlookクライアント、または一部のサーバー(私は今、情報を持っていません)。 Outlookクライアントの回答は既に役に立つはずです。 –
C#のOutlookのApplication.NewMailExイベントを使用することができます(VBAのように:https://msdn.microsoft.com/en-us/library/office/aa171304.aspx)。構成(セキュリティ、メールアカウントの種類など)によっては、実装の詳細がかなり異なる場合があります。 –