メール送受信システム - UndineMailer
概要
このプラグイン UndineMailer は、あなたのサーバーに高機能なメール送受信システムを追加します!
- サーバーに参加したことのあるプレイヤー間で、メッセージをやりとりすることが可能です。 もちろん、相手がオフラインでも送信可能で、相手は次に接続した時に、新着メールを確認することができます。
- クリック可能なチャット欄メッセージを表示して、簡易GUIを実現しています。
- メールの送信やアイテムの送信に、料金を設定することも可能です。 (Vaultと、Vault連携可能な経済プラグインの導入が必要です。)
- 添付アイテムボックスを使えば、メールにアイテムを添付して送信することもできます。 また、着払いアイテムや着払い料金を設定することもできます。簡単なアイテム取り引きとして使えますよ!
- メーリングリストを作成して、リストに登録済みのプレイヤーに一斉送信することもできます! グループの権限設定(グループへの送信、設定の変更、グループの解散)も細かく変更ができます。
- UUIDに対応済みです。プレイヤー名を変更しても、そのままメールを引き継ぐことができます。
スクリーンショット

受信箱画面

送信メール編集画面

グループ設定画面
使い方
UndineMailer.jar を plugins フォルダに入れてから、CraftBukkit を起動してください。
必要に応じて、plugins/UndineMailer/config.yml を編集してください。
※ 経済プラグイン連携機能を使用したい場合は、Vaultを導入してください。
サーバーに参加した状態で、コマンド /mail write を実行すると、メールの編集画面を開くことができます。
チャット欄の水色部分は、全てクリック可能になっています。
もし、クライアントを閉じてしまったとしても、/mail write を実行することで、何度でも編集画面を開き直すことができます。
着払いを使ったアイテム取引について
このメールプラグインでは、着払いの仕組みを利用して、アイテム取引を行うことができます。メール送信者は、メールにアイテムを添付した後、着払い料金または着払いアイテムを設定することができます。
(着払い料金を設定するには、Vaultと、連携可能な経済プラグインの導入が必要です。)
(経済プラグインがなくても、着払い料金の代わりに、着払いアイテムが指定可能です。)

受信者がメールのアイテムボックスを開くと、着払い料金 $30 が送信者に支払われます。

受信者がアイテムの受け取りを拒否することも可能です。この場合、アイテムボックスは送信者へ返送されます。

PermissionsExとの連携について
PermissionsEx のグループをメール宛先グループとして使用することもできます。宛先として使用したいPermissionsExグループのoptionに、"receive-mail: true" を足してください。
例:
groups:
default:
options:
default: true
permissions:
- modifyworld.*
test:
options:
receive-mail: true
send-mode: op
※ "send-mode" の設定は省略可能です。"send-mode" には、op、member、everyone のいずれかを指定してください。"send-mode" を指定しないグループは、config.yml の "specialGroupPexSendMode" 設定に従います。PermissionsEx連携がされていると、メールの宛先画面で「宛先グループを追加する」を選択したときに、「(pex)」から始まるグループ名が追加で選択できるようになります。

