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

  • 1
    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.) Jan 19, 2016 at 13:50
  • 1
    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. Jan 19, 2016 at 13:59
  • @Yisroel Tech - Edited the question.
    – Karlo
    Jan 20, 2016 at 8:42
  • 1
    I see. But have you tried following my instructions using the online Exchange Control Panel? Jan 20, 2016 at 20:12
  • @Yisroel Tech - No, I cannot find the online Exchange Control Panel in my online Office 365 / Outlook.
    – Karlo
    Jan 22, 2016 at 10:57

3 Answers 3


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

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 = _ 
    Set recips = mail.Recipients 
    For Each recip In recips 
        Set pa = recip.PropertyAccessor 
        Debug.Print recip.name & " SMTP=" _ 
           & pa.GetProperty(PR_SMTP_ADDRESS) 
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.

  • 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.
    – Karlo
    Mar 2, 2017 at 11:44

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.

Unsure if you're still looking for a solution, but I think that Crossware Mail Signature could help you out.

It acts as an add-on to Office 365 that applies your signature in the cloud each time you send out an email. You can easily create specific signature rules to have a different signature for internal and external users (and basically any rules you can think of). It has complete centralised management.

I hope that helps. Feel free to check it out here - http://www.crossware.co.nz/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .