秀丸メール起動時のコマンドライン(Ver6.14対応版)
メールアドレスまたはmailto:プロトコルの指定
 秀丸メール起動時のコマンドラインには、mailto:プロトコルの中身またはメールアドレスを指定できます。
 メールアドレスを指定すると、秀丸メール本体ウィンドウは現れずに、メール作成用のメールエディタ・ウィンドウだけが表示されて、「To:」部分に指定されたメールアドレスが入ります。


マクロ実行の指定(/x マクロ名)
 秀丸メール起動時のコマンドラインに、「/xマクロ名」と指定すると、指定されたマクロを秀丸メール起動時に実行します。
 この場合、「マクロ・マクロ登録」の「秀丸メール起動時」に指定したマクロは実行されません。



メール用ディレクトリの指定
 「/d ディレクトリ名」のオプションを指定すると、秀丸メールのメール用ディレクトリが指定できます。このオプションは/xオプションと同時に指定できますが、その場合は/dオプションを先に指定してください。 メール作成用のコマンドラインおよびmailto:プロトコルの中身等とは同時に指定できません。

 ディレクトリ名に空白が含まれている場合は、「/d "c:\Program Files\TuruKame"」のように、ディレクトリ名をダブルクォーテーションで囲んでください。ディレクトリ名の最後の「\」マークは付けても付けなくてもどちらでもかまいません。

 /dオプションと、後述する/mオプションの両方を指定する場合は、/mのオプションの方を先に指定する必要があります。


メール作成
 秀丸メールに新規メールを作成したり、そのメールを今すぐ送信したりできます。この場合のコマンドラインの形式は、

 コマンド名 パラメータ1=値1 パラメータ2=値2 パラメータ3=値3 ...

 のような形式になります。パラメータ名およびコマンド名部分は大文字/小文字の区別がありません。

 コマンド名には、以下の4種類が指定できます。

newmail 新しいメールを作成して、そのままメールエディタを待機させる。
unsentmail 新しいメールを作成して未送信フォルダに保存する。
draftmail 新しいメールを作成して草稿フォルダに保存する。
sendnow 新しいメールを作成して今すぐ送信する。
sendnowquiet sendnowと同じだけど、メールエディタを非アクティブ状態で起動する。
sendnowmini sendnowと同じだけど、メールエディタを最小化した状態で起動する。
sendnowmini2 sendnowminiと同じだけど、「あとで送信/今すぐ送信時」に登録された自動起動用のマクロを起動しないで送信する。(V5.36より追加)

 パラメータには以下の種類があります。

Account  メール用のアカウントを指定します。このパラメータとFolder=の両方を省略した場合は「全般的な設定・基本」の「標準のアカウント」で指定されたアカウントが指定されます。
 Accountパラメータは、他のパラメータよりも先に(先頭に)指定する必要があります。
Folder  フォルダを選択して「新規メール」とした時と同じような形でメールを作成するよう指示します。このFolder=の指定をする場合は、Account=でアカウントを指定しないでください。
 Folder=で指定するフォルダは、アカウントそのものである場合はアカウント名そのまま、フォルダを指定する場合は、例えば「アカウント名\受信\サブフォルダ」のように「\」記号で区切って指定してください。
 アカウント直下にユーザーが作成したフォルダを指定する場合は、「アカウント名\User\XXXX」のように、「\User」というフォルダ名を入れてください。アカウント直下のフォルダは内部的にそのような作りになっているので、 それに合わせていただく必要があります。(マクロからフォルダを指定する場合も同じく)
 Folder=は他のパラメータよりも先に指定する必要があります。
 To=の指定で情報アイテム用の指定(例:To=@.item)をする場合、Folder=の指定によって、その情報アイテムの保存先を指定することが出来ます。ただし、 情報アイテムの保存先としては必ず受信フォルダ配下またはアカウント直下のユーザー様フォルダ(アカウント名\User\XXXX)を指定してください。
