* sendmail(SMTP) [#h7eb2333] #setlinebreak(on); ・[[インストール>#install]] ・設定 ├ [[sendmail.mcの記述>#sendmail_mc]] ├ [[/etc/mail/以下の設定ファイルの記述>>#edit_config]] └ [[設定の反映>#application]] &aname(install); ◆RPMによるインストール # rpm -ivh sendmail-8.12.8-4.rpm # rpm -ivh sendmail-cf-8.12.8-4.rpm &aname(sendmail_mc); ◆sendmail.mcの記述 ・sendmailの設定ファイルであるsendmail.cfは記述が非常に難解である事で知られている。 よってマクロ(sendmail.mc)を利用してsendmail.cfの設定を行う。 DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl ↓ dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl dnl 以下の設定も追加 LOCAL_DOMAIN(`localhost.localdomain')dnl MASQUERADE_AS(`example.com')dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnl MASQUERADE_DOMAIN_FILE(`/etc/mail/masquerade-domain')dnl EXPOSED_USER(`adm')dnl ・・・ ドメインマスカレード(擬装)しないユーザ。 ドメインを取っていないサーバで(内部の監視用サーバとか)EXPOSED_USER が root になってると root でメール送ったときに、 メールヘッダ Return-Path が localhost.localdomain とかになってしまい、 スパムフィルターなどが入ってるメールサーバなどにメール受け取ってもらえない事がある。 なので、適当な別のユーザに変えてしまう( EXPOSED_USERをコメントアウトすればよかったかも。。) ※/etc/hostsなどで自サーバのマシン、ドメイン名がきちんと設定されていれば問題なし。 &aname(edit_config); ◆/etc/mail/以下の設定ファイルの記述 ・リレーを許可するホストの記述 [/etc/mail/access] localhost.localdomain RELAY localhost RELAY 127.0.0.1 RELAY 192.168.0 RELAY &aname(application); ◆設定の反映 m4 sendmail.mc > sendmail.cf ・・・ sendmail.mcからsendmail.cfを作成 rm -rf /etc/mail/*.db ・・・ 各ファイルがDB化されたものを削除(access.db,domaintable.db 等) /etc/init.d/sendmail restart ・・・ sendmailを再起動 ※access.db等が再作成される