web-dev-qa-db-ja.com

Outlook365でメールの署名を自動的に切り替える方法

私は2つの電子メール署名を持っています。すべての[email protected]受信者に内部署名を使用し、すべての[email protected]に外部署名を使用します。現時点では、デフォルトの署名は内部署名です。外部のものを使用したい場合は、リボンに手動で設定できます。

宛先の電子メールアドレスが会社のものではないことを彼が検出した場合、Outlook365が自動的に署名を変更する可能性があるのではないかと思いました。

Outlook 2007の関連質問

ルールを使ってこれを実行しようとしましたが、適切なルールがないようです: enter image description here

「送信するメッセージにルールを適用する」は、メッセージが送信された後にのみアクションを適用できます(次の2つの画像を参照)。ただし、宛先を入力した後でアクティブ化する必要があります。

enter image description hereenter image description here

2
Karlo

答えはいいえだ。ある種のカスタムソリューションを考え出すか、役立つサードパーティのアプリを探す必要があります。私は少し周りを見回しましたが、私がお勧めする解決策は本当に見つかりませんでした。もう1つのルートは、小規模なマーケティング統合ツールを検討することです。これらのツールを使用すると、メッセージを作成し、「キャンペーン」に基づいて選択した署名を付けて送信できます。特定のユーザーをキャンペーンに割り当てるだけで、生成したメッセージにフッター(またはその他)が表示されます。あなたが注入したい。

可能なコーディングオプションに戻る

ここに役立つ可能性のあるフォーラム文字列があります( https://social.msdn.Microsoft.com/Forums/en-US/9cfedfdf-b7a8-442d-96b8-a5cf5a149673/adding-Outlook-signature-using- ole-automation?forum = isvvba )。

以下を使用して、署名ファイルにアクセスします。

Shell = new ActiveXObject("WScript.Shell"); 
user_name = Shell.ExpandEnvironmentStrings("%USERNAME%");  
fso =  new ActiveXObject("Scripting.FileSystemObject");
signatureTextStream = fso.OpenTextFile("C:\\Documents and Settings\\" + user_name + "\\Application Data\\Microsoft\\Signatures\\" + user_name + "." + file_ext, 1);
signatureContents = signatureTextStream.ReadAll();
signatureTextStream.Close();

それをロジックと組み合わせて受信者を読み取ると、自分で実用的な解決策を得ることができるかもしれません。

ソース: https://msdn.Microsoft.com/en-us/library/office/ff868695.aspx

Sub GetSMTPAddressForRecipients(mail As Outlook.MailItem) 
    Dim recips As Outlook.Recipients 
    Dim recip As Outlook.Recipient 
    Dim pa As Outlook.PropertyAccessor 
    Const PR_SMTP_ADDRESS As String = _ 
        "http://schemas.Microsoft.com/mapi/proptag/0x39FE001E" 
    Set recips = mail.Recipients 
    For Each recip In recips 
        Set pa = recip.PropertyAccessor 
        Debug.Print recip.name & " SMTP=" _ 
           & pa.GetProperty(PR_SMTP_ADDRESS) 
    Next 
End Sub

時間があれば、これを実用的なソリューションにまとめようとしますが、他の誰かがあなたのために投稿するのであれば、それも素晴らしいことです。そうでなければ、うまくいけば、これはあなたを正しい道に導くでしょう。

1
Jesus Shelby

ルールを介してそうすることができるはずです。

外部の受信者に送信されるすべてのメッセージの下部に追加される免責事項を作成する方法は次のとおりです( ここ からのガイド):

  1. Exchangeコントロールパネルで、[組織の管理]> [メールコントロール]> [ルール]を選択します。
  2. [新規]をクリックします。 [新しいルール]ウィンドウに次の情報を入力します。
  3. 「その他のオプション…」をクリックします
    1. 次の場合…「受信者…」と「外部/内部」を選択します。 [スコープの選択]ウィンドウで、[組織外]を選択し、[OK]をクリックします。
    2. 次の手順を実行します。「メッセージに免責事項を追加する…」と「免責事項を追加する」を選択します。
  4. 「テキストを入力…」をクリックして免責事項のテキストを入力し、「OK」をクリックします。
  5. [いずれかを選択...]をクリックして、免責事項をメッセージに適用できない場合に実行する操作を定義するフォールバックアクションを指定します。選択肢は、「ラップ」、「無視」、「拒否」です。デフォルトのアクションは「ラップ」です。
    1. これらのオプションの詳細については、 フォールバックアクション を参照してください。
    2. 終了したら、[OK]をクリックします。
  6. 免責事項が特定のメッセージに適用されないようにルールに例外を追加するには、[例外...]をクリックします。たとえば、特定のユーザーを指定するには、[送信者...]と[この人ですか]または[このメンバーです]を選択しますグループ。"使用可能な例外の完全なリストについては、 トランスポートルールの条件と例外 を参照してください。
  7. ルールの名前:デフォルトの名前を受け入れるか、ルールの一意のわかりやすい名前を入力します。
  8. [保存]をクリックします。
1
Yisroel Tech