SmartTemplate4 Version History

24 versions

Be careful with old versions!

These versions are displayed for reference and testing purposes. You should always use the latest version of an add-on.

Version 2.0 535.3 KiB Works with SeaMonkey 2.14 - 2.49.*, Thunderbird 45.0 - 60.*

Change List
  • [Bug 26494] ESR 2018 readiness - Make SmartTemplate4 compatible with Tb 60
  • [Bug 26523] Remove extra line break before blockquote if standard quote header is used.
  • [Bug 26524] %datelocal% and %dateshort% are broken in Tb 60
  • [Bug 26523] Completed various translations (ru, pl, nl, sr)
  • [Bug 26526] %file% causes rogue errors "The Variable %5C.. can not be used for new messages" when including images
  • [Bug 26551] Add Domain License key support for SmartTemplate⁴ Pro
  • [Bug 26552] %attach% Variable for attaching [pdf] files
  • Address Book: Added feature to replace firstname with Display Name if no first name is recorded.
  • Added Indonesian Locale - thanks to Mienz Louveinski (
  • [Bug 24993] Premium Feature: Added support for using the following fields when composing a *new* Email:%subject% %from% %to% %cc% %bcc% %date% %dateformat()%
  • [Bug 26596] Make extracting Name from (parentheses) optional - extensions.smartTemplate4.names.guessFromMail
  • [Bug 26595] Option to disable guessing Name Part
  • [Bug 26597] Add ?? operator to mmake parts of address header arguments optional, e.g. %from(name,??mail)%
  • Added option for default address variable format

Version 1.5.1 496.1 KiB Works with SeaMonkey 2.14 - 2.49.*, Thunderbird 45.0 - 60.*

  • [Bug 26434] Forwarding email with embedded images removes images
  • [Bug 26465] Composer does not focus into body of mail.
  • Updated locales for French and Slovenian language. Thanks to Joël Bauer and Peter Klofutar at Babelzilla.
  • Raised minimum Thunderbird version to 45.0
  • Release video Please help my YouTube channel by liking the video and subscribing!
  • Changed license to Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)

Version 1.5 493.9 KiB Works with SeaMonkey 2.14 - 2.49.*, Thunderbird 38.0 - 60.*

  • Introduction video:
  • [Bug 26340] New "unmodified field" option for %To()%, %CC()% and %From()%
    %from(initial)% New initial keyword to avoid any changes of header; just displays the header as received.
  • [Bug 26307] New switch for adding (subtracting) days from date fields:
    %X:=calculated(n)% where n = is the number of days to add. Note this needs to be reset using %X:=calculated(0)% to unapply it to the rest of the Email.
  • [Bug 26411] New: Expanded functions for manipulation of headers, based on Regular Expressions.
  • %header.set.matchFromSubject(hdr,regex,group)% Set the header if a matching regular expression is found in subject line.
  • %header.append.matchFromSubject(hdr,regex,group)% Append text to header / recipient if a matching regular expression is found in subject line.
  • %header.prefix.matchFromSubject(hdr,regex,group)% Prefix text to header if a matching regular expression is found in subject line.
  • %header.set.matchFromBody(hdr,regex,group)% Set the header if a matching regular expression is found in quoted email.
  • %header.append.matchFromBody(hdr,regex,group)% Append text to header / recipient if a matching regular expression is found in quoted email.
  • %header.prefix.matchFromBody(hdr,regex,group)% Prefix text to header if a matching regular expression is found in quoted email.
  • %header.delete(hdr,regex)% Remove matching regular expression from text.

hdr: One of the following list {subject | to | from | cc | bcc | reply-to}

regex: A regular expression within double quotes, e.g.
"You got an email from .* \((\b[a-zA-Z0-9._+-]+@[a-z0-9.-]+\.[a-z]{2,4}\b)\)" -
Note that this function supports match groups.

group: The number of the match group, type 0 for inserting the match from the complete expression.

