Rate this post

About this mod

Framework to use the in game mailbox. Console commands to adjust the mail. Code and Content Pack interfaces.


Simplify the send of mail to the player, giving more control over when and what should be received.
Also giving more options not possible just editing the data files, like changing the text color and background of the letter at will.

Compatibility Warning:

This mod is incompatible with FeTK and Tool-Upgrade Delivery Service that depends on it. They are both broken and unsupported for more than a year, even some vanilla letter won’t work with it. (Adventure Guild letters)
So you should remove both before installing, or your custom mails won’t work properly.
Fortunately, there is an alternative to Tool-Upgrade Delivery Services, Mail Services Mod, that does the same and much more.


  1. Install the latest version of SMAPI.
  2. Unzip the MailFrameworkMod into /Stardew Valley/Mods.

Change Log:


  • Fix to cooking recipes names in English showing as null, when added by Json Assets.


  • Fix to Auto Open letters with no text breaking the mod when there is i18n files.
  • Fix to letter from content pack not loading after one collection condition warning.
  • Adds new collection requirement type for crafting recipes.


  • All vanilla tools are now supported.
  • Support to vanilla Slingshots as weapons. If you use the index or the name of an slingshot it will be properly created as such.
  • New “Auto Open” property, for when you want to use MFM conditions to save a letter id as read without writing an actual letter.


  • Optimization for assets loading from content packs.
  • Fix to callback of letters not being called if a menu was opened to add an item to the inventory.


  • Fix a bug where MFM letter would not be opened and removed from the box for the current day if you were holding an object when clicking the mailbox.


  • New property for letter created with SMAPI to add items dynamically to the letter.
  • New method to remove letters from the mailbox.


  • Fix to avoid conflict mails in local coop.
  • Fix to rare situations the mod would stop work if a letter menu was not properly closed by the game.


  • Support for Furniture, Weapons and Boots as attachments.
  • New property to set the upgrade level of attached tools.


For Modders to use content pack:

  • There is a template inside the mod folder with commented instructions on what each property do.
  • All letter features but the conditions and callback are the same as coding with the framework.
  • Conditions are limited to the ones implemented, and the callback always set the letter id as received. If you need advanced conditions you still should code them. Or you can politely suggest me to add a condition to the content pack, if its something that makes sense, I might add it.
  • Here is the template as added in the mod file:


For Modder to code:

  • Reference the MailFrameworkMod.dll on your SMAPI project.
    • You register your Letter using MailDao.SaveLetter(Letter)
    • At the begin of each day the mod will check for Letters that have reached its condition for delivery and add them to the mailbox.
    • This Letters will be opened first when the player check the mailbox.
    • When the Letter is opened, it is removed from the mailbox.
    • The callback condition of the letter is them called.
    • At the end of the day Letter still on the mailbox will be removed, so they are not saved by the game.
  • You can think of this mod as an repository for your letters. It works best if you load all your letter when the game loads.

You may also like: