LoginSignup
9
10

More than 5 years have passed since last update.

ファイルを添付してメールするシェル

Last updated at Posted at 2016-08-17

ファイルを添付してメールシェルです。
Solarisで何かしてたなつい時代の物ですが優先度そのたヘッダを変えたりしたいときの参考に自分用メモの転記。

ここがポイント:Content-Type: multipart/mixed; boundary="--yama"

% cat file_send.sh
#! /bin/sh
#set -x

thisdir=`dirname "$0"` # $thisdir ← このスクリプト自身のあるディレクトリ
ROOT="$thisdir"
BIN="$ROOT"
DATA="$ROOT"
LANG=ja
FILE_DIR=/path_to_file_dir

logfile=$DATA/report2.log
exec 2>>$logfile >&2
#date >&2
#set -x

GDT="/usr/local/bin/gnu_date"
BIGM=`$GDT +%Y%m%d`
TIME01=`$GDT +%Y%m%d%H%M`
TDATE=`date '+%Y%m%d'`
#DATE0=`$GDT -d "$BIGM 1 month ago" +%Y/%m/%d`
DATE0=`date '+%Y/%m/%d %H:00'`
CHK_FILE=filename.$TDATE.csv.zip

SUBJ="メール件名 "$BIGM""

###----------------------------------------------------------------------------
### パラメータ
mail_to='宛先'
#mail_cc='cc宛先'
#mail_bcc='bcc宛先'
mail_from='送信元'
mail_err=エラー宛先'
mail_subj=$SUBJ

###----------------------------------------------------------------------------#
### 情報取得 & メール送信
#cat <<EOF
euctojis <<EOF | mailx -t
To: $mail_to
CC: $mail_cc
BCC: $mail_bcc
From: $mail_from
Errors-To: $mail_err
Subject: $mail_subj
X-Mailer: $0
#Content-Type: text/plain; charset=ISO-2022-JP
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="--yama"

----yama
Content-Type: text/plain; charset=iso-2022-jp

本文を書く


----yama
Content-Type: application/octet-stream; name="$CHK_FILE"
Content-Disposition: attachment; filename="$CHK_FILE"
Content-Transfer-Encoding: x-uuencode

`uuencode $FILE_DIR/$CHK_FILE $CHK_FILE`
----yama--

EOF

###----------------------------------------------------------------------------
### 実行済みマークして終了
exit 0

Linuxならgnu_datedateでいける気がします。
uuencodeyum install sharutilsでとれるらしいです。base64でもいいようです。

参考:
メールヘッダの一覧
man mailx
uuencode uudecodeがない場合はbase64を使えばよいらしい | 駄文と書評
メールデータの構造 - takami_hirokiの日記
SMTPサーバのメール送信テストにmailxコマンドを使う | Developers.IO

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10