コンテンツにスキップ
「プリザンター入門」発売中!

Mail.json

注意事項

  1. バージョン1.5.5.0以降、Providerパラメータの追加に伴い設定方式が変更されています。既存環境からの移行については「メール送信プロバイダー設定の移行について」を確認してください。
  2. パラメータ変更時は「パラメータ変更時の確認事項」を確認してください。

設定値

本パラメータファイルの設定値は下記のとおりです。

パラメータ名 設定例 説明
Provider "Smtp" メール送信プロバイダを指定。Smtp、SendGrid、AwsSesのいずれかを指定。既定値はSmtp。
SmtpHost "smtp.example.com" SMTPサーバのアドレスを指定。
SmtpPort 25 SMTPサーバのポートを指定。
SmtpUserName "user@example.com" SMTP-AUTHのユーザ名を指定。ユーザ認証を行わない場合はnullを指定。システム環境変数に登録可能。
SmtpPassword "Password" SMTP-AUTHのパスワードを指定。ユーザ認証を行わない場合はnullを指定。システム環境変数に登録可能。
SmtpEnableSsl false SSL/TLSを有効化する場合はtrueを指定。trueに設定した場合、StartTlsの暗号化方式が適用される。それ以外の方式を指定する場合はSecureSocketOptionsを使用。
ServerCertificateValidationCallback false エラー「An error occurred while attempting to establish an SSL or TLS connection」の発生を抑制する場合はtrueを設定。
SmtpCheckCertificateRevocation true SMTPサーバ証明書の失効確認を行うか否かをtrue/falseで指定。
SecureSocketOptions "SslOnConnect" 接続に使用するSSL/TLS暗号化の方式を指定。既定値はnull。許容される文字列はMimeKitで利用可能なEnumの名前を参照。
SmtpSslProtocols null 後述の「SmtpSslProtocolsおよびSmtpProxySslProtocolsの値」を参照。既定値はnull。本パラメータに不正な値を指定すると、警告ログを出力のうえ無視される。
SmtpTimeout 120000 SMTP通信のタイムアウト時間(単位:ms)を指定。
SmtpLocalDomain null SMTPクライアントのローカルドメイン名を指定。
SmtpRequireTls false REQUIRETLS拡張を利用するか否かをtrue/falseで指定。
SmtpLocalEndPoint "192.168.1.10:0" 接続元ローカルエンドポイントを"IPアドレス:ポート番号"形式の文字列で指定。既定値はnull。
SmtpProxyType "Https" 使用するプロキシ種別として下記のいずれかを指定。既定値はnull。
Socks4:SOCKS4プロキシ
Socks4a:SOCKS4aプロキシ
Socks5:SOCKS5プロキシ
Http:HTTPプロキシ
Https:HTTPSプロキシ
SmtpProxyHost "proxy.example.com" プロキシサーバのホスト名またはIPアドレスを指定。既定値はnull。
SmtpProxyPort 443 プロキシポート番号を数値で指定。0を指定した場合はプロキシサーバを使用しない。0以下の値を指定した場合は未設定扱い。既定値は0。
SmtpProxyUserName null プロキシ認証のユーザ名を指定。既定値はnull。
SmtpProxyPassword null プロキシ認証のパスワードを指定。既定値はnull。
SmtpProxyServerCertificateValidationCallback false 本パラメータはSmtpProxyTypeにHttpsを指定した場合にのみ有効。HTTPSプロキシ証明書の検証をスキップするか否かをtrue/falseで指定。既定値はfalse。trueは証明書検証を常に通すため検証用途向け。
SmtpProxyCheckCertificateRevocation true 本パラメータはSmtpProxyTypeにHttpsを指定した場合にのみ有効。HTTPSプロキシ証明書の失効確認を行うか否かをtrue/falseで指定。既定値はtrue。
SmtpProxySslProtocols null 本パラメータはSmtpProxyTypeにHttpsを指定した場合にのみ有効。HTTPSプロキシ接続で許可するSSL/TLSプロトコルを「SmtpSslProtocolsおよびSmtpProxySslProtocolsの値」から指定。既定値はnull。本パラメータに不正な値を指定すると、警告ログを出力のうえ無視される。
SmtpProxyClientCertificate 後述 本パラメータはSmtpProxyTypeにHttpsを指定した場合にのみ有効。HTTPSプロキシ接続用クライアント証明書を表す「SmtpProxyClientCertificateおよびSmtpClientCertificateのパラメータ」を指定。
SmtpClientCertificate 後述 SMTPサーバ接続時に使用するクライアント証明書を表す「SmtpProxyClientCertificateおよびSmtpClientCertificateのパラメータ」を指定。
UseOAuth false OAuth 2.0認証を使用する場合はtrueを指定。M365のSMTPサーバを使用する場合に必要。詳細は「プリザンターからM365のSMTPサーバを使ってメールを送信できるように設定する」を参照。
OAuthClientId "" OAuth 2.0認証に使用するクライアントID。セキュリティ上の理由からシステム環境変数への登録を推奨。
OAuthClientSecret "" OAuth 2.0認証に使用するクライアントシークレット。セキュリティ上の理由からシステム環境変数への登録を推奨。
OAuthScope "https://outlook.office365.com/.default" OAuth 2.0認証に使用するスコープ。
OAuthGrantType "client_credentials" OAuth 2.0認証のグラントタイプ。
OAuthTokenEndpoint "https://login.microsoftonline.com/{テナントID}/oauth2/v2.0/token" OAuth 2.0認証のトークンエンドポイントURL。
OAuthDefaultExpiresIn 3600 トークンエンドポイントのレスポンスにexpires_inが含まれない場合に適用するトークンの有効秒数。既定値は3600(1時間)。
OAuthTokenRefreshBufferTime 300 トークン失効の何秒前から更新対象とみなすかを指定するバッファ秒数。既定値は300(5分)。たとえばOAuthDefaultExpiresInが3600の場合、トークン取得から3300秒経過後に更新を試みる。送信処理中のトークン失効防止やプロバイダごとのレスポンス差異の吸収を目的とする。
SendGrid — SendGrid Web APIを使用する場合に設定。「SendGrid」を参照。
AwsSes — Amazon SES V2 REST APIを使用する場合に設定。「AwsSes」を参照。
FixedFrom "fixed@example.com" メールアドレスを指定した場合、メール送信時のfromアドレスとなる。nullを設定した場合には、ログインユーザのメールアドレスがfromとなる。設定状況ごとの動作については「FixedFromとSupportFromについて」を参照。
AllowedFrom ["support@example.com"] FixedFromがnull以外の場合に、AllowedFromに列挙されたメールアドレスに該当する場合には、FixedFromが使用されずログインユーザのメールアドレスがfromとなる。
SupportFrom "\"Pleasanter.org\" <support@pleasanter.org>" サポート用メールアドレスを指定。「メールによる二段階認証」利用時は必須。また、「ユーザ招待」でBCCとして送信される。設定状況ごとの動作については「FixedFromとSupportFromについて」を参照。
InternalDomains ".example1.com,.example2.com" メールの送信先ドメインを制限する場合には、ホワイトリストをカンマ区切りで指定。制限しない場合は空文字を指定。
Encoding "shift_jis" 既定値はnull。UTF-8以外に変更する場合に明示的に指定。システムで利用できないエンコーディング名の場合、設定読み込み時にSysLogsにエラー出力したうえでUTF-8で送信を試みる。
ContentEncoding "SevenBit" 既定値はnull。許容される文字列はMimeKitで利用可能なEnumの名前を参照。

