How to automatically switch my email signature in Outlook 365

12,125

Solution 1

The answer is no. You'll need to come up with some sort of custom solution or look for a third party app to help. I looked around a bit and didn't really find any solution I would recommend. Another route would be to look at smaller marketing integration tools - these may let you compose messages and send them with select signatures based on "campaign" - just assign certain users to the campaign and messages you generate will get the footer (or whatever else) you want to inject.

Back to a possible coding option

There is a forum string here that may help ( https://social.msdn.microsoft.com/Forums/en-US/9cfedfdf-b7a8-442d-96b8-a5cf5a149673/adding-outlook-signature-using-ole-automation?forum=isvvba ).

They use the below to get access to signature files.

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();

If you combine that with logic to read the recipients - you may be able to get a working solution for your self.

Source: 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

If I get some time - I will try and put this together in a working solution, but if anyone else were to post it for you that would be great too. Otherwise hopefully this get's you down the right path.

Solution 2

You should be able to do so via Rules.

Here’s how to create a disclaimer that’s added to the bottom of all messages sent to external recipients (guide from here):

  1. In the Exchange Control Panel, select Manage My Organization > Mail Control > Rules.
  2. Click New. Enter the following information in the New Rule window:
  3. Click “More Options…”
    1. If…Select “The recipient…” and “is external/internal.” In the Select Scope window, select “Outside the organization,” and click OK.
    2. Do the following: Select “Append a disclaimer to the message…” and “Append a disclaimer.”
  4. Click “Enter text…” to enter the disclaimer text, and click OK.
  5. Click Select one… to specify a fallback action that defines what you want to do if the disclaimer can’t be applied to the message. The choices are “Wrap,” “Ignore,” and “Reject.” The default action is “Wrap.”
    1. To learn more about these options, see Fallback actions.
    2. When you are finished, click OK.
  6. To add exceptions to the rule so the disclaimer isn’t applied to specific messages, click “Except if…” For example, to specify specific users, select “The sender…” and “Is this person” or “Is a member of this group.” For a complete list of the available exceptions, see Conditions and Exceptions for Transport Rules.
  7. Name of rule: Accept the default name, or enter a unique, descriptive name for the rule.
  8. Click Save.
Share:
12,125

Related videos on Youtube

Karlo
Author by

Karlo

Engineer

Updated on September 18, 2022

Comments

  • Karlo
    Karlo over 1 year

    I have two email signatures. I use an internal signature for all [email protected] recipients, and an external signature for all [email protected]. At this moment, the default signature is the internal one. If I want to use the external one, I can manually set it in the ribbon.

    I wondered if there was any possibility to let Outlook 365 automatically change the signature if he detects that the addressee email address does not belong to the company.

    (Related question for Outlook 2007)

    I tried to do this with a rule, but it seems that there is no suited rule available: enter image description here

    The 'Apply rule on messages I send' is only able to apply an action after the message has been sent (see following 2 images). But I would need it to be activated after I have entered the addressees.

    enter image description here enter image description here

    • Yisroel Tech
      Yisroel Tech over 8 years
      What are your options when going to "Apply rule on messages I send" under the Start from a blank rule" section? (I just don't have a 365 account to test it myself.)
    • Yisroel Tech
      Yisroel Tech over 8 years
      And BTW, the rules the guide I brought are not the Rules in the Outlook program, it should be in the online Exchange Control Panel.
    • Karlo
      Karlo over 8 years
      @Yisroel Tech - Edited the question.
    • Yisroel Tech
      Yisroel Tech over 8 years
      I see. But have you tried following my instructions using the online Exchange Control Panel?
    • Karlo
      Karlo over 8 years
      @Yisroel Tech - No, I cannot find the online Exchange Control Panel in my online Office 365 / Outlook.
  • Karlo
    Karlo about 7 years
    I accepted this answer as it is the most useful one, though I did not check it myself because I am now using an other system.