ピコリックス

  WEB画像キャプチャーやネットワーク関連のフリーソフトを配布しています。

[ホーム]>[ダウンロード]>[SMAIL FAQ]

・サイトマップ

SMAIL FAQ集
日時: 2005/08/21 01:00 名前: Eva


当ソフトのSMAILの使い方&過去お問い合わせ頂いた内容等をご紹介します。

現在のバージョンは、v4.02(2005/8/21)です。
SSL暗号通信しない場合は、v3.11(2005/1/25)です。
コマンドライン型メール送信専用ソフト[動作OS:95,98,ME,NT4.0,2000,2003,XP]

・本smail.exeのみで動作します。
・複数のバイナリ添付ファイルを添付できます。 v3.01b以降
・本文内容は、コマンドライン指定または添付テキストファイルで指定できます。
・複数の送信先、及び複数のCC,BCC送信に対応しています。 v3.042以降
・重要度指定が可能です。
・POP before SMTPに対応しています。 v3.03以降
・APOPに対応しています。 v3.04以降
・SMTP認証(AUTH CRAM-MD5,AUTH PLAIN,AUTH LOGIN)に対応しています。v3.05以降
・SMTPS(SMTP over SSL) に対応。(OpenSSL 0.9.8使用)       v4.00以降
・POPS(POP over SSL) に対応しています。(POPは認証のみ使用) v4.01以降
・レジストリには一切書き込んでいません。設定ファイルsmail.iniを使用します。
  (smail.iniは、smail.exeの設定で自動的に生成されます。)

SSL暗号化について
  バージョン4.00以降で、OpenSSL 0.9.8を使用しています。OPENSSL公式サイト
  スタティックライブラリーにてモジュールを組み込んでいますので、dllは必要ありません。
BLOWFISH暗号化について
  パスワードの暗号化・複合化にBlowfishを使用しています。Bruce Schneier


次回バージョンアップ予定
 ・フォルダー監視機能


SSL通信について SMTP over SSL ( No.1 )
Q.SSL送信を行いたいのですが可能でしょうか。 by Mikeさん[2004/09/23]
A.バージョン4.00-ssl[2005/01/25]にて対応致しました。(お待たせ致しました。)
  必要実行ファイルは従来どおりsmail.exeと設定ファイルsmail.iniのみです。
  OpenSSL 0.9.7.eのスタティックライブラリーを作成してリンクしていますので、
  他にDLL等は必要ありません。
HELOコマンド,EHLOコマンド ( No.2 )
Q.HELOコマンドだと、SMTP認証でエラーになります。 by コゴミさん
A.Microsoft ESMTP MAIL Serviceで、クライアント側がHELOコマンドだと、以降のSMTP認証が使えない。
  3.07以降は、EHLOコマンドに変更しました。
  また、EHLOコマンドでエラー時は、HELOコマンドを再送出するようにしました。
cc送信について ( No.3 )
Q.【cc送信はできますか。】by bahnさん
A.バージョン3.042以降より複数のcc送信先が指定できるようになりました。
  これにより、3.042以降は、複数送信、複数cc送信,複数bcc送信が可能です。
  [指定方法]
送信先メールアドレスにCC:を付けるとcc扱いになります。
  例) smail -hxxx.xxx.xxx.xxx -s"TEST" CC:who1@xxx.xxx.xxx,who2@xxx.xxx.xxx,CC:who3@xxx.xxx.xxx,who4@xxxx.xxx.xxx,
    BCC:who5@xxx.xxx.xxx,who6@xxx.xxx.xxx -f"eva"
この場合は、通常送信先:who2@xxx.xxx.xxx,who4@xxxx.xxx.xxx,who6@xxx.xxx.xxx
CC送信先:who1@xxx.xxx.xxx,who3@xxx.xxx.xxx BCC送信先:who6@xxx.xxx.xxx
となります。
設定ファイルsmail.iniについて ( No.4 )
Q.【設定ファイルsmail.iniは必須ですか?またどこに保存すればいいでしょうか?】by fgさん
A.POP before SMTP機能を使わない場合は、なくてもかまいません。
  POP before SMTP機能を使う場合は、smail.exeを起動して設定する必要があります。
  生成されたsmail.iniは、smail.exeと同じディレクトリーに保存して下さい。
  または、windowsディレクトリ配下でもかまいません。
  smail.exeプログラムは以下の順でsmail.iniを参照し最初に見つけたsmail.iniを採用します。
   (1) カレントディレクトリー
   (2) windows systemディレクトリー(環境変数:windir)
      NT/2000/XP c:\winnt
      95/98/ME c:\windows
   (3) smail.exeが実行されているディレクトリー
   注)この機能は、v3.03から有効です。