バージョン1.5.5.0以降で、メール送信プロバイダーの設定機能を追加しました。メール送信プロバイダーごとの設定方法については、下記の各ページを参照してください。

SmtpSslProtocolsおよびSmtpProxySslProtocolsの値

値 説明
None OSに最適なプロトコル選択を任せる。通常推奨。
Ssl2 SSL 2.0。旧式。
Ssl3 SSL 3.0。旧式。
Tls TLS 1.0。旧式。
Default 旧互換値。通常は非推奨。
Tls11 TLS 1.1。旧式。
Tls12 TLS 1.2。
Tls13 TLS 1.3。

設定例

SmtpSslProtocolsおよびSmtpProxySslProtocolsの値は、カンマ区切りで複数指定できます。「メール送信できない」にも本パラメータの設定例が記載されています。

単一指定
{
        : 中略
    "SmtpSslProtocols": "Tls12",
        : 中略
}
複数指定
{
        : 中略
    "SmtpProxySslProtocols": "Tls12, Tls13",
        : 中略
}

SmtpProxyClientCertificateおよびSmtpClientCertificateのパラメータ

本パラメータの設定例は「メール送信できない」を参照してください。

パラメータ名 設定例 説明
StoreName My 参照するWindows証明書ストアを後述の「StoreNameの値」から指定。既定値は"My"。
StoreLocation CurrentUser 証明書ストアの場所として、下記のいずれかを指定。
CurrentUser:ユーザ単位(既定値)
LocalMachine:ローカルマシン単位
X509FindType FindByThumbprint 証明書を検索する条件を後述の「X509FindTypeの値」から指定。既定値は"FindByThumbprint"。
FindValue null 実際に検索に使う値を指定。nullまたは空の場合は証明書を使用しない。既定値はnull。

