#3033 ✓fixreleased
Joshua Sargent

Markdown sending as plain text

Reported by Joshua Sargent | March 21st, 2022 @ 10:19 PM

Mailmate has been occasionally sending messages as plain text instead of converting the markdown and sending a formatted message. Sometimes it happens and sometimes it doesn't...and I can't seem to find any logical commonality between the ones it chooses to send formatted versus unformatted. It seems to be happening more frequently as time goes on.

Understandably, it's causing some embarrassing interactions with my customers so I need to find a resolution or else be forced to at least send mail with an inferior mail client. :(

Comments and changes to this ticket

  • benny

    benny March 22nd, 2022 @ 04:20 PM

    Certainly sounds like something which needs debugging. I'll look into it tomorrow.

    Do you use the message preview, that is, does it pop up when you use Markdown?

  • Joshua Sargent

    Joshua Sargent March 22nd, 2022 @ 05:21 PM

    I do use the message preview, and it always formats correctly. I only notice the problem after I send the message and see it either in my sent items or when someone replies.

    I also use(d) inline CSS to do some very basic styling (which I've used for years and never changed). But on a hunch this morning, I decided to back up my preference file and start over with a clean one. Restarted MailMate and re-set up my preferred settings...and did not enable my custom CSS.

    So far today, all of my messages have been sent formatted properly.

  • benny

    benny March 23rd, 2022 @ 08:30 AM

    Thanks for the hint. I'll look into if this is the problem. Do you still have the setting/styling you used?

  • Joshua Sargent

    Joshua Sargent March 28th, 2022 @ 02:47 PM

    body {
      font-family: sans-serif;
      font-size: 14px;
      line-height: 1.3125em;
      padding-top: 10px;
      padding-bottom: 10px;
      background-color: white;
      padding: 30px;
    }
    
    body > *:first-child {
      margin-top: 0 !important;
    }
    
    body > *:last-child {
      margin-bottom: 0 !important;
    }
    
    a {
      color: #4183C4;
    }
    
    a.absent {
      color: #cc0000;
    }
    
    a.anchor {
      display: block;
      padding-left: 30px;
      margin-left: -30px;
      cursor: pointer;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
    }
    
    h1, h2, h3, h4, h5, h6 {
      font-family: Helvetica, Sans-Serif;
      margin: 30px 0 10px;
      padding: 0;
      line-height: .9em;
      font-weight: bold;
      -webkit-font-smoothing: antialiased;
      cursor: text;
      position: relative;
    }
    
    h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor {
      background: url("../../images/modules/styleguide/para.png") no-repeat 10px center;
      text-decoration: none;
    }
    
    h1 tt, h1 code {
      font-size: inherit;
    }
    
    h2 tt, h2 code {
      font-size: inherit;
    }
    
    h3 tt, h3 code {
      font-size: inherit;
    }
    
    h4 tt, h4 code {
      font-size: inherit;
    }
    
    h5 tt, h5 code {
      font-size: inherit;
    }
    
    h6 tt, h6 code {
      font-size: inherit;
    }
    
    h1 {
      font-size: 32px;
      color: black;
    }
    
    h2 {
      font-size: 24px;
      border-bottom: 1px solid #cccccc;
      color: black;
    }
    
    h3 {
      font-size: 20px;
      border-bottom: 1px solid #cccccc;
      color: black;
    }
    
    h4 {
      font-size: 24px;
    }
    
    h5 {
      font-size: 20px;
    }
    
    h6 {
      color: #777777;
      font-size: 14px;
    } /* [p] paragraphs, [li] list items, and [pre] ?  */
    
    p, li, pre {
      margin-top: 0.667em;
    } /* [p] paragraphs, [ul] unordered lists, [ol] ordered lists, and [dl] ?  */
    
    p, ul, ol, dl {
      margin-top: 1em;
    } /*hr { background: transparent url("../../images/modules/pulls/dirty-shade.png") repeat-x 0 0; border: 1px solid; color: #cccccc; height: 2px; padding: 0; }*/ /* Horizontal Rule */
    
    hr {
      border: 0.5px solid;
      color: #cccccc;
      margin: 1.25em 0;
    }
    
    body > h2:first-child {
      margin-top: 0;
      padding-top: 0;
    }
    
    body > h1:first-child {
      margin-top: 0;
      padding-top: 0;
    }
    
    body > h1:first-child + h2 {
      margin-top: 0;
      padding-top: 0;
    }
    
    body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child {
      margin-top: 0;
      padding-top: 0;
    }
    
    a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
      margin-top: 0;
      padding-top: 0;
    }
    
    h1 p, h2 p, h3 p, h4 p, h5 p, h6 p {
      margin-top: 0;
    }
    
    li p.first {
      display: inline-block;
    }
    
    ul, ol {
      font-family: Consolas, Menlo, Monospace;
      font-size: 14px;
      line-height: 1.1em;
      padding-left: 30px;
    }
    
    ul :first-child, ol :first-child {
      margin-top: 0;
    }
    
    ul :last-child, ol :last-child {
      margin-bottom: 0;
    }
    
    dl {
      padding: 0;
    }
    
    dl dt {
      font-size: 14px;
      font-weight: bold;
      font-style: italic;
      padding: 0;
      margin: 15px 0 5px;
    }
    
    dl dt:first-child {
      padding: 0;
    }
    
    dl dt > :first-child {
      margin-top: 0;
    }
    
    dl dt > :last-child {
      margin-bottom: 0;
    }
    
    dl dd {
      margin: 0 0 15px;
      padding: 0 15px;
    }
    
    dl dd > :first-child {
      margin-top: 0;
    }
    
    dl dd > :last-child {
      margin-bottom: 0;
    } /* Block Quotes */
    
    blockquote {
      border-left: 4px solid #dddddd;
      padding: 0 15px; /*margin-top: .25em; */
      font-family: Consolas, Menlo, Monospace;
      font-size: 14px;
      color: #777777;
    }
    
    blockquote > :first-child {
      margin-top: 5;
    }
    
    blockquote > :last-child {
      margin-bottom: 5;
    } /* Markdown table */
    
    table {
      border-collapse: collapse;
      margin-top: 1em;
      margin-bottom: 3em;
      margin-left: 0;
      margin-right: auto;
      border-top: 2px solid black;
      border-bottom: 2px solid black;
      border-left: 2px solid black;
      border-right: 2px solid black;
      font-family: Palatino, Serif;
      font-size: 14px; /*width: 320px;*/
    } /* Table Header Row */
    
    table th {
      padding-right: 0.75em;
      padding-left: 0.75em;
      border-bottom: 2px solid black;
    } /* Table Data Rows */
    
    table td {
      padding: 0.5em;
      border-bottom: 1px solid black;
    } /* Table Lines and Borders */
    
    table th, td {
      border-top: 1px solid black;
      border-left: 1px solid black;
      border-right: 1px solid black;
    } /* Table Caption */
    
    caption {
      text-decoration: underline;
      font-family: Helvetica;
      font-size: 16px;
      font-weight: bolder;
      margin-top: 1em;
      margin-bottom: 1em;
    }
    
    img {
      max-width: 100%;
    }
    
    span.frame {
      display: block;
      overflow: hidden;
    }
    
    span.frame > span {
      border: 1px solid #dddddd;
      display: block;
      float: left;
      overflow: hidden;
      margin: 13px 0 0;
      padding: 7px;
      width: auto;
    }
    
    span.frame span img {
      display: block;
      float: left;
    }
    
    span.frame span span {
      clear: both;
      color: #333333;
      display: block;
      padding: 5px 0 0;
    }
    
    span.align-center {
      display: block;
      overflow: hidden;
      clear: both;
    }
    
    span.align-center > span {
      display: block;
      overflow: hidden;
      margin: 13px auto 0;
      text-align: center;
    }
    
    span.align-center span img {
      margin: 0 auto;
      text-align: center;
    }
    
    span.align-right {
      display: block;
      overflow: hidden;
      clear: both;
    }
    
    span.align-right > span {
      display: block;
      overflow: hidden;
      margin: 13px 0 0;
      text-align: right;
    }
    
    span.align-right span img {
      margin: 0;
      text-align: right;
    }
    
    span.float-left {
      display: block;
      margin-right: 13px;
      overflow: hidden;
      float: left;
    }
    
    span.float-left span {
      margin: 13px 0 0;
    }
    
    span.float-right {
      display: block;
      margin-left: 13px;
      overflow: hidden;
      float: right;
    }
    
    span.float-right > span {
      display: block;
      overflow: hidden;
      margin: 13px auto 0;
      text-align: right;
    } /* Code Blocks */
    
    code, tt {
      font-family: Consolas, Menlo, Monospace;
      font-size: 14px;
      white-space: nowrap; /* margin: 2em 5px; padding: 0 5px; border: 1px solid #eaeaea; background-color: #f8f8f8; border-radius: 3px; */
    }
    
    pre code {
      margin: 0;
      padding: 0;
      white-space: pre;
      border: none;
      background: transparent;
    }
    
    .highlight pre {
      background-color: #f8f8f8;
      border: 1px solid #cccccc;
      font-size: 13px;
      line-height: 19px;
      overflow: auto;
      padding: 6px 10px;
      border-radius: 3px;
    }
    
    pre {
      background-color: #f8f8f8;
      border: 1px solid #cccccc;
      font-size: 13px;
      line-height: 19px;
      overflow: auto;
      padding: 6px 10px;
      border-radius: 3px;
    }
    
    pre code, pre tt {
      background-color: transparent;
      border: none;
    }
    
    #wrapper {
      box-shadow: none;
      padding: 15px;
    }
    
  • Joshua Sargent

    Joshua Sargent March 28th, 2022 @ 02:51 PM

    I just pasted the CSS I used, but my comment was marked as spam. Maybe you can still see it.

    Happy to send you the CSS, as well as my old preference file if it helps you. Just let me know what you need.

    Note that the problem has not re-occurred since my remedy above. It's working great. My custom CSS wasn't terribly important anyway. You'll probably want to choke me for doing it in the first place. haha!

  • benny

    benny March 31st, 2022 @ 07:02 PM

    I'll forgive you since it helps me find a bug ;)

    Where did you configure/add this CSS?

  • Joshua Sargent

    Joshua Sargent March 31st, 2022 @ 07:18 PM

    I used: defaults write com.freron.MailMate MmDefaultCSS -string

    (also note that I've been tracking/running the test builds for a while now...I think it was your general recommendation after some macOS release or the M1...I forget now.)

    defaults write com.freron.MailMate MmDefaultCSS -string 'body { font-family: Consolas, Menlo, Monospace; font-size: 14px; line-height: 1.3125em; padding-top: 10px; padding-bottom: 10px; background-color: white; /*padding: 30px; */}body > *:first-child { margin-top: 0 !important;}body > *:last-child { margin-bottom: 0 !important;}a { color: #4183C4;}a.absent { color: #cc0000;}a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute; top: 0; left: 0; bottom: 0;}h1, h2, h3, h4, h5, h6 { font-family: Helvetica, Sans-Serif; margin: 30px 0 10px; padding: 0; line-height: .9em; font-weight: bold; -webkit-font-smoothing: antialiased; cursor: text; position: relative;}h1 tt, h1 code { font-size: inherit;}h2 tt, h2 code { font-size: inherit;}h3 tt, h3 code { font-size: inherit;}h4 tt, h4 code { font-size: inherit;}h5 tt, h5 code { font-size: inherit;}h6 tt, h6 code { font-size: inherit;}h1 { font-size: 32px; color: black;}h2 { font-size: 24px; color: black;}h3 { font-size: 20px; color: black;}h4 { font-size: 24px; border-bottom: 1px solid #cccccc; color: black;}h5 { font-size: 20px; border-bottom: 1px solid #cccccc; color: black;}h6 { color: #777777; font-size: 16px; font-variant: small-caps;}/* [p] paragraphs, [li] list items, and [pre] ? */li, pre { margin-top: 0.5em;}/* [p] paragraphs, [ul] unordered lists, [ol] ordered lists, and [dl] ? */p, ul, ol, dl { margin-top: 1em;}/* Horizontal Rule */hr { border: 0.5px solid; color: #cccccc; margin: 1.25em 0;}h1 p, h2 p, h3 p, h4 p, h5 p, h6 p { margin-top: 0;}li p.first { display: inline-block;}ul, ol { font-family: Consolas, Menlo, Monospace; font-size: 14px; line-height: 1.1em; padding-left: 30px;}ul :first-child, ol :first-child { margin-top: 0.5em;}ul :last-child, ol :last-child { margin-bottom: 0.5em;}dl dt { font-size: 14px; font-weight: bold; font-style: italic; padding: 0; margin: 15px 0 5px;}dl dt:first-child { padding: 0;}dl dt > :first-child { margin-top: 0;}dl dt > :last-child { margin-bottom: 0;}dl dd { margin: 0 0 15px; padding: 0 15px;}dl dd > :first-child { margin-top: 0;}dl dd > :last-child { margin-bottom: 0;}/* Block Quotes */blockquote { border-left: 4px solid #dddddd; padding: 0 15px; margin-top: 1em; /*margin-left: 1em;*/ font-family: Consolas, Menlo, Monospace; font-size: 14px; color: #777777;}blockquote > :first-child { margin-top: 5;}blockquote > :last-child { margin-bottom: 5;}/* Markdown table */table { border-collapse: collapse; border-style: hidden; margin-top: 3em; margin-left: 1.5em; margin-right: auto; margin-bottom: 3em; padding-right: 0.5em; padding-left: 0.5em; /*border-bottom: 2px solid black;*/ /*border-top: 2px solid black;*/ /*border-left: 2px solid black;*/ /*border-right: 2px solid black;*/ background-color: white;}/* Table Header Row */th { padding-top: 0.2em; padding-bottom: 0.2em; padding-right: 0.5em; padding-left: 0.5em; border-bottom: 2px solid black; /*border-top: 2px solid black;*/ border-left: 1px solid black; border-right: 1px solid black; font-family: Palatino, Serif; font-size: 15px;}/* Table Data Rows */td { /*border-style: none;*/ padding-top: 0.1em; padding-bottom: 0.1em; padding-right: 0.5em; padding-left: 0.5em; /*border-top: 1px solid black;*/ /*border-bottom: 1px solid black;*/ border-left: 1px solid black; border-right: 1px solid black; font-family: Consolas, Menlo, Monospace; font-size: 14px;}/* Table Caption */caption { text-decoration: underline; font-family: Helvetica; font-size: 14px; font-weight: bolder; margin-top: 1em; margin-bottom: 1em;}img { max-width: 100%;}/* Code Blocks */code, tt { font-family: Consolas, Menlo, Monospace; font-size: 14px; white-space: nowrap; /* margin: 2em 5px; padding: 0 5px; border: 1px solid #eaeaea; background-color: #f8f8f8; border-radius: 3px; */}pre code { margin: 0; padding: 0; white-space: pre; border: none; background: transparent;}.highlight pre { background-color: #f8f8f8; border: 1px solid #cccccc; font-size: 14px; line-height: 19px; overflow: auto; padding: 6px 10px; border-radius: 3px;}pre { background-color: #f8f8f8; border: 1px solid #cccccc; font-size: 14px; line-height: 19px; overflow: auto; padding: 6px 10px; border-radius: 3px;}pre code, pre tt { background-color: transparent; border: none;}#wrapper { box-shadow: none; padding: 15px;} '
    
  • cands

    cands April 3rd, 2022 @ 11:09 AM

    I am also experiencing the same issue on macOS 12.3 and MailMate 5882. I do not use a custom CSS. This started occurring on some of the latest beta releases (not sure which, unfortunately). I can see in some replies that plain text instead of Markdown formatted mail was sent, causing lists etc to not look as intended.

  • benny

    benny April 20th, 2022 @ 09:49 AM

    @cands: I believe this issue might have been fixed. Hold down ⌥ when clicking “Check Now” in the Software Update preferences pane to get the latest test release. Then let me know if it still happens.

  • cands

    cands April 21st, 2022 @ 07:41 PM

    @benny: Indeed, I confirm that the issue has been fixed since build 5884, thanks a lot!

  • benny

    benny April 27th, 2022 @ 12:38 PM

    • State changed from “new” to “fixcommitted”
  • benny

    benny December 25th, 2024 @ 04:11 PM

    • State changed from “fixcommitted” to “fixreleased”

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Mac OS X email client.

Shared Ticket Bins

People watching this ticket

Pages