機能一覧 ( No.5 )
Q.【オプション一覧、エラーコード一覧を教えて下さい。】
A.[オプション一覧]
* -h: メールサーバ名又はIPアドレス
* user1@xxx.co.jp,[[BCC:]user2@xxx.co.jp],... :送信先メールアドレス複数指定可能

-f: 送信者名 : -f"Eva <info@picolix.jp>"
: -finfo@picolix.jp
-s: サブジェクト
-F: 本文内容テキストファイル名
-T: 本文内容 -Fよりも優先される
-a: 添付ファイル名(カンマ区切りで複数指定可能)
-p: プライオリティー -p4以下は、重要度高 -p5以上は重要度低
-t: NTタイムゾーン調整オプション
-S: サイレントモード(エラー表示しない)
-d: デバッグ表示モード
-i: インフォメーション表示モード
-?: オプションヘルプ

 [SMAILエラーコード一覧]

 ERR-xxxx:”内容”を標準出力に表示します。
 smail.exeの戻り値は、0以外は下記の内容で異常終了です。

 0000:正常終了。
 0001:送信先の指定が不明です。
 0002:本文ファイルがみつかりません。
 0003:添付ファイルがみつかりません。
 0004:作業ファイルが作れません。
 0005:TCP/IPソケットが初期化できません。
 0006:ホスト名が解釈できません。
 0007:TCP/IPソケットが生成できません。
 0008:メールサーバとのコネクションエラー。
 0009:メールサーバへの送信エラー。
 0010:メールサーバからの受信エラー。
 0011:メールサーバハンドリングエラー。
 0012:メールサーバが指定されていません。
 0013:ホスト名が取得できません。
 0014:メモリーオーバーフロー。
 0015:エンコードエラー。
 0016:不明なエラーです。
 0017:オプション指定エラー。
 0018:-s/-Tでの文字オーバエラー。
 0019:POP3タイムアウトエラーです。
 0020:POP3サーバと接続できません。
 0021:POP3アカウントがありません。
 0022:POP3アカウントまたはパスワードが間違っています。

上記のコード以外に付属情報としてSMTPサーバがエラーコードxxxを返送してきた場合は、
[server->xxx]として標準出力に表示します。
  例)
   ERR-0011:メールサーバハンドリングエラー。
   [server->553]
SMTP応答コード表 ( No.6 )
SMTP応答コード表

SMAILを実行してERRORが発生した時、下記のコード
[server->xxx]と表示される場合があります。
参考にして下さい。

CODE 意味
211 システムステータスまたはシステムヘルプ応答。
214 ヘルプメッセージ、コマンドの使い方。
220 指定したドメイン名のサーバの準備完了。
221 コネクションのクローズ。(QUITに対する応答)
250 リクエストされたコマンドを正常完了した。
251 ユーザがローカルに存在しません。応答に指定した宛先に転送します。
252 VRFYコマンドでユーザの確認ができません。しかしメールの転送は可能です。
354 メールデータの入力を開始してください。最後は<CRLF>.<CRLF>で終了してください。
421 このホストのメールサービスは動作していません。コネクションをクローズします。
450 リクエストされたコマンドは実行されませんでした。メールボックスが利用できません。
451 サーバ側でエラーのため指定のコマンドは実行できませんでした。
452 リクエストされたコマンドは実行されませんでした。ファイル・システムの容量不足です。
500 指定のコマンドの文法エラーです。
501 指定のコマンドのパラメータエラーです。
502 未サポートコマンドです。
503 コマンドの実行順序に問題があります。
504 指定のコマンドパラメータは未サポートです。
530 認証が必要です。SMTP認証で認証しないとこのエラーがでます。
550 メールボックスがないなどの理由で指定のコマンドは実行されませんでした。
551 指定されたユーザは、このホストに存在しません。別のパスに転送してください。
552 ファイルシステムの問題で、指定のコマンドは実行できませんでした。
553 宛先のメールボックス名に問題があるために指定のコマンドは実行できませんでした。
※:POP before SMTPでLogin認証せず送信するとこのエラーが返送される。
554 メール転送処理に失敗しました。
BCC送信について ( No.7 )
Q.【BCC送信はできますか?】by aさん
A.複数のバBCCのメールアドレスに送信できます。
例)
 smail -hmailhost -s"TEST" xxx@user1,xxx@user2,BCC:xxx@user3 -i -d
 smail -hmailhost -s"TEST" BCC:xxx@user1,xxx@user2,BCC:xxx@user3 -i -d
 ・送信先のメールアドレスにBCC:を頭につけるとそのメールアドレスについては、
  BCC(Blind Carbon Copy)扱いになります。
 ・送信先は複数可能で、BCCも複数可能です
送信者のニックネームについて ( No.8 )
Q.【送信者のニックネーム指定はできますか?】
A.−fオプションにて、
 例)-finfo@picolix.jp
