VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

qmail バウンスメール(リターンメール、エラーメール)の設定

エラーによって宛先に配信できなかった際に、バウンスメール(リターンメール、エラーメール)として送信元に送り返しますが、その設定方法について確認しました。

※目次をクリックすると目次の下部にコンテンツが表示されます。

バウンスメールの送信元アドレスの設定
正しくメール送信ができず、送信元にバウンスメールを送る際の送信元アドレスの設定方法を確認します。
 
1)設定方法
 
/var/qmail/control/ディレクトリ内に”bouncefrom”ファイルを作成し、送信元アドレスを記述します。
 
(設定例)
# vi /var/qmail/control/bouncefrom
 
postmaster

 
2)動作確認
 
自端末から存在しないユーザーに対してメッセージを送り、バウンスメールが戻ってくる際の送信元アドレスを確認します。
 
デフォルト状態では、送信元アドレスは”MAILER-DAEMON”でしたが、”bouncefrom”ファイルに”postmaster”を指定したところ、送信元アドレスが”postmaster”に変更された事を確認しました。

バウンスメールの送信元ドメインの設定
正しくメール送信ができず、送信元にバウンスメールを送る際の送信元ドメインの設定方法を確認します。
 
1)設定方法
 
/var/qmail/control/ディレクトリ内に”bouncehost”ファイルを作成し、ドメインを記述します。
 
(設定例)
# vi /var/qmail/control/bouncefrom
 
example.com

 
2)動作確認
 
自端末から存在しないユーザーに対してメッセージを送り、バウンスメールが戻ってくる際の送信元アドレスのドメイン部を確認します。
メールを送信するとすぐにバウンスメールを受信し、送信元アドレスのドメイン部が”example.com”に変更された事を確認しました。

バウンスメール送信失敗時の送り先設定
正しくメール送信ができず、送信元にバウンスメールを送る際にも送信失敗した場合(ダブルバウンス)の送信先の設定方法を確認します。
 
1)設定方法
 
①ダブルバウンスメールの送信先ホスト設定
 
/var/qmail/control/ディレクトリ内に”doublebouncehost”ファイルを作成し、送信先アドレスのホスト名(メールアドレスの@より右側)を指定します。
 
(設定例)
# vi /var/qmail/control/doublebouncehost
 
example.com

 
②ダブルバウンスメールの送信先ユーザー名の設定
 
/var/qmail/control/ディレクトリ内に”doublebounceto”ファイルを作成し、送信先アドレスのユーザー名(メールアドレスの@より左側)を指定します。
 
(設定例)

# vi /var/qmail/control/"doublebounceto
 
admin

 
2)動作確認
 
送信先に存在しないメールアドレスを指定してバウンスメールが送られるようにします。
 
送信元アドレスも存在しないメールアドレスにし、バウンスメールが送信できないようにします。
 

# telnet localhost 25

Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.example.com ESMTP
mail from:
250 ok
rcpt to:
250 ok
data
354 go ahead
test
test
.
250 ok 1363398899 qp 16023
quit
221 mail.example.com
Connection closed by foreign host.

バウンスメールを自端末で使用しているメールアドレスを指定していたため、下記メッセージが受信できました。
 
Hi. This is the qmail-send program at exmample.com.
I tried to deliver a bounce message to this address, but the bounce bounced!
 
:

bouncesayingによるバウンスメールの設定
バウンスメールをカスタマイズできるbouncesayingというユーティリティを使ってバウンスメールの設定を行う方法を確認します。
 
1)構文
 
bouncesaying エラーメッセージ [コマンド]
 
引数にコマンドを指定した場合
 
・コマンドが成功
 bouncesayingのexitコード 100(ハードエラー)
  エラーメッセージ出力
  .qmailの次の行以降の処理は実行しない。
 
・コマンドのexitコードが111の場合
 bouncesayingのexitコード 111(ソフトエラー)
  再送を試みる
  
・コマンドのexitコードがそれ以外の場合
 bouncesayingのexitコード 0
エラーメッセージ出力しない。
  
2)設定例
 
# vi .qmail
 
|bouncesaying "受け取りを拒否します" grep "^From.*spam.com"
./MailBox

メールメッセージの送信元アドレスに”spam.com”が含まれていたら、メール本文に”受け取りを拒否します”と記載してバウンスメールを送り返します。
 
それ以外のメールは./MailBoxファイルに受信されます。

モバイルバージョンを終了