Memo/Linux/mail

https://dexlab.net:443/pukiwiki/index.php?Memo/Linux/mail
 

Mail


メールのスレッド化

  • スレッド元として「Message-Id:」にユニークIDを付ける。
  • 「In-Reply-To:」と「References:」ヘッダに、スレッド元の「Message-Id:」を入れる。

カスタムヘッダを付けて送信

  • 例: スレッド化用のヘッダを追加する
    #!/bin/bash
    
    RECIPIENT=example@example.com
    MESSAGE_ID=unique-string-example@example.com
    
    /usr/sbin/sendmail -i --  $RECIPIENT<<EOD
    To: <$RECIPIENT>
    Subject: Test Message
    In-Reply-To: ${MESSAGE_ID}
    References: ${MESSAGE_ID}
    
    Body of the message line 1
    Body of the message line 2
    EOD

添付ファイル付きメール送信

  • Gmailでも表示できるスクリプト
    sudo yum install mutt sharutils
    
    cat > gmail.sh << 'EOS'
    #!/bin/bash
    # encoding: utf-8
    
    readonly CUR_DIR=$(cd $(dirname $0);pwd)
    mail_to='bar@example.com'
    mail_from='foo <foo@example.com>'
    subject='メール件名'
    body='メール本文
    テスト'
    attachment_file=$CUR_DIR/`basename $0`
    
    export EMAIL=$mail_from
    export LANG=ja_JP.UTF-8
    echo "${body}" | mutt -n -s "${subject}" "${mail_to}" -a "${attachment_file}"
    
    # vim: ts=4:sw=4
    EOS
  • FROMヘッダの指定。環境変数に書くか、~/.muttrc に追加
    export EMAIL="foo <foo@example.com>"
    
    vi ~/.muttrc
    ----
    set envelope_from=yes
    set from="from@address"
    ----

root宛のメールを転送する

  • postfixを使っている場合
    # sed -i '/^root:/d' /etc/postfix/aliases
    # echo "root: hoge@example.com" >> /etc/postfix/aliases
    # postalias /etc/postfix/aliases
    # echo test|mail root
    • postaliasでエラーが出る場合、/etc/postfix/main.cf の"myhostname"の値を設定してあるか確認。
  • sendmailを使っている場合
    # sed -i '/^root:/d' /etc/aliases
    # echo "root: hoge@example.com" >> /etc/aliases
    # newaliases
    # echo test|mail root

肥大化したメールの削除

cat /dev/null > /var/spool/mail/root

logwatchメールの停止

  • CentOS5.x
    chmod -x /etc/cron.daily/0logwatch

メール送信ができない時は

  • 以下のエラーの場合は
    WARNING: RunAsUser for MSP ignored, check group ids (egid=500, want=51)
    can not chdir(/var/spool/clientmqueue/): Permission denied
    Program mode requires special privileges, e.g., root or TrustedUser.
  • postdrop warningの時は
    以下のエラーの際は、postfix が起動していないため発生するようです。
    postdrop: warning: unable to look up public/pickup: No such file or directory
    • 解決方法
      プロセスの確認。masterが存在すれば起動済み
      # ps -aux | grep postfix
      root     26348  0.2  0.1  5220 1632 ?        S    17:02   0:00 /usr/libexec/postfix/master
      起動していない場合は、起動させる。
      # service postfix start
      # chkconfig postfix on
      ためしにメールを送ってみる。
      # echo "hogehoge" | mail メールアドレス

majordomo(メーリングリスト)

以下のように「majordomo@ドメイン名」宛にコマンドを送ると結果が返される。

宛先:majordomo@ドメイン名
件名:(何でも構いません)
本文:
     コマンド
     コマンド
     ・・・
     コマンド
     end (or "-")
  • コマンド
    コマンド名説明
    help説明ページの入手
    lists公開されたメーリングリスト一覧
    lists 自分のメールアドレス自分に配信されるメーリングリスト一覧

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-11-02 (金) 18:10:43 (15d)