500 Error After Upgrading to the Latest Build

As of Build 8747 (December 13, 2023), SmarterMail uses internal IIS features instead of the traditional "MRS" web application that was used in previous versions. What that means is that SmarterMail uses Application Request Routing (ARR) to redirect traffic to SmarterMail instead of running another application inside of IIS. Now, only the configuration files reside in the MRS folder. 

In some cases, on upgrade, this change may cause 500 errors when attempting to finalize the upgrade process and login to SmarterMail. However, we have a readme file that's included with the upgrade that can help resolve this error. The file is located, by default, at C:\Program Files (x86)\SmarterTools\SmarterMail\MRS\readme.md.

The text of the readme walks through setting up a SmarterMail Proxy in IIS based on ARR and the URL Rewrite Module 2. The full text is included below:

# Manually Setting up a SmarterMail Proxy on IIS based on Application Request Routing and URL Rewrite Module 2

Note that the installer does these things for you. But if you need to set them up manually, below are the instructions.

### Point your IIS site to this folder

This folder ([INSTALLDIR]/MRS) contains the web.config file you will need, as well as a few error pages in case SmarterMail cannot be reached. 

Create a site in IIS and point it to this folder. 

Choose site bindings that are appropriate for your environment.

### Download and Install ARR and URL Rewrite Module 2

ARR: https://www.iis.net/downloads/microsoft/application-request-routing

URL Rewrite Module 2: https://www.iis.net/downloads/microsoft/url-rewrite 

### Configure ARR

Open IIS

Click on your server name on the left

Click on the icon for Application Request Routing

Choose Server Proxy Settings from the right side

#### Configure it with the following settings:

- Enable proxy: ON
- Http version: Pass through
- Keep alive: ON
- Time-out (seconds): 1200
- Reverse rewrite host in response headers: OFF

- Custom Headers
  - Preserve client IP in the following header: X-Forwarded-For
  - Include TCP port from client IP: ON
  - Forwarding proxy header value: [blank]

- Cache Setting
  - Memory cache duration (seconds): 0
  - Enable disk cache: OFF
  - Enable request consolidation: OFF
  - Query string support: Do not cache

- Buffer Setting
  - Response buffer (KB): 4096
  - Response buffer threshold (KB): 0

- Proxy Chain
  - Proxy Server: [blank]

- Proxy Type
  - Use URL Rewrite to inspect incoming requests: OFF
  - Enable SSL offloading: ON

### Configure URL Rewrite Module 2

In IIS, Select your website from the left tree

Click the URL Rewrite icon

On the right side, choose "View Server Variables"

Add the following:

- HTTP_X_FORWARDED_FOR
- HTTP_X_FORWARDED_HOST
- HTTP_X_FORWARDED_PREFIX
- HTTP_X_FORWARDED_PROTO

All other configuration comes from the web.config file and will be automatic
If you are unable to get SmarterMail running using the information above, feel free to submit a ticket to our support team. Ideally, we'd like the following information in the ticket:

  • A zipped copy of the IIS installer logs: C:/users/{user_name}/AppData/Local/Temp/2/MSI###.txt
  • The operating system and version being used
  • The operating system language (if other than English)