Body  メール本文を指定します。コマンドライン上なので、「Body=」で指定できるメール本文は1行分だけです。複数行の本文を指定する場合は「BodyFile=」を使います。
BodyFile  メール本文を読み込むファイル(ファイル名)を指定します。ここで指定されたファイルがメール本文とされます。BodyFile=を複数指定すると、指定されたファイル内容すべてが連結された形の本文となります。
 「BodyFile=clipboard」と指定すると、クリップボードの内容を本文と扱います。
File  メールのヘッダと本文を含む完全な形のファイルを指定します。ここで指定されたファイルはメールのヘッダと本文を標準的な形式で含んでいなければいけません。ここで指定したファイル中にFrom:ヘッダが含まれていない場合は、アカウント用の「From:」が自動的に挿入されます。アカウント用の指定によってはReply-To:ヘッダも自動挿入されます。
 「File=clipboard」と指定すると、クリップボードの内容をメール内容と扱います。

ここで言う「標準的な形式」とは、つまり、ヘッダは「Subject: XXXX」のように指定して、メール本文は、ヘッダの後に空行を1行入れて、その後指定する形になります。
Attach  挿入したい添付ファイル(ファイル名)を指定します。複数指定すればそれら全部が添付ファイルと扱われます。「File=」や他のヘッダ指定といっしょに使っても正しく動作します。「Attach=」を指定した後に「File=」を指定しても大丈夫です。

 追加機能: 
「attach=」で指定したファイル名を別の名前で添付したい場合は、ファイル名の後ろに「*」を付けて、その後ろに新しいファイル名を指定してください。
例: attach="c:\temp_path\temp.txt*newname.txt"
任意のヘッダ  任意のヘッダ名を指定すると、そのヘッダの値を設定することができます。例えば「Subject=テスト」とすると、「Subject:」ヘッダに「テスト」を入れることができます。宛先を指定するなら「To=abc@xyz.com」のように指定してください。
 同じヘッダ名を複数指定すると、前に指定した値に対して置き換えるという意味になります。例えば「To=a To=b」と指定すると、前に指定した方の「a」は無視されます。また、「File=」でヘッダ部分が設定された後に「Subject=」等を指定した場合も、 「File=」で指定されたヘッダを置き換える動作となります。
Orikaeshi  メールの折り返しのON/OFFを指定します。「Orikaeshi=1」で折り返しON、「Orikaeshi=0」で折り返しOFFとなります。何も指定しないとON扱いとなります。
Template  「Template=1」を入れると、標準のテンプレートを使ってメールを作成します。「Template="AAA"」のようにパラメータをダブルクォーテーションで指定すると、指定されたテンプレート(新規メール用の物に限る)を使ってメールを作成します。
 テンプレート名を指定する時は、必ずダブルクォーテーション記号で囲ってください。
 指定されたテンプレートに署名が関連づけされている時は、署名もいっしょに付加されます。
TemplBodyFile  BodyFileと同様にメール本文を読み込むファイル(ファイル名)を指定しますが、TemplBodyFile=の場合には、読み込んだ内容をテンプレートの内容として扱います。したがって、$(CurrentDate,"YYYY/MM/DD")等のテンプレート命令が使えます。
 「TemplBodyFile=clipboard」と指定すると、クリップボードの内容をテンプレート内容と扱います。
Sign  「Sign=1」があると、本文に署名を追加します。「Sign="AAA"」のようにパラメータ指定すると、指定された署名が付加されます。
 「Sign=」の指定が無くても、「Template=」で指定したテンプレートに署名が関連づけされていれば、自動的に署名が付加されます。
Macro  newmailでメールエディタを起動する時に限って、「Macro=」を使って、マクロの自動実行を指定できます。Macro=のパラメータにはマクロのファイル名を指定してください。
 newmailの時以外にMacro=を指定しても無視されます。
 newmailでメールエディタ起動した時は、「マクロ・マクロ登録・自動起動」の「送信用のメールエディタ起動時」に指定したマクロは実行されません。(Macro=の指定の有無に関係なく)
