現在、C#でソフトウェア用のプラグインを開発中です。このプラグインは、PSTファイルの内容を抽出し、その中のすべての項目をテキストファイルとして保存します(添付ファイルは電子メールと同じフォルダにその種類として格納されます)。Outlook 2k7統合(P/Invoke経由) - 安全でない添付ファイルをブロックする
Windows 7(Outlook 2K7)でテストするまで問題なく動作しています。以前の同じジョブをOutlook 2000を搭載したマシンで実行したところ、12,000を超えるファイルが見つからなかったことがわかりました。これらのファイルは添付ファイル(ほとんどのURL)であることが判明しました
Outlook 2K7が添付ファイルを特定の拡張子でブロックすることが問題であることがわかりました。 Outlook自体で電子メールを開くと、上部に青いバーが表示され、「潜在的に安全でない可能性のある添付ファイルへのアクセスがブロックされました」と電子メール内のすべての添付ファイルが表示されます。
これらの添付ファイルをOutlookでブロックしないでプログラムで取得する方法はありますか?
我々は添付ファイルを保存するために使用するコードは次のとおりです。他の誰が同じ問題に遭遇した場合に
private void saveAttachment(ref object oEmail, StoreInfo currentStoreInfo, string sEmailID, string sExportPath)
{
int iAttachCount = 0;
object oAttach = null;
oAttach = getNextAttachment(oEmail, ref iAttachCount);
while (oAttach != null)
{
saveAttachment(sEmailID, sExportPath, oAttach);
oAttach = getNextAttachment(oEmail, ref iAttachCount);
}
}
private object getNextAttachment(object oEmail, ref int iAttachCount)
{
object oAttach = null;
try
{
iAttachCount++;
oAttach = GetProperty(oEmail, "Attachments", new object[] { iAttachCount });
}
catch //(Exception ex)
{
// There was no attachment to be gotten
oAttach = null;
}
return oAttach;
}