私は約15人のユーザーを持つアプリケーションを開発しています。各ユーザーは、ボタンをクリックして共有機能メールボックス(メディア処理と呼ばれます)の電子メールをプログラムで読み込むことができるようになります。サーバー上のアプリケーションでASP.NETの機能メールボックスを読む方法
コードをローカルでテストすると、すべて正常に動作します。しかし、今、私はそれをサーバーに公開していること、それはもう働いていない(それはおそらく、サーバー上の代わりに、ユーザーのメールボックスにメールボックスに探しているので、私のweb.configファイルで
:。
<add key="asFuncMailboxInbox" value="Media Processing" />
<add key="asFuncMailboxOutbox" value="902. Outbox" />
これは、電子メールを処理するための私の方法です:
string inboxName = WebConfigurationManager.AppSettings["asFuncMailboxInbox"];
string outboxName = WebConfigurationManager.AppSettings["asFuncMailboxOutbox"];
try
{
OutlookApp myApp = new OutlookApp();
OutlookNameSpace mapiNameSpace = myApp.GetNamespace("MAPI");
MapiFolder myInbox = mapiNameSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
MapiFolder mySubFolder = myInbox.Folders[inboxName];
MapiFolder destinationFolder = myInbox.Folders[outboxName];
var myItems = mySubFolder.Items;
myItems.Sort("[ReceivedTime]", true);
count = 0;
if (myItems.Count > 0)
{
totalCount = myItems.Count;
for (var i = myItems.Count; i > 0; i--)
{
var itemObject = myItems[i] as MailItem;
if (itemObject != null)
{
var isOk = NewBankFactoryHelper.IsMessageCorrectlyConstructed(itemObject.Body);
if (isOk)
{
StoreNewBankRequestEmailData(itemObject);
itemObject.Move(destinationFolder);
count++;
}
}
}
}
}
catch (System.Exception e)
{
hasError = true;
errorMessage = e.ToString();
}
finally
{
template = string.Format(CommonResources.Label_RequestsDownloadSuccess, count, totalCount);
if (count < totalCount)
{
template += CommonResources.Label_EmailIncorrectFormat;
}
if (hasError)
{
template += string.Format(CommonResources.Label_RequestDownloadFailed, errorMessage);
}
}
あなた自身の質問に答えました。サーバー上でローカルに見ています。 Interopをサーバー上で使用することは悪い考えですが、マイクロソフトはこれを行わないことをお勧めします。代わりに、Exchange Web Services(EWS)のようなものを使用する必要があります。 – Equalsk
@Equalskあなたは自分のコンピュータ上で直接ユーザーのメールボックスにアクセスすることは可能ですか、Outlookをサーバーにインストールして機能するメールボックスにアクセスする必要があると思いますか? –
私は最初のものがうまくいくのではないかと疑いますが、2番目のものはうまくいくはずですが、お勧めの方法ではありません。それは "簡単な"修正ですが、 "正しい"修正はありません。 – Equalsk