UnsentIfError  sendnowまたはsendnowquietを指定した時で、メールを送信してエラーになった場合(送信出来なかった場合)に、そのメールを破棄するか、または未送信フォルダに保存するかを指定します。
 UnsentIfError=1と指定すると、エラーの時は未送信フォルダに保存するようになります。
 何も指定しない場合はメールが破棄される動作となります。
 このパラメータはV4.80から追加されてます。

 newmailの場合はメールエディタが起動してそのまま秀丸メールの動作が続行されます。それ以外では、処理が終わり次第、秀丸メールのプロセスは終了します。既に秀丸メールが起動されている状態でさらに秀丸メールを起動した場合には、 newmailの場合であっても後で起動した方の秀丸メールプロセスは終了します。
 メールの作成/送信などでエラーが発生すると、その場でエラーメッセージが表示され、処理が中断されます。
 エラーが起きた場合には、秀丸メール側でエラーが起きたことをレジストリに記録します。呼び出し元のプロセスでエラー状況を確認したい場合には、そのレジストリの値を参照してください。

レジストリの場所は、
HKEY_CURRENT_USER\Software\Hidemaruo\TuruKame\Config\LastError
 です。秀丸メールを起動する前にここのレジストリ値(REG_SZ値)を""に設定し、秀丸メールの処理が終わってからここの値を参照し、値が""ならエラー無し、""以外ならエラーが発生したことを表しています。

 sendnowで送信しようとしてキャンセルされた場合またはエラーになった場合もここに適当な文字列が設定されます(V1.72から)。
例:
turukame.exe newmail To=maruo@mitene.or.jp Subject=テスト Body="メール本文"
turukame.exe newmail Folder=斉藤秀夫メイン\受信\Impress To=maruo@mitene.or.jp


アドレス帳の表示
 コマンドラインに「adrbook」を指定すると、アドレス帳を表示します。
例:
turukame.exe adrbook


.emlファイルの表示
 Outlook Expressの.eml形式ファイルなど、RFC822形式で保存されたファイルを秀丸メールでデコードして表示するには、/vオプションを使います。/vオプションの後ろにファイル名を1つだけ指定してください。
例:
turukame.exe /v c:\temp.eml
 .emlとの関連づけに、例えば「c:\turukame\turukame.exe /v "%1"」のように指定すれば、.emlファイルをダブルクリックした時にOutlook Expressではなくて秀丸メールを起動することができます。 しかし、こうしてしまうと秀丸メール側の「ログをOutlook Expressで開く」が機能しなくなります。ご注意ください。


メールファイルの選択/表示(秀丸メール用のメールファイル指定)
 秀丸メール用に保存されているメール(のファイル名とファイル中の位置)を指定して、そのメールを秀丸メール本体で選択した状態にしたり、メールエディタで開いたりすることができます。
メールを選択するだけの場合は、/vf ファイル名 オフセット
メールを選択して開く場合は、 /vF ファイル名 オフセット
 と指定します。
 ファイル名とオフセットの間には空白が1つ以上必要です。ファイル名に空白を含む場合は""で囲んで指定する必要があります。オフセットは、メールがファイルの中のどの位置にあるかを10進数で指定します。
例:
turukame.exe /vf "c:\TuruKameData\テストアカウント\受信\受信200211.txt" 12345
 さらに、オフセットよりも後ろに空白区切りでメッセージIDを指定することも出来ます。メッセージIDを指定すると、ファイル名+オフセットで指定されたメールのメッセージIDがたしかにコマンドラインで指定されたメッセージIDと同じかどうか比較して、 もし違っていたらエラー扱いとなります。

 さらには、/vfオプションの前に/zというオプションを指定すると、このエラー扱いとなった場合のエラーメッセージを抑止することも出来ます。

 このオプションはVillageCenter社のサーチクロスという検索ソフトと連携するために用意した物です。



