email <概要> email : SMTP クライアント(メール送信クライアント) <書式> Usage : email [options] mail_text Options : --server <servername> (mandatory) --port <port> --auth <method> --domain <hostname> --from <mail_address> (mandatory) --to "<mail_address>..." (mandatory) --cc "<mail_address>..." --bcc "<mail_address>..." --display-from <display_name> --display-to "<display_name>..." --display-cc "<display_name>..." --reply_to <mail_address> --return_path <mail_address> --date <date_str> --subject <subject> --login <loginname> --passwd <password> --notify <mail_address> --attach <filename> --excel <excelfile> --verbose --debug Version : Thu Jul 19 23:51:01 JST 2018 Edition : 2 <例1> メールサーバー(211.13.204.15)の SMTP ポート(デフォルト 25)通信を 行います。ログインは demo@usp-lab.com パスワードは Demo1234 です。エ ンベロープ情報は以下の通りです。 From demo@usp-lab.com To to_1@usp-lab.com to_2@usp-lab.com Subject テストメール Cc cc_1@usp-lab.com cc_2@usp-lab.com Bcc bcc_1@usp-lab.com bcc_2@usp-lab.com 添付ファイルは以下の通りです。 通常添付ファイル attach1 attach2 attach3 エクセルファイル book1.xls book2.xls --verbose オプションで、送信終了時に先頭の宛名(to_1@usp-lab.com)を 標準出力に出力します。 $ email --server 211.13.204.15 --port 587 \ --login demo@usp-lab.com --passwd Demo1234 \ --from demo@usp-lab.com \ --to "to_1@usp-lab.com to_2@usp-lab.com" \ --cc "cc_1@usp-lab.com cc_2@usp-lab.com" \ --bcc "bcc_1@usp-lab.com bcc_2@usp-lab.com" \ --subject テストメール \ --attach attach1 --attach attach2 --attach attach3 \ --excel book1.xls --excel book2.xls \ --verbose mail_text <備考> --server --from --to は必須です。 --domain を指定しない場合、ホスト名となります。 --to --cc --bcc は複数のアドレスを指定できます。アドレス群を " " で 囲み1引数として指定するか、複数回指定します。 例:--to addr1@domain1 --to addr2@damin2 <備考> --display_from は From フィールドに表示される名前を指定します。 --display_to は To フィールドに表示される名前を指定します。このオプ ションを指定する場合は、--to で指定されたアドレスと同じ個数の名前を 指定する必要があります。名前を表示しないアドレスに対しては ! を指定 してください。 同様に、--display_cc は Cc フィールドに表示される名前を指定します。 例:--from demo@usp-lab.com --display-from デモアカウント -> From: デモアカウント <demo@usp-lab.com> 例:--to "to1@usp-lab.com to2@usp-lab.com" --display-to "宛先1 !" -> To: 宛先1 <to1@usp-lab.com>, to2@usp-lab.com 例:--cc "cc1@usp-lab.com cc2@usp-lab.com" --display-cc "CC1" -> エラーになります <備考> --login、--passwd は SMTP 認証で用いられます。SMTP 認証は ESMTP の CRAM-MD5 / LOGIN / PLAIN に対応しています。サーバーが複数の認証に対 応しているときは、この優先順位で認証方法を決定します。--auth <method> を指定した場合は以下のように認証方法を決定します。 --auth auto 上記の優先順位で決定します。(デフォールト) --auth server サーバーが応答してきた認証方式順位で決定します。 --auth cram-md5 CRAM-MD5 で認証します。 --auth login LOGIN で認証します。 --auth plain PLAIN で認証します。 --auth none 認証を行いません。 <備考> --return_path --reply_to を指定しないと、--from で指定したアドレスが 自動的に指定されます。なお、--return_path を指定した場合、メールのエ ンベロープの MAIL FROM: が指定アドレスに上書きされます。 <備考> --notify は開封確認リクエストです。指定されたアドレスが Disposition- Notification-To フィールドに設定されます。受信側の設定によっては無視 されることもあるので注意してください。 <備考> --attach では Content-Type が application/octet-stream になるのに対 し、--excel では application/vnd.ms-excel になります。 なお、旧バージョンとの互換の為に --tenpu オプションも存在しています が、将来は削除される予定です。 <備考> メールの発信日時(Date フィールド)は自動的に現在時刻に設定されます。 発信日時を変更したいときは --date <date_str> オプションを指定してく ださい。<date_str> が Date フィールドに設定されます。なお、このオプ ションは Date フィールドを設定するだけで、実際の発信日時を変更するの ではありません。 <注意> FreeBSD では、以下のコマンドでコンパイルしてください。 $ cc -static -O3 -I/usr/local/include -L/usr/local/lib -o email \ email.c -liconv