sealed class Mail {
abstract val subject: String
class GrantApplicationApproveMail : Mail()
class GrantApplicationApproveMailToAdmins : Mail()
class GrantApplicationRejectedMail : Mail()
class GrantApplicationStatusChangedToAdmin : Mail()
class GrantApplicationUpdatedMail : Mail()
class GrantApplicationUpdatedMailToAdmins : Mail()
class GrantApplicationWithdrawnMail : Mail()
class JobEvents : Mail()
class LowFundsMail : Mail()
class NewCommentOnApplicationMail : Mail()
class NewGrantApplicationMail : Mail()
class ProjectInviteMail : Mail()
class ResetPasswordMail : Mail()
class StillLowFundsMail : Mail()
class TransferApplicationMail : Mail()
class UserLeftMail : Mail()
class UserRemovedMail : Mail()
class UserRemovedMailToUser : Mail()
class UserRoleChangeMail : Mail()
class VerificationReminderMail : Mail()
class VerifyEmailAddress : Mail()
}