-f"Eva <info@picolix.jp>" <--- 送信者ニックネームを付けたい時の表現
-f"Eva<info@picolix.jp>"
-f"Eva <info@picolix.jp>"
ニックネーム最後の空白は有無にかかわらず自動的に1文字の空白とします。
但し、ニックネームは半角英文字のみ対応で、全角は対応しておりません。
バイナリー添付について ( No.9 )
Q.【バイナリー添付ファイルを複数添付したいのですができますか?】by Mさん、g-killさん
A.複数のバイナリ添付ファイルを添付できます。
 カンマで区切ります。
 例) -ac:\temp\text.xls,d:\sample\test.doc,d:\sample\test.log
553認証エラーで送信できません。 ( No.10 )
Q.【553認証エラーがでます。】by Sさん
A.当ソフトは、POPアカウント認証機能(POP BEFORE SMTP)に対応(v3.02以降)しております。POP3の設定を行って下さい。
また、SMTP認証:AUTH CRAM-MD5,AUTH PLAIN,AUTH LOGINにも対応(v3.05以降)しています。SMTPの設定を行って下さい。
詳細は、添付のreadme.txtを参照して下さい。
  smail.ini内容は以下のとおり。
  [POP3]
   POP3_USE = 1          ; 1:POP before SMTPを使用する。 0:使用しない。
   POP3_SERVER = hoge.hoge.xxx.xx ; POP3サーバ名またはPOP3 IPアドレス
   POP3_USER = hogehoge      ; POP3 ユーザ名(アカウント名)
   POP3_PASS = FE32424543581FC9  ; POP3 パスワード ※暗号化されています。
   POP3_PORT = 110         ; POP3 ポート番号:デフォルト 110
   POP3_AFTER_WAIT = 300      ; POP3 認証後の遅延待ち時間(ミリ秒) デフォルト 300
   POP3_TIME_OUT = 10       ; POP3 アクセスタイムアウト時間(秒) デフォルト 10
  [SMTP]
   SMTP_AUTH = 1          ; 1:AUTH CRAM-MD5 2:AUTH PLAIN 3:AUTH LOGIN 0:使用しない。
   SMTP_USER = hogehoge   ; SMTP ユーザ名(アカウント名)
   SMTP_PASS=5F81DCCDB8EF6325E48F ; SMTP パスワード ※暗号化されています。
   SMTP_PORT=25          ; SMTP ポート番号:デフォルト 25

A.smail.exeとsmail.iniを他のPCにコピーした場合や、OSを変更した場合などは、再度smailでPOP3のパスワード設定が必要です。
送信結果の内容(エラーコード)のロギングについて ( No.11 )
Q.【送信結果の内容(エラーコード)をファイルに出力したいのですが(ログとして)方法がわかりません】by Yさん

A.以下の方法があります。

方法1)
 smail -hmailhost -s"test test" info@picolix.jp >> c:\temp\error.log

この場合は、エラーがあった時のみ c:\temp\error.logに内容が追記されます。
 内容は、ERR-0017:オプション指定エラー。というような内容になります。
 またオプションによってはその他の出力情報もログに出力されます。

方法2)
 もうちょっと管理向け&ログ風にしたい場合は、
 以下のバッチファイル(smailsend.bat)をメモ帳等で作成し、
 そのbatファイルを実行して下さい。 

smailsend.batの内容

rem ----- ここから ------
echo off
c:\smail.exe -h%1 -s%2 %3
echo %DATE% %TIME%:%ERRORLEVEL% >> c:\temp\send.log
rem ----- ここまで ------

smailsend.batの実行方法
c:\smailsend mailhost "is test" info@xxx.xxx.xx
とします。これは、
smail -hmailhost -s"is test" info@xxx.xxx.xx
を実行したことと同じです。
  必要なパラメータ%1,%2....を御自分の環境に合わせて実行して下さい。
 
 送信結果ログの実行内容例:send.log
  C:\temp>type send.log
  2003/06/12 17:28:18.13:0
  2003/06/12 17:28:36.95:0
  2003/06/12 17:28:52.52:17
のようになります。送信日付・時間(msec)とエラーコードがロギングされます。
  0は送信成功で、0以外はエラーです。エラー番号に対応する内容は、
ソフト付属のreadme.txtを参照して下さい。

また
 rem ----- ここから ------
 echo off
 c:\smail.exe -h%1 -s%2 %3
 echo %DATE% %TIME%:%ERRORLEVEL% [%3] >> c:\temp\send.log
 rem ----- ここまで ------
 などとすれば、
  2003/06/12 18:07:43.60:0 [xxx@xxx.xxx.xx]
 のように送信先もロギングできます。お好みに合わせて下さい。