新たに設定した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()
ネットでいろいろ検索して作ったのですが、どのページを参考にしたかは、メモを残していなかったので解らなくなりました。