FreeBSD QandA 154

FreeBSD QandA

Q. 外部にメールを送るのにモデムを使用している場合、メーラで送信した
   後、モデムが繋がるまではメールがどこかに保存されていると思います。
   この保存されているメールの送信をやめたい場合は、どんなコマンドを使用す
   れよいのでしょうか?

A. そのようなコマンドはありません。;p
   どうしても削除したいとき、 sendmail を使っている場合には 以下の手順で
   キューから削除することで 事実上送信をやめることができます。

   1. su でスーパーユーザーになる。
   2. mailq コマンドを実行し、メールキューの状態を確認する。

    $ mailq
            Mail Queue (1 request)
     --Q-ID-- --Size-- -----Q-Time----- ------------Sender/Recipient------------
     JAA00501       10 Thu Sep 18 09:48 ryuchi
                                        1dummy@hogegoe.foo.co.jp


     Q-ID がメールのIDです。 発信者と送信先の情報があわせて表示されますから、
   これを頼りに削除したいメールの IDを判定する。

   3. sendmail の PID を得る。
    $ ps ax|grep sendmail
     161  ??  Is     0:00.39 sendmail: accepting connections on port 25 (sendmail)
    3784  p0  S+     0:00.02 grep sendmail
   4. sendmail を kill する。PID は 3.で得た sendmail の pid.
    $ kill PID

   5. キューからファイル /var/spool/mqueue/[dq]f<Q-ID> (<Q-ID> には mailqで
   調べた Q-ID を指定。) メールは 2つのファイルに分かれてキューに格納されて
   いるので df および qf で始まる 2つのファイルを削除する。
    $ rm /var/spool/mqueue/[dq]fJAA00501

   6. sendmail を再起動する。
    $ /usr/sbin/sendmail -bd -q30m

同一グループへのリンク

グループ名: sendmail


間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。