Notes: if no match is found the header will not be deleted or modified in any way. Therefore it is important to do a visual check on all fields before you send of your emails. No error messages will be issued when no match is found. Prefix and append will check whether the value already exist and avoid duplication. The prefix command should not be used with address fields, instead use append to add more recipients.

More information on regular expressions and examples can be found on the variables page.

Bug Fixes

  • [Bug 26494] ESR 2018 readiness - Make SmartTemplate⁴ compatible with Thunderbird 60
  • [Bug 26446] Thunderbird 57 hangs on start with SmartTemplate⁴ enabled.
    See also the Related Thunderbird bug
  • (Gecko 57) Local date fails due to codebase changes - deprecated nsILocaleService causing local date to fail
  • (Gecko 57) Most date functions (datelocal, dateshort) Caused by deprecated nsIScriptableDateFormat
  • [Bug 26300] %cursor% leaves an unnecessary space character
  • [Bug 26345] Unexpected "Â" character in mail body
  • [Bug 26356] Thunderbird 52 - Forwarding an email inline adds empty paragraph on top.
  • [Bug 25571] "Replace line breaks with <br>" on when not enabled - if Common settings are used: this inserted unwanted extra line breaks causing ugly spacing issues when forwarding email.
  • [Bug 26364] Inline Images are not shown. The fix will look for file:\\\ paths and replace with the raw image data. This won't work if there is no "file:\\\" portion given (relative path / current folder not supported)


  • [Bug 26485] Make SmartTemplate⁴ compatible with the next Postbox build - 5.52 beta 6 (modern Gecko build) - as of beta 7, Postbox is following Mozilla Quantum in dropping 3rd party Addons support altogether:

    Postbox is based on Mozilla code, and as of Firefox Quantum, Mozilla has discontinued support for add-ons. As such, a decision has been made to remove add-ons functionality from Postbox at this time.

    Postbox's Signatures and Responses add-ons have been rolled into the core product. Cloud File Sharing and installable Dictionaries will be supported in future BETA releases.

    Add-ons from 3rd parties will no longer operate in Postbox, but we may opt to roll certain 3rd party add-on functionality into Postbox in the future.

Version 1.4 387.3 KiB Works with SeaMonkey 2.14 - 2.49.*, Thunderbird 14.0 - 52.*

  • Added Postbox 5.0 compatibility
  • Fixed: mailto links are missing signature
  • Extended %matchTextFromBody( )% function

    %matchTextFromBody("Regular Expression",MatchGroup)% finds a pattern in the quoted Email and inserts it at function location. The first parameter must be the regular expression within double quotes. The second parameter is a number which denotes the "match group". Match groups are usually designated with round parentheses (). Use 0 to match the complete expression, 1 for the first group etc.
  • New %matchTextFromSubject( )% function
    Same as above, but searches the Subject line for the pattern. Parameters are also the same, first the pattern, second the match group number. See the variables page for a detailed explanation and examples.

Version 1.3.1 380.9 KiB Works with SeaMonkey 2.14 - 2.40, Thunderbird 14.0 - 49.*

  • [Bug 26260]
    Browser's "EMail Link" feature doesn't copy link
    In some circumstances choosing the browser feature to email a link will generate a new email but not copy in the actual link into the body of the email. I haven't been able to reproduce this yet but assume it is related to plain text email.<p></p>
  • [Bug 26261]
    Quote header not inserted in plain text mode.

Version 1.3 380.6 KiB Works with SeaMonkey 2.0 - 2.40, Thunderbird 9.0 - 47.*

  • [Bug 26207] Added option to delimit address list with semicolons
  • [Bug 26208] Lastname and Firstname arguments omit part of the name when broken up
  • [Bug 26257] Default quote header not removed in complex Stationery
    Force Replacing default quote header in Stationery even if no %quoteHeader% variable is contained
  • [Bug 26215] Bad interaction between SmartTemplate4 and "When using paragraph format, the enter key creates a new paragraph". With this new option, we can force SmartTemplate4 to always start in a Paragraph to better integrate with the recently updated behavior of Thunderbird 45.
  • [Bug 26209]Added option to wrap full name in double quotes if it contains comma or semicolon
  • Set extensions.SmartTemplate4.names.quoteIfComma = true
    When clicking on a mailto link from a web browser with a given text body, this was replaced by SmartTemplate4. The new behavior bypasses smartTemplate to avoid losing information from the web site.
  • Added Czech Locale - thanks to jmarek at
  • Added button to visit our Thunderbird Daily Youtube channel
  • Updated outdated links to language libraries from ftp to https

