Public mode

No tenant, Graph, or device access. Every item links to its source. What this means

Some sources or documents need attention: 253/255 feeds/APIs · 0/410 docs · checked 21:27 UTC Customize Public modeDiscuss ChangeIntel on Discord

Microsoft 365 Apps Group Policy settings

2,420 settings · 5568.1000 · 10 Aug 2026

Back to the list

Microsoft Outlook 2016 › Outlook Options › Mail Format › International Options

Encoding for outgoing messages

UserNeeds changes for IntuneL_Encodingforoutgoingmessages

Supported on SUPPORTED_Windows7 (defined in the Windows templates)

What it does

Sets the value in the option "Preferred encoding for outgoing messages".

What it writes

Hive
HKEY_CURRENT_USER
Registry key
software\policies\microsoft\office\16.0\outlook\options\mshtml\international
Why it needs changes for Intune
  • Policy references a Windows supportedOn definition.
  • ADMX-INTUNE-WINDOWS-SUPPORTEDON-REFERENCE

Options

OptionTypeRegistry valueAllowed values
Use this encoding for outgoing messagesDefault: Western European (ISO) Drop-down list default_codepageout
  • Arabic (ISO)28596
  • Arabic (Windows)1256
  • Baltic (ISO)28594
  • Baltic (Windows)1257
  • Central European (ISO)28592
  • Central European (Windows)1250
  • Chinese Simplified (GB18030)54936
  • Chinese Simplified (GB2312)936
  • Chinese Simplified (HZ)52936
  • Chinese Traditional (Big5)950
  • Cyrillic (ISO)28595
  • Cyrillic (KOI8-R)20866
  • Cyrillic (KOI8-U)21866
  • Cyrillic (Windows)1251
  • Greek (ISO)28597
  • Greek (Windows)1253
  • Hebrew (ISO-Logical)38598
  • Hebrew (Windows)1255
  • Japanese (EUC)51932
  • Japanese (JIS)50220
  • Japanese (JIS-Allow 1 byte Kana)50221
  • Japanese (Shift-JIS)932
  • Korean949
  • Korean (EUC)51949
  • Latin 3 (ISO)28593
  • Latin 9(ISO)28605
  • Thai (Windows)874
  • Turkish (ISO)28599
  • Turkish (Windows)1254
  • Unicode (UTF-7)65000
  • Unicode (UTF-8)65001
  • US-ASCII20127
  • User Defined50000
  • Vietnamese (Windows)1258
  • Western European (ISO)28591
  • Western European (Windows)1252

Configure and deploy

Choose a state and the option values; the output below is generated from the template for exactly that.

State
Options used when Enabled

Enabled · User · template defaults

Registry file (.reg)

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\outlook\options\mshtml\international]
"default_codepageout"=dword:00006FAF


PowerShell

$ErrorActionPreference = 'Stop'

function Set-RegistryValue {
    param(
        [Parameter(Mandatory = $true)][string] $Path,
        [Parameter(Mandatory = $true)][string] $Name,
        [Parameter(Mandatory = $true)][string] $PropertyType,
        [Parameter(Mandatory = $true)][object] $Value
    )

    if (-not (Test-Path -LiteralPath $Path)) {
        New-Item -Path $Path -Force | Out-Null
    }

    New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}

function Remove-RegistryValue {
    param(
        [Parameter(Mandatory = $true)][string] $Path,
        [Parameter(Mandatory = $true)][string] $Name
    )

    if (Test-Path -LiteralPath $Path) {
        Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
    }
}

function Clear-RegistryKeyValues {
    param(
        [Parameter(Mandatory = $true)][string] $Path
    )

    if (-not (Test-Path -LiteralPath $Path)) {
        return
    }

    foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
        Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
    }
}

# Policy: Encoding for outgoing messages
# Name: L_Encodingforoutgoingmessages
# Scope: User
# State: Enabled
# Source: outlk16.admx

Set-RegistryValue -Path 'Registry::HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\outlook\options\mshtml\international' -Name 'default_codepageout' -PropertyType 'DWord' -Value 28591
  • The OMA-URI is an inferred ADMX-backed Policy CSP candidate derived from the source ADMX file name and policy name.
  • Some Microsoft policies use built-in Policy CSP pages whose area names don't match the ADMX file name, so verify the candidate against Microsoft Learn before deployment.

ADMX profile candidate (OMA-URI)

./User/Vendor/MSFT/Policy/Config/ADMX_outlk16/L_Encodingforoutgoingmessages

ADMX SyncML candidate

