新たに設定したCentOSもそうですが、メールのデーモンはインストールしていません。しかし、メールを介した通知は必要なので、スクリプトを使って送信しています。昔のUNIXには必ず設定したのですが、今は危なくて設定できません。
今の派遣先では、Microsoftのメールサービスを使っているので、そのSMTPサーバーに送信していますがちょっとクセがあるのが難点。スクリプトでやるとして、何を使うかは、以前、チェック済み。偶然、CentOS 7で追加インストール無しで使えたのがpythonだったので、今でもそれを利用しています。
CentOS 8では、pythonのバージョンが上がって、スクリプトの変更が必要なシステムもありますが、メール送信用のスクリプトはそのまま動作したので、新しいサーバーでも流用しました。
使っているのは、こんなのです。
#!/usr/bin/python3
#
# SendMail to Office356 (smtp.office365.com) mail script
#
import smtplib
from email.mime.text import MIMEText
from email.utils import formatdate
from_address = 'Outlook認証用のアカウント兼メールアドレス'
password = 'SMTP認証用のパスワード'
to_address = [
'送信先のメールアドレス'
]
subject = 'SenMail to Office365 (TEST)'
filename = "メールで送信するファイル(logwatchの結果を送信)"
with open(filename) as f:
strs = f.read()
f.close()
msg = MIMEText(strs)
msg['Subject'] = subject
msg['From'] = from_address
msg['To'] = ",".join(to_address)
msg['Date'] = formatdate()
smtpobj = smtplib.SMTP('smtp.office365.com', 587)
smtpobj.ehlo()
smtpobj.starttls()
smtpobj.ehlo()
smtpobj.login(from_address, password)
smtpobj.sendmail(from_address, to_address, msg.as_string())
smtpobj.close()
ネットでいろいろ検索して作ったのですが、どのページを参考にしたかは、メモを残していなかったので解らなくなりました。