StoreNameの値

値 説明
AddressBook 他ユーザー用証明書ストア
AuthRoot サードパーティCAストア
CertificateAuthority 中間CAストア
Disallowed 失効証明書ストア
My 個人証明書ストア
Root 信頼されたルートCAストア
TrustedPeople 直接信頼する相手の証明書ストア
TrustedPublisher 信頼された発行元ストア

X509FindTypeの値

値 説明
FindByThumbprint サムプリントで検索
FindBySubjectName 証明書所有者名で検索
FindBySubjectDistinguishedName 証明書所有者の識別名で検索
FindByIssuerName 発行者名で検索
FindByIssuerDistinguishedName 発行者完全識別名で検索
FindBySerialNumber シリアル番号で検索
FindByTimeValid 指定日時に有効な証明書を検索
FindByTimeNotYetValid 指定日時時点でまだ有効化されていない証明書を検索
FindByTimeExpired 指定日時時点で期限切れの証明書を検索
FindByTemplateName テンプレート名で検索
FindByApplicationPolicy アプリケーションポリシーで検索
FindByCertificatePolicy 証明書ポリシーで検索
FindByExtension 拡張情報で検索
FindByKeyUsage 鍵の用途で検索
FindBySubjectKeyIdentifier 対象者識別子で検索

SendGrid

SendGrid Web APIを使用する場合のパラメータです。ProviderにSendGridを指定した場合に参照されます。

パラメータ名 設定例 説明
ApiKey "SG.xxxxAPIキーxxxxxx..." SendGridのAPIキーを指定。セキュリティ上の理由からシステム環境変数への登録を推奨。

AwsSes

Amazon SES V2 REST APIを使用する場合のパラメータです。ProviderにAwsSesを指定した場合に参照されます。

パラメータ名 設定例 説明
AccessKeyId "YOUR_AWS_ACCESS_KEY_ID" AWSアクセスキーID。セキュリティ上の理由からシステム環境変数への登録を推奨。
SecretAccessKey "YOUR_AWS_SECRET_ACCESS_KEY" AWSシークレットアクセスキー。セキュリティ上の理由からシステム環境変数への登録を推奨。
SessionToken "YOUR_AWS_SESSION_TOKEN" AWSセッショントークン。一時クレデンシャル(AssumeRole / IAM Role)を使用する場合のみ指定。永続キーを使用する場合はnullを指定。セキュリティ上の理由からシステム環境変数への登録を推奨。
Region "ap-northeast-1" 使用するAWSリージョンを指定。
ConfigurationSetName null SESのConfiguration Set名を指定。メトリクス追跡が不要な場合はnullを指定。

FixedFromとSupportFromについて

それぞれ一定の条件を満たした場合に、「通知」、「プロセス」による通知、「メール」、「リマインダー」の差出人メールアドレスとなります。各メールアドレスの設定状況によってはアプリケーションエラーが発生する場合があるため注意してください。また、データベースのOutgoingmailsテーブルのFromに記録される内容も、各メールアドレスの設定状況によって差異が発生します。

通知

SupportFromの設定 FixedFromの設定 ユーザメールアドレスの設定 送信メールの差出人 備考 (参考)OutgoingmailsのFrom
あり なし なし SupportFrom SupportFrom
あり なし あり ユーザメールアドレス ユーザメールアドレス
あり あり なし FixedFrom SupportFrom
あり あり あり FixedFrom ユーザメールアドレス
なし なし なし - アプリケーションエラー -
なし なし あり ユーザメールアドレス ユーザメールアドレス
なし あり なし - アプリケーションエラー -
なし あり あり FixedFrom ユーザメールアドレス

プロセスによる通知

