Mail.json
注意事項¶
- バージョン1.5.5.0以降、Providerパラメータの追加に伴い設定方式が変更されています。既存環境からの移行については「メール送信プロバイダー設定の移行について」を確認してください。
- パラメータ変更時は「パラメータ変更時の確認事項」を確認してください。
設定値¶
本パラメータファイルの設定値は下記のとおりです。
| パラメータ名 | 設定例 | 説明 |
|---|---|---|
| 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以降で、メール送信プロバイダーの設定機能を追加しました。メール送信プロバイダーごとの設定方法については、下記の各ページを参照してください。
- プリザンターからメールを送信できるように設定する
- プリザンターからSendGridでメールを送信できるように設定する
- プリザンターからM365のSMTPサーバを使ってメールを送信できるように設定する
- プリザンターからAWS SESでメールを送信できるように設定する
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の値は、カンマ区切りで複数指定できます。「メール送信できない」にも本パラメータの設定例が記載されています。
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) |
