■81669 / inTopicNo.1) |
コンテキストに名前が存在しません。 |
□投稿者/ ta-kun (1回)-(2016/10/25(Tue) 18:54:45)
|
分類:[C#]
初心者で恐れ入ります。
VisualStudio .Net 4 Outlook VSTOアドインを作成しております。
メールアドレスのTOに特定のドメインが入っていた場合はメッセージを出し送信できないようにしたいと思っております。
当初はOutlook.MailItem にてTOを取得したのですが、To: A@test.comの場合はうまく動いたのですが、To: "A" <A@test.com> の場合はAのみしかひろってくれず、Recipient を使用したのですがうまく動きません、msdnのhttps://msdn.microsoft.com/ja-jp/library/office/ff868695.aspxを参照してみたのですが・・・教えて頂いてもよろしいでしょうか?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Outlook = Microsoft.Office.Interop.Outlook;
using Office = Microsoft.Office.Core;
using System.Windows.Forms;
namespace OutlookAddIn6
{
public partial class ThisAddIn
{
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
Application.ItemSend += new Outlook.ApplicationEvents_11_ItemSendEventHandler(Application_ItemSend);
}
public void Application_ItemSend(object Item, ref bool Cancel)
{
const string PR_SMTP_ADDRESS =
"http://schemas.microsoft.com/mapi/proptag/0x39FE001E";
Outlook.Recipients recips = mail.Recipients;
foreach (Outlook.Recipient recip in recips)
{
Outlook.PropertyAccessor pa = recip.PropertyAccessor;
string smtpAddress =
pa.GetProperty(PR_SMTP_ADDRESS).ToString();
String str = recip.Name + " SMTP=" + smtpAddress;
if (str.Contains("@test.com"))
{
}
else
{
MessageBox.Show("送信先を確認して下さい。",
"確認",
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
Cancel = true;
}
}
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
//注: Outlook はこのイベントを発行しなくなりました。Outlook が
// シャットダウンする際に実行が必要なコードがある場合は、http://go.microsoft.com/fwlink/?LinkId=506785 を参照してください。
}
#region VSTO で生成されたコード
/// <summary>
/// デザイナーのサポートに必要なメソッドです。
/// このメソッドの内容をコード エディターで変更しないでください。
/// </summary>
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisAddIn_Startup);
this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
#endregion
}
}
|
|