読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

メールを送信する仕組みと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の勉強した分もいれた。