2016-06-13 11 views
0

レイトバインディングを使用してOutlookから電子メールを送信します。これまでのところうまく動作しますが、私はoutlookアカウントが使用するものではなく、他の "FROM"アドレスを使いたいと思います。 誰でもこれを行う方法を知っていますか?私はいくつかのプロパティ「送信者」、「SenderEmailAdress」を見つけ...しかし、何も私のために働かないか、私はそれが間違ってやっている事前バインディングを試みることによってレイトバインディングOutlook Mailでcenderから送信者を変更する方法

...(私はそう思う)

これは私のコードですメールを作成してOutlookを開いてください。

 try 
     { 
      CreateObject co = new CreateObject("Outlook.Application"); 
      object[] parms = new object[1]; 
      parms[0] = 0; 
      object mailitem = co.Execute("CreateItem", parms); 

      // define TO 
      object recipients = mailitem.GetType().InvokeMember("Recipients", BindingFlags.GetProperty, null, mailitem, null); 
      object[] address = new object[1]; 
      address[0] = toAdress; 
      recipients.GetType().InvokeMember("Add", BindingFlags.InvokeMethod, null, recipients, address); 

      // define subject 
      parms[0] = subject; 
      mailitem.GetType().InvokeMember("Subject", BindingFlags.SetProperty, null, mailitem, parms); 

      // define MailText 
      parms[0] = mailText; 
      mailitem.GetType().InvokeMember("Body", BindingFlags.SetProperty, null, mailitem, parms); 

      // open Outlook to send manually 
      mailitem.GetType().InvokeMember("Display", BindingFlags.InvokeMethod, null, mailitem, null); 
     } 
     catch (Exception ex) 
     { 

      throw; 
     } 

答えて

0

SentOnBehalfOfNameプロパティのみを変更できます。 SenderとSenderEmailAddressは読み取り専用のプロパティです。別の送信者を使用して送信する必要がある場合は、SendUsingAccountプロパティを、その送信者に対して構成されたアカウントを表すAccountオブジェクトに設定する必要があります。

+0

私は試してみます... SendOnBehalfOfNameは私が探しているものかもしれません... – Scherbe

+0

これはまさに私が探していたものでした、thx! '//送信者を定義します オブジェクト[] addressSend =新しいオブジェクト[1];addressSend [0] = strFrom; mailitem.GetType()。InvokeMember( "SentOnBehalfOfName"、BindingFlags.SetProperty、null、mailitem、addressSend); ' – Scherbe

関連する問題