「検索して一覧作成」の実行
 コマンドライン指定で「検索して一覧作成」を実行することができます。指定の仕方は、

turukame.exe grep account=XXX folder=XXXX FindPack文字列…
 です。「account=XXXX」は検索対象アカウントの指定、「folder=XXXX」は検索対象フォルダの指定、その後ろの「FindPack文字列」は、tkinfo.dllのSetFindPack関数用のパラメータそのままです。

 「account=」または「folder=」のパラメータ部分に空白を含む場合は、全体を""で囲んで指定してください。

 「account=XXXX」を省略したり、「account=""」と指定したりすると、すべてのアカウントを対象とします。

 「folder=XXXX」を省略したり、「folder=""」と指定したりすると、すべてのフォルダを対象とします。または、「folder="受信+送信済み"」と指定すると、受信フォルダと送信済みフォルダとアカウント直下にユーザーが作成したフォルダ配下を対象とします。「account=」と「folder=」の指定方法についてはtkinfo.dllのDoGrep関数と同じなので、詳しくはそちらを参照ください。
 「FindPack文字列」の指定については、tkinfo.dllのSetFindPack関数の説明を参照ください。
例:
turukame.exe grep account="" folder="受信+送信済み" ("abc", target=subject), subfolder=1
turukame.exe grep ("aaaa.bbb@xxxx.yyy", target=person), subfolder=1, messageidtarget=messageid


秀丸メールを複数同時起動する用の指定(/m数字)
 秀丸メールの本体ウィンドウを、複数同時に起動する用のオプションがあります。(V5.50β20から)
 秀丸メールを本体ウィンドウを複数起動するには、「/m」オプション+数値1桁と、あと、/dオプションでメールデータ用のフォルダを指定する形のコマンドラインを、複数起動したい分だけ実行すればいいです。
 例えば「c:\turukamedata1」というメールデータを対象とした秀丸メールと「c:\turukamedata2」というメールデータを対象とした秀丸メールを起動したい場合は、
turukame.exe /m0 /d "c:\turukamedata1"
turukame.exe /m1 /d "c:\turukamedata2"
 のように指定します。/mの後ろの数値は0〜9まで指定出来ます。メールデータ毎に固有の番号を指定すればいいですが、一番標準としたいメールデータの方については「/m0」を指定することをお勧めします。
 /mオプションは、他のオプションよりも一番前に指定する必要があります。
 同じメールデータを対象とした秀丸メールを「/m」オプションで無理矢理複数起動することは、あるオプションをいじることで可能にはなりますが、危険なので(メールデータ用のファイルを破壊する恐れがあるので)やめてください。
 あと、このオプションを指定して秀丸メールを複数起動することについてはあまり込み入ったテストはしてないので、もしも何か問題が出たら、すみません。
 それと…。外部のアプリケーションソフトからメールを新規作成するような操作、たとえはInternet Explorerから「mailto:」のリンクをクリックしたりした場合には、どちらの秀丸メールが対象としてメールが作成されるか不定となります。これもご注意ください。
 「/m」オプションで数値の0以外を指定した場合、その秀丸メール上では、秀丸メールのプロクラム用フォルダにある「hidemac3.dll」を、メールデータ用フォルダに別名でコピーして、それをロードして使う形になります。メールデータ用のフォルダにそういうDLLが残ってしまうことがありますが、それは正常動作です。


起動時の送受信を抑止するオプション(/b)
 「全般的な設定・送受信」の「秀丸メール起動時にすべて送受信を実行する」をONにしている場合でも、起動時の送受信を抑止したい場合があります。例えば「/xマクロ名」を指定してマクロ実行させる場合で起動時の送受信はやらせたくない場合があります。
 この場合は、「/b」というオプションを指定すればいいです。/bのオプションはマクロを実行する用の「/x」よりも前でないとダメです。
例:
turukame.exe /b /x test.mac



戻る