2017-04-10 15 views
0

問題の解決方法に関するアドバイスが必要です。私はユーザーに電子メールを送信するアプリケーションを持っています。注:私はemailサーバとしてMicrosoft Exchangeを使用しています。私は、ユーザーがアプリケーションから送信された電子メールに返信できる機能を持っていて、アプリケーションが返信を読んで特定の操作を実行できるようにしたいと考えています。CでOutlookのメールを読む#

たとえば、アプリケーションはアイテムの承認を求める電子メールを送信します。私は、電子メールに返信し、アイテムが承認されたか拒否されたかどうかを伝えたいと思います。非常にシンプルなシナリオですが、私がしたいことを捉えています。 c#で特定の住所に送信されたメールを読むにはどうすればよいですか?

+0

[** This **](https://www.emailarchitect.net/eagetmail/kb/csharp.aspx?cat=7) – mmushtaq

答えて

1

コードの電子メールを読む、解析する、応答することは、しばしば非常に難しい機械です。可能な解決策の1つが、あなたのウェブサイトにリンクしている承認メールワークの承認/拒否リンクであり、承認ワークフローで対応するアクションをトリガすることができますが、それが役に立てば幸い!

+0

私の研究に基づいて、困難な仕事になるでしょう。私はリンクを持っていますが、サーバーがプライベートネットワーク上にあるため、ユーザーがネットワーク外またはインターネット上にいるときは機能しません。私は、同社がインターネット上でアプリケーションを公開したいとは考えていません。お返事をありがとうございます。 –

+0

問題が内部境界のセキュリティに関するものだけの場合は、正しく構成され、認証されたリバースプロキシがあなたのために機能します。ここで受信と解析にロックされている場合は、mailin.ioを実行する方法の良い例です。 –

+0

ここでは、C#でどのように行うことができるかの例の答えがあります。http://stackoverflow.com/a/11457840/920557 –

0

EWSを使用できます。EWS Managed API, EWS, and web services in Exchangeを参照してください。 Office 365を扱っている場合は、Outlook REST APIの使用を検討することもできます。

マイクロソフトでは現在、オフィスで発生する可能性があるため、無人で非対話型のクライアントアプリケーションまたはコンポーネント(ASP、ASP.NET、DCOM、およびNTサービスを含む)からMicrosoft Officeアプリケーションの自動化を推奨しておらず、サポートしていません。この環境でOfficeを実行すると不安定な動作やデッドロックが発生する可能性があります。

サーバー側のコンテキストで実行されるソリューションを構築する場合は、無人で実行するために安全にされたコンポーネントを使用するようにしてください。または、コードの少なくとも一部がクライアント側で実行できるようにする代替手段を見つけようとする必要があります。サーバー側のソリューションからOfficeアプリケーションを使用する場合、アプリケーションには正常に実行するために必要な機能が不足しています。さらに、全体的なソリューションの安定性でリスクを冒すことになります。詳細については、​​の記事をご覧ください。

メールを送信するためにOutlookを使用する場合は、MailItemクラスのVotingOptionsプロパティを使用することを検討してください。これにより、メールメッセージの投票オプションを含む区切り文字列を指定する文字列を設定できます。このプロパティは、複数の投票オプションの区切り文字として、WindowsレジストリのHKEY_CURRENT_USER \ Control Panel \ Internationalにある値の名前sListで指定されている文字を使用します。したがって、応答では、メールメッセージの投票応答を指定する文字列を返すVotingResponseプロパティを使用できます。このプロパティは通常、元のメッセージへの返信でVotingOptionsプロパティによって返された区切り値のいずれかに設定されます。

関連する問題