Sendmail(自宅サーバ)


概要



Sendmailについて

  • Sendmailの最新版はVer8.12.3です。本来は、最新版を使った方がいいのでしょうが、サーバを公開する訳では無く、CGIからのメール送信に使うだけなので、FreeBSD(98)2.2.7Rに付属しているものをそのまま使う事にします。


Sendmailの設定(/etc/sendmail.cf)

  • 通常は、「CF」等のツールを使って設定ファイルを作成する様ですが、ここでは簡単に、「FreeBSD徹底活用1:翔泳社」付録CD-ROMに収録されているサンプルファイル(saba.cf)をコピーし、下記の修正を加えました。(文字列を検索して修正を加えました。)

    【/etc/sendmail.cf】(全体はこちらです
    @自ドメイン名(3ヶ所)
    home->そのまま
    Aプロバイダドメイン名(1ヶ所)
    provider.xx.jp ->mwa.biglobe.ne.jp
    BSMTPサーバ名(1ヶ所)
    smtp.provider.xx.jp ->mwa.biglobe.ne.jp
    C利用ユーザ名(2ヶ所)
    kame ->hnakamur
    


Sendmailの自動起動設定(/etc/rc.conf)

  • マシン起動時にSendmailを起動するために、「/etc/rc.conf」のsendmail_enableを「"NO"」から「"YES"」に修正します。

    【/etc/rc.conf】(修正分のみ)
    sendmail_enable="YES"    # Run the sendmail daemon (or NO).
    sendmail_flags="-bd -q30m" # -bd is pretty mandatory.
    


CGIのsendmailのパス設定

  • iモード掲示板CGIを以下の様に修正しました。

    【CGIスクリプト修正分】
    (前)$sendmail    = '/usr/lib/sendmail';
    
    (後)$sendmail    = '/usr/sbin/sendmail';
    


動作確認

  • iモード掲示板に書き込みを行い実際にメールを送信してみましたが、送信されません。ログを見るとエラーになっています。

    Mar 31 16:52:12 michiko sendmail[5769]: QAA05769: from=nobody, size=329, class=0,
     pri=30329, nrcpts=1, msgid=<200203310752.QAA05769@michiko.home>, relay=nobody@localhost
    Mar 31 16:52:12 michiko sendmail[5771]: QAA05769: ruleset=check_compat, arg1=nobody,
     arg2=******@docomo.ne.jp, relay=nobody@localhost, reject=553 ******@docomo.ne.jp... no permission
    Mar 31 16:52:12 michiko sendmail[5771]: QAA05769: to=******@docomo.ne.jp,
     delay=00:00:00, xdelay=00:00:00, mailer=smtp2, relay=mwa.biglobe.ne.jp, stat=Service unavailable
    Mar 31 16:52:12 michiko sendmail[5771]: QAA05769: QAA05771: DSN: Service unavailable
    Mar 31 16:52:12 michiko sendmail[5771]: QAA05771: to=root, delay=00:00:00, xdelay=00:00:00,
     mailer=local, stat=Sent
    

  • 原因は、CGIからのメール送信が「arg1=nobody」からとなり、発信制限に掛かっているためと判りました。そこで、「/etc/sendmail.cf」に利用ユーザとして「nobody」を追加しました。

    【/etc/sendmail.cf修正】(全体はこちらです
    @利用ユーザ名
    nobodyユーザを追加する。
    

  • 再度実行してみました。メールは下記エラー(User unknown)になりました。
    Apr  1 00:27:22 michiko sendmail[6162]: AAA06162: from=nobody, size=329, class=0,
     pri=30329, nrcpts=1, msgid=<200203311527.AAA06162@michiko.home>, relay=nobody@localhost
    Apr  1 00:27:23 michiko sendmail[6164]: AAA06162: to=******@docomo.ne.jp,
     ctladdr=nobody (65534/65534), delay=00:00:01, xdelay=00:00:01, mailer=smtp2,
     relay=bgmgate1.biglobe.ne.jp. [202.225.89.133], stat=User unknown
    Apr  1 00:27:23 michiko sendmail[6164]: AAA06162: AAA06164: DSN: User unknown
    Apr  1 00:27:23 michiko sendmail[6164]: AAA06164: to=root, delay=00:00:00,
     xdelay=00:00:00, mailer=local, stat=Sent
    

  • 原因は、BIGLOBEの中継処理ではじかれているための様です。CGIからの送信先は、iモードメールのアドレス「******@docomo.ne.jp」にしているのですが、BIGLOBEの中継サーバが別のドメインへの転送を禁止している様です。そこで、CGIからの送信先を通常使っているBIGLOBEのメールアドレスに変更しました。

    【CGIスクリプト修正分】
    (旧)$tomail      = '******@docomo.ne.jp';      # 書き込み時にメールを送信する送信先
    
    (新)$tomail      = 'hnakamur@mwa.biglobe.ne.jp';      # 書き込み時にメールを送信する送信先
    

  • 再度実行してみました。めでたく送信OKとなりました。
    Apr  1 00:21:43 michiko sendmail[6148]: AAA06148: from=nobody, size=324, class=0,
     pri=30324, nrcpts=1, msgid=<200203311521.AAA06148@michiko.home>, relay=nobody@localhost
    Apr  1 00:21:44 michiko sendmail[6150]: AAA06148: to=hnakamur@mwa.biglobe.ne.jp,
     ctladdr=nobody (65534/65534), delay=00:00:01, xdelay=00:00:01, mailer=smtp2,
     relay=bgmgate2.biglobe.ne.jp. [202.225.89.133], stat=Sent (2.0.0 g2VFMvh15924 Message accepted for delivery)
    




参考図書・サイト

  • FreeBSD徹底活用1:翔泳社


トップへもどる


Copyright (c) 2002 Hiroshi Nakamura. All rights reserved.