SupportFromの設定 FixedFromの設定 ユーザメールアドレスの設定 送信メールの差出人 備考 (参考)OutgoingmailsのFrom
あり なし なし SupportFrom SupportFrom
あり なし あり ユーザメールアドレス ユーザメールアドレス
あり あり なし FixedFrom SupportFrom
あり あり あり FixedFrom ユーザメールアドレス
なし なし なし - アプリケーションエラー -
なし なし あり ユーザメールアドレス ユーザメールアドレス
なし あり なし - アプリケーションエラー -
なし あり あり FixedFrom ユーザメールアドレス

メール

SupportFromの設定 FixedFromの設定 ユーザメールアドレスの設定 送信メールの差出人 備考 (参考)OutgoingmailsのFrom
あり なし なし - メールアドレス未設定のエラー -
あり なし あり ユーザメールアドレス ユーザメールアドレス
あり あり なし - メールアドレス未設定のエラー -
あり あり あり FixedFrom ユーザメールアドレス
なし なし なし - メールアドレス未設定のエラー -
なし なし あり ユーザメールアドレス ユーザメールアドレス
なし あり なし - メールアドレス未設定のエラー -
なし あり あり FixedFrom ユーザメールアドレス

リマインダー

SupportFromの設定 FixedFromの設定 ユーザメールアドレスの設定 送信メールの差出人 備考 (参考)OutgoingmailsのFrom
あり なし なし 「差出人」 「差出人」
あり なし あり 「差出人」 「差出人」
あり あり なし FixedFrom 「差出人」項目は非表示 FixedFrom
あり あり あり FixedFrom 「差出人」項目は非表示 FixedFrom
なし なし なし 「差出人」 「差出人」
なし なし あり 「差出人」 「差出人」
なし あり なし FixedFrom 「差出人」項目は非表示 FixedFrom
なし あり あり FixedFrom 「差出人」項目は非表示 FixedFrom

システム環境変数への登録方法

SmtpUserName、SmtpPassword、OAuthClientId、OAuthClientSecret、SendGrid.ApiKey、AwsSes.AccessKeyId、AwsSes.SecretAccessKey、AwsSes.SessionTokenはシステム環境変数に登録できます。OAuthClientId、OAuthClientSecretは1.5.1.0以降、SendGrid.ApiKey、AwsSes.AccessKeyId、AwsSes.SecretAccessKey、AwsSes.SessionTokenは1.5.5.0以降で登録できます。

OAuthClientId、OAuthClientSecretは「プリザンターからM365のSMTPサーバを使ってメールを送信できるように設定する」、SendGrid.ApiKeyは「プリザンターからSendGridでメールを送信できるように設定する」、AwsSes.AccessKeyId、AwsSes.SecretAccessKey、AwsSes.SessionTokenは「プリザンターからAWS SESでメールを送信できるように設定する」も参照してください。

システム環境変数への登録

システム環境変数への登録については以下のページも参照してください。
パラメータ設定:資格情報をシステム環境変数に登録する

1. 命名規則

システム環境変数の命名規則は以下の通りです。

(サービス名)_Mail_SmtpUserName
(サービス名)_Mail_SmtpPassword
(サービス名)_Mail_OAuthClientId
(サービス名)_Mail_OAuthClientSecret
(サービス名)_Mail_SendGrid_ApiKey
(サービス名)_Mail_AwsSes_AccessKeyId
(サービス名)_Mail_AwsSes_SecretAccessKey
(サービス名)_Mail_AwsSes_SessionToken
項目 必須 説明
サービス名 ○ Service.jsonの「EnvironmentName」または「Name」を指定

設定例

変数 設定例
Implem.Pleasanter_Mail_SmtpUserName UserName
Implem.Pleasanter_Mail_SmtpPassword Password
Implem.Pleasanter_Mail_OAuthClientId ClientId
Implem.Pleasanter_Mail_OAuthClientSecret ClientSecret
Implem.Pleasanter_Mail_SendGrid_ApiKey SG.xxxxAPIキーxxxxxx...
Implem.Pleasanter_Mail_AwsSes_AccessKeyId AccessKeyId
Implem.Pleasanter_Mail_AwsSes_SecretAccessKey SecretAccessKey
Implem.Pleasanter_Mail_AwsSes_SessionToken SessionToken

2. 優先順

