受信メールを読めるようにするための解決策を探しています。現時点でこれを行うために私が考えることができる3つの方法は次のとおりです。
- メールを解析するメールサーバーを作成する
- 既存のExchangeサーバーに接続します
- メールアカウントですでに設定されているOutlookに接続します
これを行うための最良の方法は何ですか?そして、それをどのように実装するのでしょうか?
ありがとう
受信メールを読めるようにするための解決策を探しています。現時点でこれを行うために私が考えることができる3つの方法は次のとおりです。
これを行うための最良の方法は何ですか?そして、それをどのように実装するのでしょうか?
ありがとう
すでにExchangeサーバーをメールボックスホストとして扱っている場合は、IMAP(推奨)またはPOPアクセスを介してそれを活用することをお勧めします。最近、AfterLogicのMailBee.NET IMAPコンポーネントを介して指定されたメールボックスにアクセスするソリューションを開発しました。これは、推奨する価値があると思います。標準の試用版とリーズナブルな価格があります。また、このルートを使用する場合、POPまたはIMAP自動化は、ほとんどすべてのメールボックスサーバープラットフォームで機能するのに十分な柔軟性があります。Exchange環境に限定する必要はありません。
また、無料の.NETIMAPコンポーネントもあります。私の限られた調査では、無料の代替案が私の要件のすべてを完全に満たしていないか、習得するのが簡単ではないことがわかりましたが、状況は異なる場合があります。完全を期すために、MailBeeにお金を使うことを決定する前に私が検討した代替/無料のIMAPライブラリのリストを以下に示します。
質問の2番目の部分に対処するには...私の最近のプロジェクトでの実装には、MailBee.NETIMAPライブラリを参照する非常に単純なコンソールアプリケーションの作成が含まれていました。コンソールアプリケーションには標準の設定ファイルがあり、パラメータとしてコマンドライン引数を受け入れます。プロセスのニーズに応じてコンソールアプリケーションを実行するために、Windowsのスケジュールされたタスクを定義します。これは他の方法でもできると思いますが、これは私たちのニーズにとって最も簡単なアプローチでした。
これが古いスレッドであることは知っていますが、ImapX2と呼ばれる優れたオープンソースのImapライブラリへのリンクを追加したいと思いました:http://imapx.codeplex.com/
このスレッドのほとんどのリンクをさまざまな成功の度合いで試しましたが、ImapX2ライブラリが私のニーズに応じて最適に機能することがわかりました。
そのために既存のIMAPサーバーとIMAPコンポーネントを使用します。
私の意見では、独自のIMAPサーバーを作成することは大きなセキュリティリスクです。
無料のコンポーネントがありますが、それらのほとんどは国の文字と「標準ではない」電子メールメッセージに問題があります...そしてサポートはありません(LumiSoft.Netはほぼ2年間放棄されています)
using(Imap imap = new Imap())
{
imap.Connect("imap.server.com");
imap.Login("user", "password");
imap.SelectInbox();
List<long> uidList = imap.Search(Flag.Unseen);
foreach (long uid in uidList)
{
IMail email = new MailBuilder()
.CreateFromEml(imap.GetMessageByUID(uid));
Console.WriteLine(email.Subject);
Console.WriteLine(email.Attachments.Count);
}
imap.Close();
}
Mail.dllにはSMTPコンポーネントとテンプレートエンジンも含まれているため、返信を簡単に送信できます。
免責事項:私はこの商用製品の開発に関わっています。