Outlook, Bullets and Posting by Email

Posting by email from Outlook has always been a little challenging, but since upgrading to 10.1.6 (from 8.5) I find that if you use bullets in Outlook and send the email in HTML format, the Microsoft markup is not removed. It is displayed in the post and it is also included in the email notifications. See the screenshots below.

The Post online

The Notification email

On the other hand you can have Outlook use Rich Text formatting. In that case the post online actually looks OK. But the email notification is missing the bullets and the indentation altogether. See the screenshots below.

The Post online

The Notification email

This is causing a bit of frustration with users and I am pretty well stuck since Outlook is company wide and posting by email is the preferred method for most users. Is Outlook supposed to be a supported for post by email?

Is there anything I should be doing differently to avoid this problem or is this something that could be fixed with plugins? If plugins, can you point me to the right integration points and some tips on what to look for and replace?

Parents
  • Bill, since nobody responded, I thought i'd contribute what I'm doing to address the same problem. Zac from support pointed me toward writing a plugin:

    “The ForumThreads.Events.BeforeCreate event would be the one to handle. For handling at notification time, there is also ForumThreads.Events.OnRender. Just confirm that the render is for an email first.”

    My initial thought (I'm a beginner when it comes to plugins), would be something like this:

    public class ForumThreadStripBullets : IPlugin
    {
    public void Initialize()
    {
    Apis.Get<IForumThreads>().Events.BeforeCreate += Events_BeforeCreate;
    }

    private void Events_BeforeCreate(ForumThreadBeforeCreateEventArgs e)
    {
    var msg = e.Body.Replace("<![if !supportLists]>", string.Empty);
    msg = msg.Replace("<![endif]>", string.Empty);
    msg = msg.Replace("&lt;![if !supportLists]&gt;", string.Empty);
    msg = msg.Replace("&lt;![endif]&gt;", string.Empty);
    e.Body = msg;
    }


    /// <summary>
    /// Gets the Name of the Plugin
    /// </summary>
    public string Name => "Forum Remove Bullets";

    /// <summary>
    /// Gets the Description of the Plugin
    /// </summary>
    public string Description => "Erases bullets from forum thread";
    }

Reply
  • Bill, since nobody responded, I thought i'd contribute what I'm doing to address the same problem. Zac from support pointed me toward writing a plugin:

    “The ForumThreads.Events.BeforeCreate event would be the one to handle. For handling at notification time, there is also ForumThreads.Events.OnRender. Just confirm that the render is for an email first.”

    My initial thought (I'm a beginner when it comes to plugins), would be something like this:

    public class ForumThreadStripBullets : IPlugin
    {
    public void Initialize()
    {
    Apis.Get<IForumThreads>().Events.BeforeCreate += Events_BeforeCreate;
    }

    private void Events_BeforeCreate(ForumThreadBeforeCreateEventArgs e)
    {
    var msg = e.Body.Replace("<![if !supportLists]>", string.Empty);
    msg = msg.Replace("<![endif]>", string.Empty);
    msg = msg.Replace("&lt;![if !supportLists]&gt;", string.Empty);
    msg = msg.Replace("&lt;![endif]&gt;", string.Empty);
    e.Body = msg;
    }


    /// <summary>
    /// Gets the Name of the Plugin
    /// </summary>
    public string Name => "Forum Remove Bullets";

    /// <summary>
    /// Gets the Description of the Plugin
    /// </summary>
    public string Description => "Erases bullets from forum thread";
    }

Children
  • I was thinking similar thoughts. But haven't addressed it yet. Was too tied up with upgrading from 8.5 to 10.1. And now I'm on a different project. But what we have recommended for the few users who do this routinely and complain the most is to recommend creating a small HTML file that is just a standard unordered list. like:

    <html>
    <ul>
    <li>One </li>
    <li>Two</li>
    </ul>
    </html>

    Then in your Outlook email, use "Insert Attachment" and select your file. Then notice that the "Insert" button is a drop down. Use the drop down and select "Insert as text" rather than the normal, default, Insert. 

    Now you have a clean piece of HTML inserted into your email and Outlook is nice enough that if you do the normal carriage return to add a new line or tab to indent/outdent the bullets, it handles it as clean HTML without the normal Outlook overhead. Then what you post is real HTML and not Outlook pseudoHTML.