本パラメータファイルとシステム環境の両方に設定した場合や省略形で設定した場合の優先順位は以下のとおりです。

優先順 設定値
1 本パラメータファイルの「SmtpUserName」
2 環境変数の「(サービス名:EnvironmentName)_Mail_SmtpUserName」
3 環境変数の「(サービス名:Name)_Mail_SmtpUserName」
優先順 設定値
1 本パラメータファイルの「SmtpPassword」
2 環境変数の「(サービス名:EnvironmentName)_Mail_SmtpPassword」
3 環境変数の「(サービス名:Name)_Mail_SmtpPassword」
優先順 設定値
1 本パラメータファイルの「OAuthClientId」
2 環境変数の「(サービス名:EnvironmentName)_Mail_OAuthClientId」
3 環境変数の「(サービス名:Name)_Mail_OAuthClientId」
優先順 設定値
1 本パラメータファイルの「OAuthClientSecret」
2 環境変数の「(サービス名:EnvironmentName)_Mail_OAuthClientSecret」
3 環境変数の「(サービス名:Name)_Mail_OAuthClientSecret」
優先順 設定値
1 本パラメータファイルの「SendGrid.ApiKey」
2 環境変数の「(サービス名:EnvironmentName)_Mail_SendGrid_ApiKey」
3 環境変数の「(サービス名:Name)_Mail_SendGrid_ApiKey」
4 本パラメータファイルの「SmtpPassword」の値(SmtpHostが"smtp.sendgrid.net"で、Providerが"Smtp"の場合のみ。SmtpPasswordの値は「SmtpPasswordの優先順」のとおりに決まります)
優先順 設定値
1 本パラメータファイルの「AwsSes.AccessKeyId」
2 環境変数の「(サービス名:EnvironmentName)_Mail_AwsSes_AccessKeyId」
3 環境変数の「(サービス名:Name)_Mail_AwsSes_AccessKeyId」
優先順 設定値
1 本パラメータファイルの「AwsSes.SecretAccessKey」
2 環境変数の「(サービス名:EnvironmentName)_Mail_AwsSes_SecretAccessKey」
3 環境変数の「(サービス名:Name)_Mail_AwsSes_SecretAccessKey」
優先順 設定値
1 本パラメータファイルの「AwsSes.SessionToken」
2 環境変数の「(サービス名:EnvironmentName)_Mail_AwsSes_SessionToken」
3 環境変数の「(サービス名:Name)_Mail_AwsSes_SessionToken」

3. システム環境変数に登録する際の注意点

「2. 優先順」に記載のとおりパラメータファイルに設定した値が最優先となるため、システム環境変数に登録する場合はパラメータファイルでは「null」または空文字("")を指定してください。

対応バージョン

対応バージョン 内容
1.3.18.0 以降 ServerCertificateValidationCallbackを追加
1.3.49.0 以降 SecureSocketOptionsを追加
1.5.1.0 以降 下記のパラメータを追加
・UseOAuth
・OAuthClientId
・OAuthClientSecret
・OAuthScope
・OAuthGrantType
・OAuthTokenEndpoint
・OAuthDefaultExpiresIn
・OAuthTokenRefreshBufferTime
OAuthClientId、OAuthClientSecretをシステム環境変数に登録する機能を追加
1.5.5.0 以降 下記のパラメータを追加
・Provider
・SendGrid(ApiKey)
・AwsSes(AccessKeyId、SecretAccessKey、SessionToken、Region、ConfigurationSetName)
SendGrid.ApiKey、AwsSes.AccessKeyId、AwsSes.SecretAccessKey、AwsSes.SessionTokenをシステム環境変数に登録する機能を追加
1.5.6.0 以降 下記のパラメータを追加
・SmtpCheckCertificateRevocation
・SmtpSslProtocols
・SmtpTimeout
・SmtpLocalDomain
・SmtpRequireTls
・SmtpLocalEndPoint
・SmtpProxyType
・SmtpProxyHost
・SmtpProxyPort
・SmtpProxyUserName
・SmtpProxyPassword
・SmtpProxyServerCertificateValidationCallback
・SmtpProxyCheckCertificateRevocation
・SmtpProxySslProtocols
・SmtpProxyClientCertificate(StoreName、StoreLocation、X509FindType、FindValue)
・SmtpClientCertificate(StoreName、StoreLocation、X509FindType、FindValue)

関連情報