メールを送信する仕組みとCentOSにsendmailをインストールする手順など。

メールを送信する仕組み

sendmailによるメールサーバの機能はsendmailパッケージをインストールすることで使用可能になる。

MUAとは、Mail User Agentの略で、ユーザーがメールメッセージを作成・編集・生理したり、それを送信・受信したりするプログラムのこと。
MSAとは、Mail Submission Agentの略で、MUAが作成したメールを受け取ってくれる受付窓口として動作するプログラムのこと。
MTAとは、Mail Transfer Agentの略で、メールを受け取った時に、そのメールをどのMTAに送ったらいいかを調べる。

SMTPとは、MTAが別のMTAにメールを配送する方法、MUAがMSAにメールを配送を依頼する方法のことをいう。
Simple Mail Transfer Protocolと呼ばれる。

POPとは、Post Office Protocolの略で、MUAを使って、メールスプールからメールを取り出すときに使うプロトコルのこと。
IMAPとは、Internet Message Access Protocolの略で、IMAPはメールをサーバに置いたまま閲覧することができる。

主なSMTPコマンド

コマンド 意味
HELO host SMTPセッションの開始
MAIL FROM sender メール発送元の指定
RCPT TP recipient メール宛先の指定
DATA メール本体の送信開始
QUIT SMTPセッションの終了

SMTP-AUTHの仕組み

SMTP-AUTHとは、SMTPで接続し、メールで送信しようとした時にユーザ情報を交換することで、メール送信を行おうとするユーザを特定しようとする仕組みのこと。

CentOSsendmailをインストールする

参考
http://www.server-memo.net/server-setting/sendmail/sendmail-settinghttp://futuremix.org/2003/05/sendmailhttp://applelife100.blogspot.jp/2009/06/freebsd-11-mail.html

# yum install sendmail
# yum install sendmail-cf

インストール中・・・

Is this ok [y/N]: y
Downloading Packages:
(1/3): hesiod-3.1.0-19.el6.x86_64.rpm                    |  20 kB     00:00
(2/3): procmail-3.22-25.1.el6.x86_64.rpm                 | 163 kB     00:00
(3/3): sendmail-8.14.4-8.el6.x86_64.rpm                  | 717 kB     00:01
--------------------------------------------------------------------------------
Total                                           200 kB/s | 900 kB     00:04
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing     : procmail-3.22-25.1.el6.x86_64                            1/3
Installing     : hesiod-3.1.0-19.el6.x86_64                               2/3
Installing     : sendmail-8.14.4-8.el6.x86_64                             3/3
Installed:
sendmail.x86_64 0:8.14.4-8.el6
Dependency Installed:
hesiod.x86_64 0:3.1.0-19.el6          procmail.x86_64 0:3.22-25.1.el6
Complete!

CentOSsendmailを起動するコマンド

[root@localhost ~]# /etc/init.d/sendmail start
Starting sendmail:                                         [  OK  ]
Starting sm-client:                                        [  OK  ]

メールサーバを公開するには、TCP25番(smtp)ポートの通信を許可する。
/etc/sysconfig/iptablesに以下の記述を追記する。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT

sendmailのMTAとしての設定

/etc/mail/sendmail.mcを変更する。
sendmail.mcを変更したら、そこから新しいsendmail.cfを作成するために以下のコマンドを実行する。

cd /etc/mail
make sendmail.cf

sendmailを外部からのメールを受け取るメールサーバとして動作させるためには、DAEMON_OPTIONSの行をコメントアウトする。

sendmailの転送制限
/etc/mail/accessを編集する。
Connect:192.168を追記した。

Connect:localhost.localdomain           RELAY
Connect:localhost                       RELAY
Connect:127.0.0.1                       RELAY
Connect:192.168                         RELAY

読んだ本

CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)

CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)

感謝のプログラミング

今回で感謝のプログラミングは【374時間目】
10000時間まで、あと【9626時間】
昨日Javaの勉強した分もいれた。



お金があるかないかで人生の楽しさは全く変わってきます。

お金があっても幸せになれるとは限りませんが、お金がない人生は不幸です。

お金がなかった私が、転職して年収1000万を超えるまでにお世話になったブログを紹介します。

エンジニア転職のリアル

今の時代は、お金を稼げるかどうかは能力の有無よりも触れた情報の質によるものが大きいです。
ぜひ皆さんも良質な情報に触れて、お金持ちになって人生を充実させてください。