<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Replace>
      <CmdID>1</CmdID>
      <Item>
        <Meta>
          <Format>chr</Format>
          <Type>text/plain</Type>
        </Meta>
        <Target>
          <LocURI>./User/Vendor/MSFT/Policy/Config/ADMX_outlk16/L_Encodingforoutgoingmessages</LocURI>
        </Target>
        <Data>&lt;enabled/&gt;
&lt;data id="L_Usethisencodingforoutgoingmessages" value="28591"/&gt;</Data>
      </Item>
    </Replace>
    <Final/>
  </SyncBody>
</SyncML>
Intune remediation scripts

Detection

$ErrorActionPreference = 'Stop'
$reasons = [System.Collections.Generic.List[string]]::new()

function Test-RegistryValueExists {
    param(
        [Parameter(Mandatory = $true)][string] $Path,
        [Parameter(Mandatory = $true)][string] $Name
    )

    if (-not (Test-Path -LiteralPath $Path)) {
        return $false
    }

    return $null -ne (Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue)
}

function Test-RegistryValueEquals {
    param(
        [Parameter(Mandatory = $true)][string] $Path,
        [Parameter(Mandatory = $true)][string] $Name,
        [Parameter(Mandatory = $true)][string] $Kind,
        [Parameter(Mandatory = $true)][object] $Expected
    )

    if (-not (Test-Path -LiteralPath $Path)) {
        return $false
    }

    $valueObject = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue
    if ($null -eq $valueObject) {
        return $false
    }

    $actual = $valueObject.$Name
    switch ($Kind) {
        'String' { return [string]$actual -ceq [string]$Expected }
        'ExpandString' { return [string]$actual -ceq [string]$Expected }
        'DWord' { return [uint32]$actual -eq [uint32]$Expected }
        'QWord' { return [uint64]$actual -eq [uint64]$Expected }
        'MultiString' {
            $actualArray = @($actual)
            $expectedArray = @($Expected)
            if ($actualArray.Count -ne $expectedArray.Count) { return $false }
            for ($index = 0; $index -lt $actualArray.Count; $index++) {
                if ([string]$actualArray[$index] -cne [string]$expectedArray[$index]) { return $false }
            }
            return $true
        }
        'Binary' {
            $actualArray = [byte[]]$actual
            $expectedArray = [byte[]]$Expected
            if ($actualArray.Length -ne $expectedArray.Length) { return $false }
            for ($index = 0; $index -lt $actualArray.Length; $index++) {
                if ($actualArray[$index] -ne $expectedArray[$index]) { return $false }
            }
            return $true
        }
        default { return [string]$actual -ceq [string]$Expected }
    }
}

# Policy: Encoding for outgoing messages
# Name: L_Encodingforoutgoingmessages
# Scope: User
# State: Enabled
# Source: outlk16.admx

$isMatch = Test-RegistryValueEquals -Path 'Registry::HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\outlook\options\mshtml\international' -Name 'default_codepageout' -Kind 'DWord' -Expected 28591
if (-not $isMatch) {
    $reasons.Add('Value mismatch: HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\outlook\options\mshtml\international\default_codepageout') | Out-Null
}

if ($reasons.Count -eq 0) {
    Write-Output 'Compliant'
    exit 0
}

$reasons | ForEach-Object { Write-Output $_ }
exit 1

Remediation

$ErrorActionPreference = 'Stop'

function Set-RegistryValue {
    param(
        [Parameter(Mandatory = $true)][string] $Path,
        [Parameter(Mandatory = $true)][string] $Name,
        [Parameter(Mandatory = $true)][string] $PropertyType,
        [Parameter(Mandatory = $true)][object] $Value
    )

    if (-not (Test-Path -LiteralPath $Path)) {
        New-Item -Path $Path -Force | Out-Null
    }

    New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}

function Remove-RegistryValue {
    param(
        [Parameter(Mandatory = $true)][string] $Path,
        [Parameter(Mandatory = $true)][string] $Name
    )

    if (Test-Path -LiteralPath $Path) {
        Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
    }
}

function Clear-RegistryKeyValues {
    param(
        [Parameter(Mandatory = $true)][string] $Path
    )

    if (-not (Test-Path -LiteralPath $Path)) {
        return
    }

    foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
        Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
    }
}

# Policy: Encoding for outgoing messages
# Name: L_Encodingforoutgoingmessages
# Scope: User
# State: Enabled
# Source: outlk16.admx

Set-RegistryValue -Path 'Registry::HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\outlook\options\mshtml\international' -Name 'default_codepageout' -PropertyType 'DWord' -Value 28591

