日記

CGI(perl)サーバーからメール送信プログラムを作成して飛ばす時のpostfixの設定

アパッチでサーバー構築して自鯖でCGI作成するときのメール送信設定
これをしないと、メール送信はできない。
これはMTAの設定なので送信だけです。
受信はできません。
Postfixの設定

# vi /etc/postfix/main.cf ← 設定ファイル編集

myhostname = server.xxxx.net ←ホスト名.ドメイン名を指定

mydomain = xxxx.net ← ドメイン名を指定

myorigin = $mydomain

inet_interfaces = all

mydestination = $myhostname, localhost.$mydomain $mydomain

# 550を指定し、存在しないユーザー宛てのメールを拒否し、即座にエラーメッセージを返すようします

unknown_local_recipient_reject_code = 550 ← コメントにする (# があれば削除)
#unknown_local_recipient_reject_code = 450 ← # をつけてコメントアウト

mynetworks = 192.168.0.0/24, 127.0.0.0/8 ← 内部ネットワークアドレスとローカルホストアドレスを指定

relay_domains = $mydestination

alias_maps = hash:/etc/postfix/aliases

alias_database = hash:/etc/postfix/aliases

home_mailbox = Maildir/ ← メールボックスをMaildir方式を指定

※ メールボックスと、メールに容量制限する場合以下の二項目を追記します

mailbox_size_limit = 30720000 ←メールボックスの容量制限(例 30Mb)

message_size_limit = 1024000 ←メールのサイズ容量制限(例 1Mb)

smtpd_banner = $myhostname ESMTP unknown ← メールサーバー名を隠す

※メールボックスをMaildir方式を使用するので以下の二項目をコメントアウト

#mail_spool_directory = /var/spool/mail

#mailbox_command = /some/where/procmail -a “$EXTENSION”

allow_percent_hack = yes

# /etc/rc.d/init.d/postfix restart ← 設定終了後に再起動

postfixの設定はこれで終了
ターミナルをたちあげてSUで下の作業を行うことでユーザーのメールディレクトリーができる

Maildir を自動作製する
/etc/skel/の中身のディレクトリがユーザーを追加した時に自動で作成されます
なので skel の中に Maildir フォルダを作成しておくといちいち、後からディレクトリを作ったり、アクセス権を
変更する手間が省かれます。

# mkdir -p /etc/skel/Maildir/{new,cur,tmp}

# chmod -R 700 /etc/skel/Maildir/ ← パーミッション変更