■前提・方針
●1. お名前.comで独自ドメインを使用。
●2. 独自ドメインでのメールの受信は、googleApp に任せて、ディスク容量、スパム対策などもろもろの心配事を丸投げ。
●3. 独自ドメインでのメールの送信は、vpsサーバーからのみ送信。sendmail 8.13.8 使用。
vpsサーバーはOP25B(Outbound Port 25 Blocking)制限されない。
後述の、本サーバーのログやWEBからメールを送信できれば十分。
↓
●1-1. お名前.comのレンタルDNSレコード設定。
放っておけば、ドメインとIPアドレスの紐付が世界中に伝搬。 ●1-2. 独自ドメイン名のホストへ切替
放っておけば、ドメインとIPアドレスの紐付が世界中に伝搬。 ●1-2. 独自ドメイン名のホストへ切替
[root@hXX-XX-XX-XX ~]# mv /etc/sysconfig/network /etc/sysconfig/network.org [root@hXX-XX-XX-XX ~]# cp /etc/sysconfig/network.org /etc/sysconfig/network [root@hXX-XX-XX-XX ~]# vi /etc/sysconfig/network [root@hXX-XX-XX-XX ~]# diff /etc/sysconfig/network.org /etc/sysconfig/network 4c4 < HOSTNAME=hXX-XX-XX-XX --- > HOSTNAME=www.mydomain [root@hXX-XX-XX-XX ~]# service network restart●2. googleApp の設定手順はこちら 。 sendmail から利用する前に、一般的なメールクライアントでPOP受信しておかないとロックされる?もしログインできなければ24時間待つか次の手順を実行。 http://support.google.com/mail/bin/answer.py?hl=ja&answer=14257 ●3-1. メール転送エージェント(MTA) sendmail のインストール
[root@www ~]# yum list installed | grep sendmail [root@www ~]# yum info sendmail [root@www ~]# yum -y install sendmail●3-2. 設定ファイル生成ツール sendmail-cf のインストール
[root@www ~]# yumlist installed | grep sendmail-cf [root@www ~]# yum info sendmail-cf [root@www ~]# yum -y install sendmail-cf● パッケージの確認
[root@www ~]# rpm -qa | grep sendmail sendmail-cf-8.13.8-8.1.el5_7 sendmail-8.13.8-8.1.el5_7●3-3. サーバー内での配送ルール。デフォルトのまま。下記はdnsで始まるコメントを除いたもの。
[root@www ~]# cat /etc/mail/submit.mc divert(-1) divert(0)dnl include(`/usr/share/sendmail-cf/m4/cf.m4')dnl VERSIONID(`linux setup')dnl define(`confCF_VERSION', `Submit')dnl define(`__OSTYPE__',`')dnl dirty hack to keep proto.m4 from complaining define(`_USE_DECNET_SYNTAX_', `1')dnl support DECnet define(`confTIME_ZONE', `USE_TZ')dnl define(`confDONT_INIT_GROUPS', `True')dnl define(`confPID_FILE', `/var/run/sm-client.pid')dnl FEATURE(`use_ct_file')dnl FEATURE(`msp', `[127.0.0.1]')dnl●3-4. サーバー外への配送ルール。デフォルトのまま。下記はdnsで始まるコメントを除いたもの。
[root@www ~]# cat /etc/mail/sendmail.mc divert(-1)dnl include(`/usr/share/sendmail-cf/m4/cf.m4')dnl VERSIONID(`setup for linux')dnl OSTYPE(`linux')dnl define(`confDEF_USER_ID', ``8:12'')dnl define(`confTO_CONNECT', `1m')dnl define(`confTRY_NULL_MX_LIST', `True')dnl define(`confDONT_PROBE_INTERFACES', `True')dnl define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl define(`ALIAS_FILE', `/etc/aliases')dnl define(`STATUS_FILE', `/var/log/mail/statistics')dnl define(`UUCP_MAILER_MAX', `2000000')dnl define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl define(`confAUTH_OPTIONS', `A')dnl define(`confTO_IDENT', `0')dnl FEATURE(`no_default_msa', `dnl')dnl FEATURE(`smrsh', `/usr/sbin/smrsh')dnl FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(use_ct_file)dnl FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl FEATURE(`access_db', `hash -T●3-5. mc → cf 変換(sendmailのrestartでも更新される)。-o /etc/mail/access.db')dnl FEATURE(`blacklist_recipients')dnl EXPOSED_USER(`root')dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl FEATURE(`accept_unresolvable_domains')dnl LOCAL_DOMAIN(`localhost.localdomain')dnl MAILER(smtp)dnl MAILER(procmail)dnl
[root@www ~]# m4 /etc/mail/submit.mc > /etc/mail/submit.cf [root@www ~]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf●3-6. このサーバーで受け取るドメイン。このサーバーでは受け取らないのでデフォルトのまま。
[root@www ~]# cat /etc/mail/local-host-names # local-host-names - include all aliases for your machine here.●3-7. 転送ホストの制限設定。このサーバーからのみ送信するのでデフォルトのまま。
[root@www ~]# cat /etc/mail/access # Check the /usr/share/doc/sendmail/README.cf file for a description # of the format of this file. (search for access_db in that file) # The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc # package. # # by default we allow relaying from localhost... Connect:localhost.localdomain RELAY Connect:localhost RELAY Connect:127.0.0.1 RELAY●3-8. 変更した場合access.db更新
[root@www ~]# makemap hash /etc/mail/access.db < /etc/mail/access●3-9. サービス起動・再起動
[root@www ~]# service sendmail start [root@www ~]# service sendmail restart●3-a. テスト送信 もう一つのコンソールでログ監視(Ctrl + C で終了)
[root@www ~]# tail -f /var/log/maillogサーバー内(root から taro へ)
[root@www ~]# echo "Hello sendmail" | mail -v taroサーバー内から外部へ(root@mydomain から etc@outsidedomain へ)
[root@www ~]# echo "Hello sendmail" | mail -v etc@outsidedomain●3-b. 自動起動の確認
[root@www ~]# chkconfig --list | grep sendmail sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off● 自動起動になっていなければ自動起動に変更
[root@www ~]# chkconfig sendmail on