Version 1.2.1 370.7 KiB Works with SeaMonkey 2.0 - 2.45, Thunderbird 9.0 - 45.*

  • Please check out my new YouTube channel and help by subscribing. We will post tips on using Thunderbird and Addons on a regular basis. Click on the YouTube link in the bottom right corner to visit my channel.
  • [Bug 26061] Thunderbird doesn't remember to disable Icon on status bar
  • [Bug 26100] Double brackets not working with %cc(name,bracketMail(angle))%
  • [Bug 26159] %cursor% variable breaks paragraphs style
  • [Bug 26126] Unwanted space added after cursor
  • [Bug 26139] Fix position of warning message for variables that are not supported in New Emails.
  • [Bug 26197]Thunderbird 45 - unwanted paragraph after quote header.

Version 1.1 372.2 KiB Works with SeaMonkey 2.0 - 2.39, Thunderbird 3.1.7 - 42.*

  • [Bug 26043]
    Save Template / Load Template feature
    Save / load the current template to / from a file.
  • [Bug 25904] Functions to Modify Mail Headers: To, Cc, Bcc, Subject and Others%header.set(name,"value")% replaces the field of the Email.%header.append(name,"value")% appends text or recipient to the field of the Email.%header.prefix(name,"value")% prefixes text to the field of the Email.

    This currently supports the following headers: subject, to, from, cc, bcc, reply-to. For example, %header.prefix(subject,"[Project 1] ")% will turn the subject "Re: Support Request" into "[Project 1] Re: Support Request".

    The append function can also be used to add more additional recipients. In all cases, duplicates should be checked and avoided - please double check this is the case and report it to the bug if there are problems. The value has to be wrapped in " and doesn't currently support these characters: " , % used within.
  • Removed automatic suppression of "mailTo" links and added an Advanced Setting for re-activating it. Going forward, we recommend keeping this option off, as it may have some undesirable side-effects.
  • Miscellaneous
  • Postbox 4 compatibility. Raised minimum version for Thunderbird to 9.0.

