{"id":43546300,"url":"https://github.com/clear-code/typical-reply-outlook","last_synced_at":"2026-02-03T18:44:35.998Z","repository":{"id":192757391,"uuid":"687325183","full_name":"clear-code/typical-reply-outlook","owner":"clear-code","description":"Typical Reply for Outlook","archived":false,"fork":false,"pushed_at":"2025-07-28T08:14:56.000Z","size":211,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-07-28T10:11:24.041Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clear-code.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-09-05T06:06:12.000Z","updated_at":"2025-07-28T08:15:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"29357517-c4ff-47bf-99b0-3da1cd74da6b","html_url":"https://github.com/clear-code/typical-reply-outlook","commit_stats":null,"previous_names":["clear-code/typical-reply-outlook"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/clear-code/typical-reply-outlook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clear-code%2Ftypical-reply-outlook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clear-code%2Ftypical-reply-outlook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clear-code%2Ftypical-reply-outlook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clear-code%2Ftypical-reply-outlook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clear-code","download_url":"https://codeload.github.com/clear-code/typical-reply-outlook/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clear-code%2Ftypical-reply-outlook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29053304,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T15:43:47.601Z","status":"ssl_error","status_checked_at":"2026-02-03T15:43:46.709Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-03T18:44:35.035Z","updated_at":"2026-02-03T18:44:35.979Z","avatar_url":"https://github.com/clear-code.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# typical-reply-outlook\n\n## 概要\n\n定型文での返信を提供するOutlook向けアドオンです。\n\n例えば、以下のメールを受信したとします。\n\n```\n件名:\n  例の件について\n\n本文:\n  お疲れ様です。\n  例の件について以下の案を考えてみたのですが、いかがでしょうか？\n  http://...\n```\n\nこのとき、以下のいずれかの手順ですぐに定型文で返信することができます。\n\n* リボンの「Typical Reply」ボタンから、「いいね！」を選択\n  ![\"リボン\"](./Documents/ja/Images/Ribbon.PNG \"リボン\")\n* メールを右クリックして表示されるコンテキストメニューの「Typical Reply」ギャラリーから、「いいね！」を選択\n  ![\"コンテキストメニュー\"](./Documents/ja/Images/ContextMenu.PNG \"コンテキストメニュー\")\n\n```\nSubject:\n  [[いいね！]]: Re: 例の件について\n\nBody:\n  いいね！\n  \n  \u003e -----Original Message-----\n  \u003e お疲れ様です。\n  \u003e 例の件について以下の案を考えてみたのですが、いかがでしょうか？\n  \u003e http://...\n```\n\nこれらの返信内容の設定はグループポリシーによってドメイン単位での一元管理が可能です。\n個別の設定ファイルによるユーザー単位での設定変更も可能です。\n\n## グループポリシーによる設定\n\npolicy配下のadmx、admlファイルをグループポリシーファイルを以下のパスに配置します。\n\n* Active Directoryのグループポリシーに追加する場合\n  * `C:\\Windows\\SYSVOL\\domain\\Policies\\PolicyDefinitions`\n* ローカルグループポリシーに追加する場合\n  * `C:\\Windows\\PolicyDefinitions`\n\nグループポリシーエディターを開き、 管理用テンプレート -\u003e TypicalReply -\u003e 既定値 -\u003e TypicalReply設定 を開きます。\nこの設定を有効にし、テキストエリアに後述のJSONでの設定を記載します。\n\n## デフォルト設定ファイルによる設定\n\nデフォルト設定ファイルは以下の箇所に存在します。\n\n`C:\\Program Files\\TypicalReply\\TypicalReplyConfig.json`\n\nこのファイルに後述のJSONでの設定を記載します。\n\n## ユーザー設定ファイルによる設定\n\nユーザー設定ファイルは以下の箇所に存在します。\n\n`%APPDATA%\\TypicalReply\\TypicalReplyConfig.json`\n\nこのファイルに後述のJSONでの設定を記載します。\n\n## 複数の設定が存在する場合の優先度\n\nグループポリシーの設定、デフォルト設定ファイル、ユーザー設定ファイルによる設定で、優先度が異なる場合、最も優先度が高い設定が使用されます。\n優先度が同じ場合、グループポリシー、デフォルト設定ファイル、ユーザー設定ファイルの順に内容がマージされます。\n\n* GroupLabelは最後の設定のものが使用されます（指定していた場合）。\n* ButtonConfigListは各内容がマージされます。\n  * 重複したIDのButtonConfigは最後の設定のものが使用されます。\n  * 重複しないIDのButtonConfigは追加されます。\n\n## インストーラーでのデフォルト設定ファイルのインストール\n\nセットアップの存在するフォルダに `DefaultConfig\\TypicalReplyConfig.json` を配置した状態でセットアップを実行することで、\nセットアップ実行時に自動で `C:\\Program Files\\TypicalReply\\TypicalReplyConfig.json` にファイルが配置されます。\n\n## 設定項目\n\n設定は以下のようなJSON形式で指定します。\n\n```\n{\n    \"Priority\" : 1,\n    \"ConfigList\": [\n        {\n            \"Culture\": \"ja-JP\",\n            \"GroupLabel\": \"定型返信\",\n            \"ButtonConfigList\": [\n                {\n                    \"Id\": \"Like\",\n                    \"Label\": \"いいね！\",\n                    \"SubjectPrefix\": \"[[いいね！]]:\",\n                    \"Body\": \"いいね！\",\n                    \"Recipients\": [\"all\"],\n                    \"QuoteType\": true,\n                    \"AllowedDomains\": [\n                        \"*\"\n                    ]\n                },\n                {\n                    \"Id\": \"OK\",\n                    \"Label\": \"了解\",\n                    \"SubjectPrefix\": \"[[了解]]:\",\n                    \"Body\": \"了解しました。\",\n                    \"Recipients\": [\"all\"],\n                    \"QuoteType\": true,\n                    \"AllowedDomains\": [\n                        \"*\"\n                    ]\n                }\n            ]\n        },\n        {\n            \"Culture\": \"en-US\",\n            \"GalleryLabel\": \"Typical Reply\",\n            \"ButtonConfigList\": [\n                {\n                    \"Id\": \"Like\",\n                    \"Label\": \"Like!\",\n                    \"SubjectPrefix\": \"[[Like!]]:\",\n                    \"Body\": \"Like!\",\n                    \"Recipients\": [\"all\"],\n                    \"QuoteType\": true,\n                    \"AllowedDomains\": [\n                        \"*\"\n                    ]\n                },\n                {\n                    \"Id\": \"OK\",\n                    \"Label\": \"OK\",\n                    \"SubjectPrefix\": \"[[OK]]:\",\n                    \"Body\": \"OK.\",\n                    \"Recipients\": [\"all\"],\n                    \"QuoteType\": true,\n                    \"AllowedDomains\": [\n                        \"*\"\n                    ]\n                }\n            ]\n        }\n    ]\n}\n```\n\nTypiclReplyConfig: 設定のルート\n\n| 設定名     | 型             | 必須 | 省略時のデフォルト | 概要                                                                                                                         |\n| ---------- | -------------- | ---- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------- |\n| Priority   | 数値           | no   | -1                 | レジストリと設定ファイルのどちらの設定を使うかの優先度。\u003cbr\u003e値が大きい方が使用される。\u003cbr\u003e値が同じ場合は設定がマージされる。 |\n| ConfigList | Configのリスト | yes  | -                  | 各言語ごとの設定（Config）のリスト                                                                                           |\n\n\nConfig: 各言語ごとの設定\n\n| 設定名                    | 型                   | 必須 | 省略時のデフォルト   | 概要                                                                                                                                                                     | 例                         |\n| ------------------------- | -------------------- | ---- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------- |\n| Culture                   | 文字列               | no   | null                 | 対象となるカルチャ。\u003cbr\u003eロケールなしの言語のみを指定することも可能です。\u003cbr\u003e現在のカルチャにマッチするCultureがない場合、Cultureの値に関わらず先頭のConfigを使用します。 | `\"ja-JP\"`、`\"ja\"`          |\n| GroupLabel                | 文字列               | no   | `\"Typical Reply\"`    | リボンやコンテキストメニューに表示される本機能のラベル                                                                                                                   | `\"定型返信\"`               |\n| TabMailInsertAfterMso     | 文字列               | no   | `\"GroupMailRespond\"` | リボン上でTypical Replyを表示するデフォルトの位置。ビルトインのidMsoを指定する。                                                                                         | `\"GroupMailRespond\"`、`\"\"` |\n| TabReadInsertAfterMso     | 文字列               | no   | `\"GroupRespond\"`     | メールのリボン上でTypical Replyを表示するデフォルトの位置。ビルトインのidMsoを指定する。                                                                                 | `\"GroupRespond\"`、`\"\"`     |\n| ContextMenuInsertAfterMso | 文字列               | no   | `\"Forward\"`          | メールのコンテキストメニュー上でTypical Replyを表示するデフォルトの位置。ビルトインのidMsoを指定する。                                                                   | `\"Forward\"`、`\"\"`          |\n| ButtonConfigList          | ButtonConfigのリスト | yes  | -                    | 定型返信ボタン設定のリスト                                                                                                                                               | -                          |\n\n\n\nButtonConfig: 定型返信ボタン設定。返信内容や返信先等の設定を行う。\n| 設定名         | 型             | 必須 | 省略時のデフォルト   | 概要                                                                                                                                                                                        | 例                                        |\n| -------------- | -------------- | ---- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |\n| Id             | 文字列         | yes  | -                    | ボタンのID。ButtonConfigList内で重複不可。                                                                                                                                                  | `\"LikeId\"`                                |\n| Label          | 文字列         | yes  | -                    | ボタンに表示されるラベル                                                                                                                                                                    | `\"いいね！\"`                              |\n| SubjectPrefix  | 文字列         | no   | null                 | 件名の先頭に挿入する文言                                                                                                                                                                    | `\"[[いいね]]\"`                            |\n| Subject        | 文字列         | no   | 返信のデフォルト件名 | 件名                                                                                                                                                                                        | `\"報告\"`                                  |\n| Body           | 文字列         | no   | null                 | 本文                                                                                                                                                                                        | `\"いいね\"`                                |\n| Recipients     | 文字列のリスト | no   | 送信先なし           | 送信先。\u003cbr\u003e`[\"blank\"]`: 送信先なし\u003cbr\u003e `[\"all\"]`: 全員に返信\u003cbr\u003e`[\"sender\"]`: 送信者にだけ返信\u003cbr\u003eその他の文字列リスト: 指定のアドレスに返信                                               | `[\"test@test.co.jp\", \"test2@test.co.jp\"]` |\n| QuoteType      | boolean        | no   | false                | 元の文言を引用するかどうか。 \u003cbr\u003e `true`: 引用する\u003cbr\u003e`false`: 引用しない                                                                                                                   | `true`                                    |\n| AllowedDomains | 文字列のリスト | no   | 全て許可             | 送信を許可するドメインリスト。このドメイン以外が含まれている場合、返信用メールの作成、送信は行わない。\u003cbr\u003e`[\"*\"]`: 全て許可する\u003cbr\u003eその他の文字列リスト: 指定したドメインのみ送信を許可する | `[\"test.co.jp\", \"test2.co.jp\"]`           |\n| ForwardType    | 文字列         | no   | 添付しない           | 元のメールを添付するかどうか。\u003cbr\u003e`attachment`: 添付する                                                                                                                                    | `attachment`                              |\n| Size           | 文字列         | no   | \"normal\"             | グループに表示するボタンのサイズ\u003cbr\u003e`normal`: 通常ボタン\u003cbr\u003e`large`: 大きいボタン                                                                                                           | `attachment`                              |\n\n## 新しい設定追加の例\n\n「最高！」というボタンを追加する方法を考えます。\n\n設定ファイル（`%APPDATA%\\TypicalReply\\TypicalReplyConfig.json`）を編集します。\n\n現在の設定が以下のようになっているとします。\n\n```\n{\n    \"ConfigList\": [\n        {\n            \"Culture\": \"ja-JP\",\n            \"GalleryLabel\": \"定型返信\",\n            \"ButtonConfigList\": [\n                {\n                    \"Id\": \"Like\",\n                    \"Label\": \"いいね！\",\n                    \"SubjectPrefix\": \"[[いいね！]]:\",\n                    \"Body\": \"いいね！\",\n                    \"Recipients\": [\"all\"],\n                    \"QuoteType\": true,\n                    \"AllowedDomains\": [\n                        \"*\"\n                    ]\n                }\n            ]\n        }\n    ]\n}\n```\n\nButtonConfigListにButtonConfigを追加します。\n\n`Id`は`Awesome`とし、`Label`は`最高！`とします。\n\n```\n{\n    \"Id\": \"Awesome\",\n    \"Label\": \"最高！\"\n}\n```\n\n元のメッセージに対して返信するので、元の件名は残して、件名に対してリアクションのメッセージを追加します。\nそのために、`Subject`は空にして元の件名が残るようにし、`SubjectPrefix`で件名の先頭にメッセージを追加します。\n\n```\n{\n    \"Id\": \"Awesome\",\n    \"Label\": \"最高！\",\n    \"SubjectPrefix\": \"[[最高！]]:\"\n}\n```\n\n同様に、元のメッセージに対して返信するので、元の本文は残して（引用状態にして）、本文にメッセージを追加します。\nそのために、`Body`にメッセージを指定し、`QuoteType`に`true`を指定します。\n\n```\n{\n    \"Id\": \"Awesome\",\n    \"Label\": \"最高！\",\n    \"SubjectPrefix\": \"[[最高！]]:\",\n    \"Body\": \"最高！\",\n    \"QuoteType\": true\n}\n```\n\nこのボタンでは、送信者にのみ返信することとします。\nそのために、`Recipients`に`[\"sender\"]`を指定します。\n\n```\n{\n    \"Id\": \"Awesome\",\n    \"Label\": \"最高！\",\n    \"SubjectPrefix\": \"[[最高！]]:\",\n    \"Body\": \"最高！\",\n    \"QuoteType\": true,\n    \"Recipients\": [\"sender\"]\n}\n```\n\nまた、送信先のドメインは自身が所属している`test.co.jp`のみに限定することとします。\nそのために、`AllowedDomains`に`[\"all\"]`を指定します。\n\n```\n{\n    \"Id\": \"Awesome\",\n    \"Label\": \"最高！\",\n    \"SubjectPrefix\": \"[[最高！]]:\",\n    \"Body\": \"最高！\",\n    \"QuoteType\": true,\n    \"Recipients\": [\"sender\"],\n    \"AllowedDomains\": [\"test.co.jp\"]\n}\n```\n\n元のメッセージの添付は不要とします。\nそのため、`ForwardType`は指定しません。\n\n以上で作成した設定をButtonConfigListに追加します。\n\n```\n{\n    \"ConfigList\": [\n        {\n            \"Culture\": \"ja-JP\",\n            \"GalleryLabel\": \"定型返信\",\n            \"ButtonConfigList\": [\n                {\n                    \"Id\": \"Like\",\n                    \"Label\": \"いいね！\",\n                    \"SubjectPrefix\": \"[[いいね！]]:\",\n                    \"Body\": \"いいね！\",\n                    \"Recipients\": [\"all\"],\n                    \"QuoteType\": true,\n                    \"AllowedDomains\": [\n                        \"*\"\n                    ]\n                },\n                {\n                    \"Id\": \"Awesome\",\n                    \"Label\": \"最高！\",\n                    \"SubjectPrefix\": \"[[最高！]]:\",\n                    \"Body\": \"最高！\",\n                    \"QuoteType\": true,\n                    \"Recipients\": [\"sender\"],\n                    \"AllowedDomains\": [\"test.co.jp\"]\n                }\n            ]\n        }\n    ]\n}\n```\n\nこれで、定型返信のボタンの中に、「最高！」ボタンが追加されます。\n\n![\"「最高！」ボタン\"](./Documents/ja/Images/Awesome.PNG \"「最高！」ボタン\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclear-code%2Ftypical-reply-outlook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclear-code%2Ftypical-reply-outlook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclear-code%2Ftypical-reply-outlook/lists"}