History 1 retained release

  1. 5568.100010 Aug 2026
    • Already present in the first release ChangeIntel keeps.

Template

Internal name
L_Encodingforoutgoingmessages
Namespace
outlk16.Office.Microsoft.Policies.Windows
Template file
outlk16.admx
Release
Microsoft 365 Apps 5568.1000 · file set 8be05d876aae137d…
Definition, editor controls and support

Definition

<policy class="User" displayName="$(string.L_Encodingforoutgoingmessages)" explainText="$(string.L_SetsthevalueintheoptionPreferredencodingforoutgoingmessages)" key="software\policies\microsoft\office\16.0\outlook\options\mshtml\international" name="L_Encodingforoutgoingmessages" presentation="$(presentation.L_Encodingforoutgoingmessages)" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <parentCategory ref="outlk16.Office.Microsoft.Policies.Windows:L_InternationalOptions" />
      <supportedOn ref="Microsoft.Policies.Windows:SUPPORTED_Windows7" />
      <elements>
        <enum id="L_Usethisencodingforoutgoingmessages" valueName="default_codepageout">
          <item displayName="$(string.L_ArabicISO)">
            <value>
              <decimal value="28596" />
            </value>
          </item>
          <item displayName="$(string.L_ArabicWindows)">
            <value>
              <decimal value="1256" />
            </value>
          </item>
          <item displayName="$(string.L_BalticISO)">
            <value>
              <decimal value="28594" />
            </value>
          </item>
          <item displayName="$(string.L_BalticWindows)">
            <value>
              <decimal value="1257" />
            </value>
          </item>
          <item displayName="$(string.L_CentralEuropeanISO)">
            <value>
              <decimal value="28592" />
            </value>
          </item>
          <item displayName="$(string.L_CentralEuropeanWindows)">
            <value>
              <decimal value="1250" />
            </value>
          </item>
          <item displayName="$(string.L_ChineseSimplifiedGB18030)">
            <value>
              <decimal value="54936" />
            </value>
          </item>
          <item displayName="$(string.L_ChineseSimplifiedGB2312)">
            <value>
              <decimal value="936" />
            </value>
          </item>
          <item displayName="$(string.L_ChineseSimplifiedHZ)">
            <value>
              <decimal value="52936" />
            </value>
          </item>
          <item displayName="$(string.L_ChineseTraditionalBig5)">
            <value>
              <decimal value="950" />
            </value>
          </item>
          <item displayName="$(string.L_CyrillicISO)">
            <value>
              <decimal value="28595" />
            </value>
          </item>
          <item displayName="$(string.L_CyrillicKOI8R)">
            <value>
              <decimal value="20866" />
            </value>
          </item>
          <item displayName="$(string.L_CyrillicKOI8U)">
            <value>
              <decimal value="21866" />
            </value>
          </item>
          <item displayName="$(string.L_CyrillicWindows)">
            <value>
              <decimal value="1251" />
            </value>
          </item>
          <item displayName="$(string.L_GreekISO)">
            <value>
              <decimal value="28597" />
            </value>
          </item>
          <item displayName="$(string.L_GreekWindows)">
            <value>
              <decimal value="1253" />
            </value>
          </item>
          <item displayName="$(string.L_HebrewISOLogical)">
            <value>
              <decimal value="38598" />
            </value>
          </item>
          <item displayName="$(string.L_HebrewWindows)">
            <value>
              <decimal value="1255" />
            </value>
          </item>
          <item displayName="$(string.L_JapaneseEUC)">
            <value>
              <decimal value="51932" />
            </value>
          </item>
          <item displayName="$(string.L_JapaneseJIS)">
            <value>
              <decimal value="50220" />
            </value>
          </item>
          <item displayName="$(string.L_JapaneseJISAllow1byteKana)">
            <value>
              <decimal value="50221" />
            </value>
          </item>
          <item displayName="$(string.L_JapaneseShiftJIS)">
            <value>
              <decimal value="932" />
            </value>
          </item>
          <item displayName="$(string.L_Korean)">
            <value>
              <decimal value="949" />
            </value>
          </item>
          <item displayName="$(string.L_KoreanEUC)">
            <value>
              <decimal value="51949" />
            </value>
          </item>
          <item displayName="$(string.L_Latin3ISO)">
            <value>
              <decimal value="28593" />
            </value>
          </item>
          <item displayName="$(string.L_Latin9ISO)">
            <value>
              <decimal value="28605" />
            </value>
          </item>
          <item displayName="$(string.L_ThaiWindows)">
            <value>
              <decimal value="874" />
            </value>
          </item>
          <item displayName="$(string.L_TurkishISO)">
            <value>
              <decimal value="28599" />
            </value>
          </item>
          <item displayName="$(string.L_TurkishWindows)">
            <value>
              <decimal value="1254" />
            </value>
          </item>
          <item displayName="$(string.L_UnicodeUTF7)">
            <value>
              <decimal value="65000" />
            </value>
          </item>
          <item displayName="$(string.L_UnicodeUTF8)">
            <value>
              <decimal value="65001" />
            </value>
          </item>
          <item displayName="$(string.L_USASCII)">
            <value>
              <decimal value="20127" />
            </value>
          </item>
          <item displayName="$(string.L_UserDefined)">
            <value>
              <decimal value="50000" />
            </value>
          </item>
          <item displayName="$(string.L_VietnameseWindows)">
            <value>
              <decimal value="1258" />
            </value>
          </item>
          <item displayName="$(string.L_WesternEuropeanISO)">
            <value>
              <decimal value="28591" />
            </value>
          </item>
          <item displayName="$(string.L_WesternEuropeanWindows)">
            <value>
              <decimal value="1252" />
            </value>
          </item>
        </enum>
      </elements>
    </policy>

