コンピュータ/ソフトウェア関連Tips

本文へ

sSMTPセットアップ手順

更新: 2013年06月08日(土) 12:03
公開: 2013年06月08日(土) 12:01

postfixのセットアップも十分簡単であることが分かったので、今となってはあまり必要性を感じなくなってしまったが、記録としてメモ。

まず、sendmailをアンインストール

$ sudo yum list installed|grep sendmail

sendmail.x86_64                    8.14.4-8.el6                        @base    
sendmail-cf.noarch                 8.14.4-8.el6                        @base   

$ sudo service sendmail stop

$ sudo chkconfig sendmail off

$ sudo yum remove sendmail sendmail-cf
Loaded plugins: fastestmirror, refresh-packagekit
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package sendmail.x86_64 0:8.14.4-8.el6 will be erased
---> Package sendmail-cf.noarch 0:8.14.4-8.el6 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package             Arch           Version                 Repository     Size
================================================================================
Removing:
 sendmail            x86_64         8.14.4-8.el6            @base         1.5 M
 sendmail-cf         noarch         8.14.4-8.el6            @base         939 k

Transaction Summary
================================================================================
Remove        2 Package(s)

Installed size: 2.5 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing    : sendmail-cf-8.14.4-8.el6.noarch                              1/2 
  Erasing    : sendmail-8.14.4-8.el6.x86_64                                 2/2 
警告: /etc/mail/submit.cf は /etc/mail/submit.cf.rpmsave として保存されました。
警告: /etc/mail/sendmail.mc は /etc/mail/sendmail.mc.rpmsave として保存されました。
警告: /etc/mail/sendmail.cf は /etc/mail/sendmail.cf.rpmsave として保存されました。
  Verifying  : sendmail-cf-8.14.4-8.el6.noarch                              1/2 
  Verifying  : sendmail-8.14.4-8.el6.x86_64                                 2/2 

Removed:
  sendmail.x86_64 0:8.14.4-8.el6        sendmail-cf.noarch 0:8.14.4-8.el6       

Complete!

MTAが全部アンインストールされたか確認。

$ alternatives --display mta

mta -ステータスは自動です。
リンクは現在 /usr/sbin/sendmail.postfix を指しています。
/usr/sbin/sendmail.postfix - 優先項目 30
 スレーブ mta-pam: /etc/pam.d/smtp.postfix
 スレーブ mta-mailq: /usr/bin/mailq.postfix
 スレーブ mta-newaliases: /usr/bin/newaliases.postfix
 スレーブ mta-rmail: /usr/bin/rmail.postfix
 スレーブ mta-sendmail: /usr/lib/sendmail.postfix
 スレーブ mta-mailqman: /usr/share/man/man1/mailq.postfix.1.gz
 スレーブ mta-newaliasesman: /usr/share/man/man1/newaliases.postfix.1.gz
 スレーブ mta-aliasesman: /usr/share/man/man5/aliases.postfix.5.gz
 スレーブ mta-sendmailman: /usr/share/man/man1/sendmail.postfix.1.gz
現在の「最適」バージョンは /usr/sbin/sendmail.postfix です。

postfixもアンインストール。(依存関係で、削除したくないものまで削除しないように注意。)

$ sudo yum remove postfix

あらためてMTAの確認。

$ alternatives --display mta

結果は何も表示されない。

ssmtpをインストール。(epelリポジトリは既に設定済)

$ sudo yum --enablerepo=epel list ssmtp

Available Packages
ssmtp.x86_64                          2.61-19.el6                           epel

$ sudo yum --enablerepo=epel install ssmtp

設定ファイルを編集。

$ sudo vim /etc/ssmtp/ssmtp.conf

一般ユーザーではなくrootとしてalternativesを実行

$ sudo alternatives --config mta

1 プログラムがあり 'mta' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.ssmtp

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

設定ファイルを編集。

$ sudo vi /etc/ssmtp/ssmtp.conf

ネットで検索してすぐ見つかるのはgmailを使う方法。gmailを使う他に、以下の様にして、自分が利用しているプロバイダのSMTPサーバーを使用する方法もOKだった。

root=hoge@example.com
mailhub=smtp.example.com
RewriteDomain=hoge.example.com
FromLineOverride=NO

自分が利用しているプロバイダでは、RewriteDomainでドメインを指定しないとメール送信できなかった。localhost.localdomainという文字列を設定して送信したメールはプロバイダのドメインに置換されて届いた。RewriteDomainがhoge.example.comで、LINUXマシンのユーザーアカウントがfugaの場合、メールのFrom行はfuga@hoge.example.comとなる。rootが送信したメールのFrom行はroot@hoge.example.comになる。メールボックスを自由に設定できるメール受信用のドメインを持ってないとキツイか...。

gmailのSMTPサーバーを使う方法の場合、送信者は常に「接続アカウント@gmail.com」になる。まぁ、分かりやすいといえば分かりやすい。

テストメール送信。

$ echo "This is a test mail."|mail -s "Test mail" hoge@example.com

mailコマンドが見つからない場合は、mailxパッケージをインストール。

$ sudo yum install mailx

同一カテゴリーの記事

Tags: LINUX CentOS

© Someone in the TERRA

編集