コマンドで出来るようです。ファイルとして存在するようです。pB1NdWZk000853ファイル名とメールのQ-IDは一致しているようです。このファイルを直接消してやればいいようです。中身をすべて消せばいいようです。サーバがらみPostfixのメールキューを確認、削除する方法sendmailのメールキューを確認、削除する方法のPostfix版メモです。コマンドで確認できます。(mailqコマンドも使えます。Requests.特定のメールキューを削除するには、以下のようにします。キューIDすべてのメールキューを削除するには以下のようにします。ALLちなみに、キューに溜まったメールを強制再送するには以下のようにします。メールサーバを構築し別メールサーバに全転送【sendmail編】のPostfix編です。CentOS6でOP25B対策の送信専用メールサーバをたてようかと思ったんですが、CentOS6ではpostfixがデフォルトのSMTPサーバになったようなので、今回はpostfixで挑戦して見ました。いうことで、Postfixの設定です。sendmailとは違い、よりUnixライクな設定の記述になっています。Viエディタで設定をしていきます。/etc/postfix/main.cfホスト名、ドメイン名ホスト名というかFQDNSを指定します。適当で構わないようです。mailsv.hoge.3ryuドメイン名を指定します。最初の要素をひいたものになるので、指定しなくていいかもしれません。hoge.3ryumailコマンド等送信元ドメインを指定しない場合に、ドメイン部分を何にするか決める設定です。値が使われるようです。$myhostname自身宛かどうか宛先メールアドレスのドメイン名が以下の設定合うなら自身宛と判断し、保存します。送られてきたメールを受け入れるか否かのアクセス制御を行います。なっており、postfixがあるサーバ自身からのメールしか受け付けません。することで、すべてのホストからの受信を受け入れるようにします。きたメールを転送するかどうかのアクセス制御を行います。なっており、このメールサーバと同じIPサブネット内のSMTPクライアントからのメールを転送するようです。(ローカルマシンと同じIPクラスA/B/Cに属するクライアントからのアクセスを許可。使える)mynetworksは外部ファイルを指定することもできるようなので、送信元になるサブネットが多い場合は、外部ファイルで指定したほうがいいかもしれません。転送丸投げ先設定デフォルトではsendmailと同じように、Postfixはメールの宛先のMTAに直接配送しようとします。今回は、プロバイダのメールサーバを経由させたいので、そのメールサーバに丸投げするようにします。MX検索は行いません。通常は[]でくくっておきます。ポート名もここで指定できるようです。上記の設定で、プロバイダSMTPサーバに丸投げするわけですが、たいていはSMTP認証が必要なので、ここで認証をするという設定してやります。noanonymous#↓認証方式を設定。プロバイダのSMTPサーバがどの認証に対応してるかはtelnetで確認。PLAINこれで、main.cfの設定は終わりです。認証情報を設定します。アクセスできないようパーミション変更することが望ましいかもしれません。編集したら、postfixを再読み込みします。reloadさて、これで届くはずと思いきや、届きません。キューを見ると以下のようになっています。Request.サーバとのSMTP認証のメカニズムがあっていないようです。cyrus-saslモジュールが入ってなかったことが原因でした。当初以下の2つしか入っていませんでした。cyruscyrus-sasl-2.1.23-8.el6.i686cyrus-sasl-lib-2.1.23-8.el6.i686plainと、md5用のモジュールをインストールします。したらちゃんと送れるようになりました。sendmailよりかは設定しやすいですね。公式ドキュメントの日本語訳です。一読する価値アリです。sendmailの時もお世話になりました。非常にわかりやすく説明されています。Linuxルータでポート変換(非推奨)でOP25Bされている環境で、ポート25をポート587に変換して送る方法を書きました。これはかなり強引で非推奨な実験的環境です。いうことで、より一般的で推奨できるOP25B対策は、LAN内にメールサーバを立てて、プロバイダもしくはレンタルしてるメールサーバに丸投げする方法です。LAN内の送信ポート変更できないソフト,機器はこのLAN内のメールサーバに送信メールを投げます。イメージとしては以下のような感じです。上段がプロバイダのメールサーバを経由させる方法、下段がレンタルしてるメールサーバを経由させる方法です。(設定としては(Linux)LogwatchのログメールをGmailに送りたいに書いている内容と似ています。CentOS5.6上で動かしています。以下のようにsendmail.mcを編集します。丸投げするメールサーバを指定。プロバイダのメールサーバに丸投げ。]の意味ついては後ほど。これを指定しない場合kの値のMXレコードにアクセスする。SMTP認証で使うファイルの指定。自信以外からのアクセスも許可。/etc/mail/sendmail.cfsendmailをリロードもしくは、再起動します。設定してあるドメイン名が送られてきたメールのドメイン名と一致すれば自分のサーバ宛と判断し保存します。OP25B対策での専用サーバではこのファイル内に設定はしません。ファイルで、メールを受け入れるかどうかのアクセス制御をしています。以下のようにファイルを編集し、LAN内の他の端末からのメールを受け入れるようにします。RELAYは許可、REJECTは拒否、OK(もしくは無指定時)は自身宛と判断し保存します。↓10.0.1.2のIPアドレスのホストからは自身宛と判断し、宛先が/etc/mail/local-host-namesにあれば保存、なければ受信拒否。OK以下コマンドで、/etc/mail/accessから、設定ファイル(/etc/mail/access.db)を作成します。このコマンドで設定ファイルを作成した場合、sendmailを再起動させることなく即時反映ができるようです。AUTH設定このsendmailサーバが、プロバイダ、レンタル等丸投げにするメールサーバとのSMTP認証できるように設定を行います。以下のように設定を書きます。4つに設定してますが、送信メールサーバがどの認証に対応しているかは、telnetでわかります。←このコマンドを入力すると、↓のように各種情報でてくる。←対応しているSMTP認証方式がこれでわかる。connectionホストとの接続が切断されました。authinfoファイルが作成できたらauthinfo.dbファイルを作成します。makemapコマンドでsendmail用のデータベースマップを作成できます。/etc/mail/authinfoこれで、設定は終了です。後は、LAN内の送信したい端末のSMTPサーバ欄に、このsendmailサーバのアドレスを入れてやります。クライアント~sendmailサーバ間はポートは25でOKですし、SMTP認証も掛ける必要はありません。“a”はESMTPでの認証を必須とする指定、“E”はETRNコマンドを禁止する指定です。以下のように正常に終わった旨が残り、相手先に届いていればOKです。delivery)今回はまった点はMXレコードさて、今回ハマった点が、丸投げ先のメールサーバの指定です。当初、丸投げするメールサーバを以下のように指定していました。以下のようなログが出ていました。