Version 1.0.1 351.7 KiB Works with SeaMonkey 2.0 - 2.38, Thunderbird 3.1.7 - 38.*


  • [Bug 25902] %from% and %to% fail if no argument is given. While addressing this bug I also revised the treatment of variables within the arguments so multiple elements can be added e.g. %from(firstname,lastname,mail)% This also helps when adding a list of multiple addresses (as multiple %from% statements are expanded individually which is unusable as list.
  • [Bug 26020]
    Added bracketMail() and bracketName() functions use within from() to() cc() etc. to "wrap" mail address with non-standard characters
    bracketMail(arg) - use within from() to() cc() etc. to "wrap" mail address with non-standard characters
    bracketName(arg) - same using "name portion"
    usage: bracketMail(startDel;endDel) startDel = characters before the mail portion
    endDel = characters after the mail portion
    e.g. bracketMail(";") unsupported characters are: ; , < > ( ) [ ]
    bracketMail() = <>
    bracketMail(angle) = <>
    bracketMail(round) = (
    bracketMail(square) = []

  • [Bug 25871] Added %file()% - insert html, text or image from file (for customized signatures) use a local file path in order to insert a file from the computer you are sending from. You can also use it to insert an image file. To insert the correct file path / name, simply click on the %file% link in the "Variables" window.
    %file(fileName,encoding)% %file(fileName)%
    If the optional encoding parameter is omitted, we assume UTF-8 (recommended)
    %file(imageName,altText)% %file(imageName)%
    The optional altText is displayed at the recipient if the image cannot be displayed. It may not contain the characters ,)(><
  • Added Slovenian Locale - thanks to Klofutar for providing the translation!
Bug Fixes

  • [Bug 25903] In address fields Quotation marks are escaped: \"
  • Fixed: Capitalize Names doesn't work if string is quoted. Makes the whole string lowercase. Also capitalisation should work with Names in brackets now.
  • Fixed: getSignatureInner inserts "undefined" in Postbox if no signature is defined for current identity.
  • [Bug 25951] ST4 not working in SeaMonkey 2.32 - Temporal Deadzone - This was caused by some code changes in the Mozilla code base that established different rules for variables declared with "var" causing addons to break which have the same variable declared with let or var multiple times
  • [Bug 25976] Reply to List: variables not resolved - Stationery Patch available
  • [Bug 25089] Default forward quote not hidden - in Postbox "Fred wrote:" was not removed in plain text mode. Set extensions.smartTemplate4.plainText.preserveTextNodes = true for roll back to previous behavior.
  • [Bug 26008] Inserting Template in Postbox may fail with "XPCOMUtils not defined"
  • [Bug 26013] ST4 picks template from common settings instead of identity (Tb38)
  • Fixed: SmartTemplate4 was reported to fail in Postbox 3.0.11 in some cases - this version fixes the issue.
Known Issues

  • [Bug 25911] Extra Spaces in long subject headers [Decoding Problem] - Work In Progress

Version 0.9.6 336.7 KiB Works with SeaMonkey 2.0 - 2.31.*, Thunderbird 3.1.7 - 33.*

  • Added a switch for removing emails when replacing Names from Address book
  • Added format %sig(none)% to completely remove the signature, overriding account settings.
  • [Bug 25089] (reopened) default quote header wasn't removed anymore in Tb 31.0
  • [Bug 25816] Missing names in reply caused by different Encodings - the Mime decoder fails when multiple addresses with varying encodings are contained
  • [Bug 25089] Default forward quote not hidden
  • variable %matchTextFromBody()% to find and replace pattern<br>
    e.g. %matchTextFromBody(TEST *)% will retrieve '123' from 'TEST 123'

Version 332.9 KiB Works with SeaMonkey 2.0 - 2.29.*, Thunderbird 3.1.7 - 31.*

Fixed [Bug 25762] related to Replace Names from Addressbook (LDAP). Also disabled this feature on Postbox.

Version 331.7 KiB Works with SeaMonkey 2.0 - 2.27.*, Thunderbird 3.1.7 - 30.*

  • Improved locale matching (allow matching en as en-US etc.)
  • [Bug 25571] "replace line breaks with <br>" on when not enabled
  • Made sure that debug settings window stays on top.
  • Added advanced tab to settings dialog
  • Added option to disabling space for %cursor%
  • [Bug 25676] JavaScript parser added by Benito van der Zander
  • [Bug 25710] <div id="smartTemplate4-template"> is inserted in Stationery body
  • [Bug 25643] Display Names from Address book: if the email-address can be found in the Address books, use the name information from there for variables like %from(firstname)% etc.
  • Added option to capitalize all names
  • Added option to use Nickname where it exists
  • Fixed [Bug 25191] Conflict with add-on Account Colors
  • Fixed a problem with name matching signature files - depending on file name some
    textual signatures might be accidentally treated as images.
  • Fixed reading plain text signature files (linefeeds where lost) by inserting html line breaks - to disable this behavior toggle in about:config

Version 0.9.4 318.3 KiB Works with SeaMonkey 2.0 - 2.20.*, Thunderbird 3.1.7 - 24.*

  • Added %quoteHeader% variable for Stationery Users - adds the quote header only in reply/forward case and is removed in new mail
  • Fixed [Bug 25523] Cannot use image as signature .
  • Fixed [Bug 25526] If no signature is defined, %sig% is not removed.
  • Added user interface for forcing adding '-- ' delimiters before signature
  • Redesigned Global Settings tab
  • Added islinkable switch to address variables (to, from, cc, bcc, identity) to fix [Bug 25538]
  • Reopened [Bug 25088] by making status bar icon status more resilient
  • Fixed %subject% removing expressions in <brackets>

Version 0.9.3 313.6 KiB Works with SeaMonkey 2.0 - 2.17.*, Thunderbird 3.1.7 - 22.*

  • Added toolbar button
  • [FR 24990] Added %cursor% variable
  • [FR 25083] New option "Correct Lastname, Firstname" to swap firstname to the front.
  • %deleteText()% and %replaceText()% functions
  • Replacement of variables in Signature
  • Added Postbox support
  • Added support for Stationery 0.8 - works with the new event model of Stationery 0.8 - template inserting is disabled if a Stationery Template of 0.7.8 or older is used
  • mailto link support for the main header fields that hold email address data:
    %to(mail,link)% %to(name,link)% %to(firstname,link)% etc.
  • new %identity(name,link)% function
  • [FR 25248]%y% for two digit years
  • added preferences textbox for default charset
Bug Fixes
  • fixed a problem with preference not updating (found by AMO reviewer Nils Maier)
  • stabilised signature code base
  • fixed: Redefinition of Thunderbird's nsIMsgAccount interface broke account dropdown in settings
  • suppressed displaying string conversion prompt when clicking on the version number in advanced options
  • [Bug 25483] when using %sig(2)% (option for removing dashes) - signature is missing on new mails in HTML mode
  • [Bug 25104] when switching identity, old sig does not get removed.
  • [Bug 25486] attaching a plain text file as signature leads to double spaces in signature
  • [Bug 25272] reply below quote with signature placed curorsor below signature (should be above signature and below quote)
  • added 24px icon
  • added change log
  • Numerous locale updates - Many thanks to the translation team at BabelZilla!
  • added a configuration setting to insert dashes "-- " on top of plain text signature. 'extensions.smartTemplate4.insertSigDashes.plaintext '
  • added a configuration setting for signature file encoding. 'extensions.smartTemplate4.signature.encoding'
Known Issues
  • [Bug 25523] Cannot use image as signature (fix available)

Version 0.9.2 297.5 KiB Works with SeaMonkey 2.0 - 2.14.*, Thunderbird 3.1.7 - 17.*

  • Redesigned Settings Window to support signature settings from Thunderbird even better
  • Added SeaMonkey Support
  • Added global settings in advanced options pane; includes new font size setting for template editor.
  • [Bug 25088]: added option to hide status icon. You can also use right-click on the option to change label behavior through the configuration setting extensions.smartTemplate4.statusIconLabelMode (it's not needed to change anything but you can do)
    • 0 - never show label
    • 1 - expand label on hover (default)
    • 2 - always show label
  • Redesigned About Window (Add-On Manager ⇒ rightclick on SmartTemplate4 ⇒ About)
Bug Fixes

  • [Bug 25103]: 0.9.1 inserts unwanted line break top of <body> in html mode
  • [Bug 25099]: Support bottom reply with headers on top
  • [Bug 25097]: Forward text message results in double header
  • [Bug 25095]: 2 blank lines in plain text between header and quote
  • [Bug 25093]: Signatur missing when replying below quote
  • [Bug 25092]: Option window broken in Italian version
  • [Bug 25084]: 0.9.1 regression: blank line is added before Reply template
  • [Bug 25089]: Default forward quote can't be completely hidden - thanks to PeterM for providing a solution
  • [Bug 25117]: Plaintext: Template always below the quoted message when replying
  • [Bug 25155]: 0.9.1 regression - blank line is added AFTER Reply template
  • Versions Bump to 17.*
  • Added uk-UA locale
  • Locale updates - Many thanks to the translation team at BabelZilla!

Version 0.9.1 245.0 KiB Works with Thunderbird 3.1.7 - 17.*

  • Integrated variables help into options dialog
  • Statusbar button for quickly accessing template settings
  • Added Bugzilla support
  • When switching between accounts, the current Tab (e.g. Reply to) remains selected
  • Fix [Bug 24988]: Message body not included replying to "plain-text" messages
  • Fix [Bug 24991]: Replace default quote header not working in some cases

Version 142.0 KiB Works with Thunderbird 3.1.7 - 14.*

  • Fixed compatibility Problem with Thunderbird 13.* which broke a lot of the extension's functionality in 0.8.0 and previous
  • Redesigned Help Window
  • Added inserting variables/keywords using mouse click
  • Added validation during insert (if variable cannot be used in "Write New" it will be rejected
  • Added fi locale
  • Most locales are reviewed and corrected (currently not all) incomplete translations are in English, as always.
    Many thanks to the translation team at BabelZilla!

Version 0.8.0 78.0 KiB Works with Thunderbird 1.5 - 12.*

bug fixes:
• fixed bug where a quotation that is edited loses its formatting or disappears.
• made account list in option window easier to read
• some visual improvements to the help file
IMPORTANT NOTE: This and all previous Versions works only up to Thunderbird 12.*.*!
If u use Thunderbird 13.* please upgrade to!

Version 0.7.9 96.0 KiB Works with Thunderbird 1.5 - 12.0a1

bug fixes:
• corrected incorrect file encodings on many locale files.
Incorrectly encoded files caused ST4 to crash this has also been corrected.
• Versions Bump to 12.0a1

Version 0.7.8 94.0 KiB Works with Thunderbird 1.5 - 10.0a1

• paste an list of all variables and in which case they can be used to all help files.
• Smarttemplate4 no longer crashes when variables are used incorrectly; an error is logged to the Error Console.
new features:
• added a new variable %sig% to allow users to put their signature where it should be placed in the template. If %sig% is not defined in the template it will be placed in the default Thunderbird location (above reply or below reply based on TB settings). 'Include Signature on Reply/Forward" must be checked in Thunderbird options for the %sig% to work as expected.
• added a new option to variable %subject% to show the subject of the message being replied to/forwarded or the subject of the current message being composed
• %tz_name% variable has been added but it is system dependent and will have limited support. Some users will see abbreviated time zone names (EST, CDT) and some will see long names (Eastern Standard Time...) and some will not have any return depending on their operating system or the mailserver of the email being replied to.

Version 0.7.7 58.0 KiB Works with Thunderbird 1.5 - 10.0a1

bug fixes:
• where reply header was being put above the signature when signature is placed 'above the quote'.
• automatically add line break in message compose window
• %date_tz% variable was returning the local timezone instead of the senders timezone.
locale added
• sv-SE
Thanks to BabelZilla Team!
• Versions Bump to 10.0a1
change/bug fix:
• remove the 'automatically add two line breaks' that was added in 0.7.6. This affected many users and the correct way to add line breaks at the top of your message is to include them in your template.

Version 0.7.6 54.0 KiB Works with Thunderbird 1.5 - 8.0a1

bug fixes:
• Fixed issue if %datelocal% variable is used for new messages
• a lot of small fixes
• changes in locale pt-BR

Version 0.7.5 54.0 KiB Works with Thunderbird 1.5 - 8.0a1

bug fixes:
• Some users reported subject lines not being displayed correctly. Specifically there were line breaks causing the subject to span more than one line. This could also occur with other headers but subject was the only one reported.
• corrected issue where headers longer than 4096 were being truncated.
new feature:
• An option is added in settings called "Use OS date/time format instead of Thunderbird". Some users reported that SmartTemplate 4 was not using the custom date format they had set in their operating system. This will give everyone that option if they want to use it.
• updated all helpfiles 'added recent changes'
• implemented some coding changes suggested by the Mozilla AMO review team.

Version 0.7.4 54.0 KiB Works with Thunderbird 1.5 - 8.0a1

• Originally the X:=sent switch would change all variables after it's use for the remainder of the template unless X:=today was used to switch them back. That behavior is now changed such that the X:=sent command only affects the line on which it is being used.
• %datelocal%, %dateshort%, %date_tz% are now affected by the X:=sent and X:=today variables.
bug fixes:
• fix CC line inner Brackets