コマンド
メール関連のコマンドは /umail です。別名として、/mail も使用可能です。
グループ関連のコマンドは /ugroup です。
- /mail 受信メールボックスを表示します。 表示されたメールをチャット欄でクリックすると、メールの詳細が見れます。
- /mail outbox 送信メールボックスを表示します。 表示されたメールをチャット欄でクリックすると、メールの詳細が見れます。
- /mail trash ゴミ箱を表示します。 表示されたメールをチャット欄でクリックすると、メールの詳細が見れます。
- /mail text <宛先プレイヤー> <メッセージ> 1行のテキストだけの簡単なメールを送信します。
- /mail write メール編集画面を表示します。 表示されたメール編集画面をチャット欄でクリックすると、メールの編集ができます。
- /mail item 手に持っているアイテムの情報を表示します。 着払いアイテムを設定するときの参考にしてください。
- /mail help ヘルプ情報を表示します。
- /ugroup メーリングリストの一覧を表示します。 この画面から、各グループのメンバー追加・削除・設定変更や、新規グループ作成ができます。
- /mail trash all 送信済みメール/既読の受信メールの全てを、ゴミ箱に移動します。
- /mail trash restoreAll 全てのゴミ箱メールを、ゴミ箱の中から復帰します。
- /mail reload 設定ファイルを再読み込みします。管理者のみ実行可能です。
コマンド(コンソール送受信用)
コンソールからもメール送受信が可能ですが、画面をクリックすることはできないので、代わりに下記のコマンドを利用してください。
- mail - 受信したメールの一覧を表示します。
- mail read <番号> - 対応するメール番号のメールを開きます。
- mail write - メール編集状態に入ります。
- mail to <番号> <宛先プレイヤー> - 宛先を設定します。番号は、1から始まる整数を指定してください。
- mail to delete <番号> - 指定された番号の宛先を削除します。
- mail to group <番号> <グループ名> - 宛先グループを設定します。
- mail to group delete <番号> - 指定された番号の宛先グループを削除します。
- mail message <番号> <メッセージ> - メッセージを設定します。番号は、1から始まる整数を指定してください。
- mail attach add <アイテム> [アイテムの個数] - メールに、添付アイテムを付け足します。<アイテム>のところはアイテム名やデータ値が指定できます。 実行例) mail attach add WOOL:11 30 (青い羊毛を30個付け足します。)
- mail attach clear - 添付アイテムを全てクリアします。
- mail send - メールを送信します。
パーミッション
- undine.<各コマンド名> 各コマンドのパーミッションです。全て、デフォルトで全員に与えられています。 (例えば、/mail write のパーミッションは undine.write です。)
- undine.read-all 自分が送信者/受信者ではない他人のメールも、全て読むことができる権限です。権限はデフォルトでOPに与えられています。
- undine.command-attach 「/mail attach add」コマンドと「/mail attach clear」コマンドを使うことができる権限です。権限はデフォルトでOPに与えられています。
- undine.multiple-attach 複数の宛先や宛先グループを設定しているメールに、添付アイテムを付けて送信することができます。メールは送信先プレイヤーごとに複製されて送信されます。権限はデフォルトでOPに与えられています。
- undine.attach-infinity 添付アイテムボックスを無限に作成できる権限です。権限はデフォルトでOPに与えられています。
- undine.attach-sendmail 送信メールの添付ボックスを使用できる権限です。権限はデフォルトで全員に与えられています。
- undine.attach-inboxmail 受信メールの添付ボックスを使用できる権限です。権限はデフォルトで全員に与えられています。
- undine.group.infinite-create メーリングリストグループを無限に作成することができる権限です。権限はデフォルトでOPに与えられています。
- undine.group.infinite-add-member メーリングリストグループに、無限にメンバーを追加することができる権限です。権限はデフォルトでOPに与えられています。
- undine.group.modify-all 自分がオーナーやメンバーではないグループでも、メンバーの追加削除や設定変更ができる権限です。権限はデフォルトでOPに与えられています。
- undine.group.dissolution-all 自分がオーナーやメンバーではないグループでも、グループを解散することができる権限です。権限はデフォルトでOPに与えられています。
- undine.group.* グループ管理関連の全ての権限です。
- undine.* UndineMailerの全ての権限です。
コンフィグ
# UndineMailer 1.10.3
# @author ucchy
# @license LGPLv3
# @copyright Copyright ucchy 2015
# -------------------- 共通設定 --------------------
# メッセージの言語
lang: ja
# 自分自身に送信可能とするかどうか。
enableSendSelf: false
# UIを表示する系統のコマンドを実行したときに、
# UIの前に挿入する空行の行数を設定します。
# 0から9まで指定可能です。
uiEmptyLines: 2
# プレイヤー名簿を利用するかどうか。
# プレイヤー名簿では、サーバーに1度でも接続したことがあるプレイヤー全てが
# 一覧にリストアップされます。
enablePlayerList: false
# 指定できる宛先の最大数
maxDestination: 10
# 指定できる宛先グループの最大数
maxDestinationGroup: 3
# メールの保存期間(日数)
# 例えば30を指定した場合、送信してから31日経ったメールは自動的に削除されます。
mailStorageTermDays: 30
# メールスパム保護期間(秒)
# 例えば15を指定した場合、メールを送信してから次のメールを送信できるまで、
# 15秒の経過が必要になります。
mailSpamProtectionSeconds: 15
# プレイヤーがログインした時に、未読一覧を表示するまでの時間(秒)。
loginNotificationDelaySeconds: 3
# UUID取得時のオンラインモード
# true = MojangのサーバーからUUIDを取得します。 false = ローカルのBukkitサーバーからUUIDを取得します。
uuidOnlineMode: false
# -------------------- アイテム添付設定 --------------------
# メールにアイテムの添付を可能にするかどうか。
enableAttachment: true
# メールの添付ボックスのサイズを指定します。
# 1列(=9個)から6列(=54個)まで指定可能です。
attachBoxSize: 1
# 同時に使用可能な添付ボックスの個数を指定します。
maxAttachmentBoxCount: 3
# メールの添付ボックスを操作不可に設定したいワールドを指定します。
# 例えば disableWorldsToOpenAttachment: ['sozai'] と設定すると、
# sozaiというワールド名に居るプレイヤーは、送信メールの添付ボックスや
# 受信したメールの添付ボックスを開くことができなくなります。
disableWorldsToOpenAttachBox: []
# メールに添付することができないアイテムを指定します。
# 例えば prohibitItemsToAttach: [GOLDEN_APPLE, QUARTZ_BLOCK] と設定すると、
# 金リンゴとクオーツブロックが添付できなくなります。
prohibitItemsToAttach: []
# -------------------- 着払い設定 --------------------
# 経済プラグインの通貨を利用して、着払い料金を設定可能とするかどうか。
# この機能を利用するには、Vaultと、経済プラグインを、一緒に導入する必要があります。
enableCODMoney: true
# 着払い料金として、アイテムをリクエストできるようにするかどうか。
enableCODItem: true
# 着払い料金を相手に支払う場合、入金後の金額が一致しない場合に、エラーとするかどうか。
# Essentialsのmax-moneyなどで、お金の上限を設定している場合は、
# 入金で上限を超えると送金した金額が消滅するので、この項目をtrueに設定してください。
# 入金時に税金を取るような経済プラグインを利用している場合は、
# 送金ができなくなりますので、この項目をfalseにしてください。
depositErrorOnUnmatch: true
# -------------------- 送信料金設定 --------------------
# メールを作成したりアイテムを添付したりするために料金を必要とするかどうか。
# 経済プラグインとVaultが導入されている必要があります。
enableSendFee: false
# 1つの宛先にメールを作成する料金です。
# 送信先が複数ある場合は、送信先の数だけ倍になります。
sendFee: 10
# メールにアイテムを1個または1スタック添付する料金です。
attachFee: 10
# 上記のattachFeeを、アイテム1個ごとに料金を付けるか、アイテム1スタックごとに料金を付けるか。
# falseで1スタックごと、trueで1個ごとになります。
attachFeePerAmount: false
# 着払い料金に対する着払い税です。パーセンテージで指定してください。
# 例えば、codMoneyTax: 10 とすると、着払い料金 $300 を指定したメールは、
# 着払い料金の 10% の $30 が、追加で必要になります。
codMoneyTax: 0
# 着払いアイテムに対する着払い税です。要求アイテム1個に対する金額で指定してください。
# 例えば、codItemTax: 10 とすると、ダイアモンド8個を着払いアイテムとして指定すると、
# $80 (=$10 * 8) の税金が、追加で必要になります。
codItemTax: 0
# -------------------- メールグループ設定 --------------------
# 1プレイヤーが作成可能なグループの最大数。
# OPや、'undine.group.infinite-create'パーミッションを持った人は、
# この数値に関係なく無限に作成可能です。
maxCreateGroup: 5
# 1グループに追加できる最大プレイヤー数
# OPや、'undine.group.infinite-add-member'パーミッションを持った人は、
# この数値に関係なく無限に追加可能です。
maxGroupMember: 15
# グループへのメール送信権限のデフォルト
# OP → OPのみがグループへメール送信可能
# OWNER → オーナーとOPがグループへメール送信可能
# MEMBER → メンバーならグループへメール送信可能
# EVERYONE → 誰でもグループへメール送信可能
sendModeDefault: MEMBER
# グループのメンバー変更権限のデフォルト
# OP → OPのみが変更可能
# OWNER → オーナーとOPが変更可能
# MEMBER → メンバーなら変更可能
# EVERYONE → 誰でも変更可能
modifyModeDefault: OWNER
# グループの解散権限のデフォルト
# OP → OPのみが解散可能
# OWNER → オーナーとOPが解散可能
# MEMBER → メンバーなら解散可能
# EVERYONE → 誰でも解散可能
dissolutionModeDefault: OWNER
# 特殊グループ All (全プレイヤーへのメールが送信できるグループ) への
# 送信権限を指定します。
specialGroupAllSendMode: OP
# 特殊グループ PEX (PermissionsExのグループ) への送信権限のデフォルトを指定します。
# PermissionsExのグループのoption設定に、"send-mode" を設定することで、
# グループごとに細かくSendModeを指定することが可能です。詳しくはフォーラムを参照してください。
specialGroupPexSendMode: OP
# 特殊グループ AllConnected (サーバーに接続したことのある全プレイヤーへのメールが送信できるグループ) への
# 送信権限を指定します。
specialGroupAllConnectedSendMode: OP
# 特殊グループ AllLogin (サーバーに接続中の全プレイヤーへのメールが送信できるグループ) への
# 送信権限を指定します。
specialGroupAllLoginSendMode: OP
# -------------------- ウェルカムメール設定 --------------------
# ウェルカムメールは、サーバーに初接続したプレイヤーに送られるメールです。
# ウェルカムメールのメール本文は、messages_ja.yml ファイルの WelcomeMailBody という項目で設定できます。
# ウェルカムメールを利用するかどうか。
useWelcomeMail: true
# 初接続のプレイヤーが接続してから、ウェルカムメールを送信するまでの時間(秒)。
welcomeMailDelaySeconds: 30
# ウェルカムメールの添付アイテム設定です。
welcomeMailAttachments:
attachment1:
material: STONE_SHOVEL
attachment2:
material: STONE_PICKAXE
attachment3:
material: STONE_AXE
attachment4:
material: STONE_SWORD
attachment5:
material: TORCH
amount: 64
attachment6:
material: BREAD
amount: 16
ソースコード
ソースコードはGithubで管理しています。ライセンスは LGPLv3 を適用します。
https://github.com/ucchyocean/UndineMailer