Editor controls

<presentation id="L_Encodingforoutgoingmessages" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
        <dropdownList defaultItem="34" refId="L_Usethisencodingforoutgoingmessages">Use this encoding for outgoing messages:</dropdownList>
      </presentation>

Supported platforms and category

outlk16.Office.Microsoft.Policies.Windows:category:L_InternationalOptions
<category displayName="$(string.L_InternationalOptions)" name="L_InternationalOptions" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <parentCategory ref="outlk16.Office.Microsoft.Policies.Windows:L_MailFormat" />
    </category>
outlk16.Office.Microsoft.Policies.Windows:category:L_MailFormat
<category displayName="$(string.L_MailFormat)" name="L_MailFormat" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <parentCategory ref="outlk16.Office.Microsoft.Policies.Windows:L_OutlookOptions" />
    </category>
outlk16.Office.Microsoft.Policies.Windows:category:L_MicrosoftOfficeOutlook
<category displayName="$(string.L_MicrosoftOfficeOutlook)" name="L_MicrosoftOfficeOutlook" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
outlk16.Office.Microsoft.Policies.Windows:category:L_OutlookOptions
<category displayName="$(string.L_OutlookOptions)" name="L_OutlookOptions" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <parentCategory ref="outlk16.Office.Microsoft.Policies.Windows:L_MicrosoftOfficeOutlook" />
    </category>
outlk16.Office.Microsoft.Policies.Windows:unresolved:Microsoft.Policies.Windows:SUPPORTED_Windows7
<unresolved reference="Microsoft.Policies.Windows:SUPPORTED_Windows7" />
outlk16.Office.Microsoft.Policies.Windows:category:L_InternationalOptions
<category displayName="$(string.L_InternationalOptions)" name="L_InternationalOptions" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <parentCategory ref="outlk16.Office.Microsoft.Policies.Windows:L_MailFormat" />
    </category>
<strings><string id="outlk16.Office.Microsoft.Policies.Windows:L_InternationalOptions">International Options</string></strings>
outlk16.Office.Microsoft.Policies.Windows:category:L_MailFormat
<category displayName="$(string.L_MailFormat)" name="L_MailFormat" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <parentCategory ref="outlk16.Office.Microsoft.Policies.Windows:L_OutlookOptions" />
    </category>
<strings><string id="outlk16.Office.Microsoft.Policies.Windows:L_MailFormat">Mail Format</string></strings>
outlk16.Office.Microsoft.Policies.Windows:category:L_MicrosoftOfficeOutlook
<category displayName="$(string.L_MicrosoftOfficeOutlook)" name="L_MicrosoftOfficeOutlook" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="outlk16.Office.Microsoft.Policies.Windows:L_MicrosoftOfficeOutlook">Microsoft Outlook 2016</string></strings>
outlk16.Office.Microsoft.Policies.Windows:category:L_OutlookOptions
<category displayName="$(string.L_OutlookOptions)" name="L_OutlookOptions" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <parentCategory ref="outlk16.Office.Microsoft.Policies.Windows:L_MicrosoftOfficeOutlook" />
    </category>
<strings><string id="outlk16.Office.Microsoft.Policies.Windows:L_OutlookOptions">Outlook Options</string></strings>
ChangeIntel

An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

Sources read 18 Oct 21:27 UTC · 253 of 255 readable · 252 fully read · documentation 0/410 current