CentOSでsendmailを使う

Time4VPSのStorage VPSでNextcloudを運用するための環境整備を進めているわけですが、メールを使えるようにしなければなりません。FreeBSDで使い慣れているsendmailを使えるようにしましょう。

sendmailとmailxのインストール

CentOSには標準でsendmailとmailコマンドが用意されていないので、yumでインストールします。

# yum install sendmail mailx
base                                                                                             | 3.6 kB  00:00:00
epel/x86_64/metalink                                                                             |  31 kB  00:00:00
epel                                                                                             | 3.2 kB  00:00:00

〜中略〜

Complete!

インストールできたらサービスの自動起動設定と起動です。

# systemctl enable sendmail.service
# systemctl start sendmail.service

通常のCentOSにはsendmailの代わりにPostfixが入っているらしくMTAの切り替えが必要らしいんですが、Time4VPSでインストールされるCentOS 7.5にはPostfixは入っていませんでした。

# alternatives --config mta

There is 1 program that provides 'mta'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.sendmail

Enter to keep the current selection[+], or type selection number:

MTAってのはMain Tenso…じゃなくてMain Transfer Agentね。

ポート解放とメール設定

firewall-cmdを使ってsmtpポートとpop3ポートを解放します。

# firewall-cmd --add-service=smtp --permanent
success
# firewall-cmd --add-service=pop3 --permanent
success
# firewall-cmd --reload
success
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: venet0
  sources:
  services: ssh dhcpv6-client http https dns ntp smtp pop3
  ports: 4157/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

sendmailの初期設定はFreeBSDのsendmail設定と同じです。/etc/mailディレクトリ内のaccess, local-host-names, virtusertableファイルをそれぞれ設定してmakeします。

これでmailコマンドが使えるようになるよ。