2018年04月27日

ネットブックにUbuntu Server入れる その11 postfixでエラーメール送信

ネットブックのHP mini 1000にUbuntu Serverを入れて
色々やる流れです。

ネットブックにUbuntu Server入れる


の記事になります。


前回の最後でcronを使ってスクリプトを実行させましたが
今のままでは何か問題があった時にエラーメールが飛ばないので
postfixを入れてエラーメールが飛ぶようにします。


今回はpostfixのリレーを設定して
私が契約してるさくらインターネットのメールサーバー経由でメールを送ります。

各サービスからの送信されるメールの設定については
それぞれ別の設定になるので言及しません。

一応コマンドのmailでメールを送る所までやります。

OSのインストールは最小でsshしか入れなかったので
まずはpostfixとmailコマンドをインストールします。

~$ sudo apt install postfix mailutils

20180426-001-postfix.jpg

今はpostfixをインストールする時にこんな画面出るんだ…
とりあえずインターネットサイトで次のドメイン名はそのままで
困ったら後で設定弄ればいいやと<了解>を押す。

すんなりインストールが終わりました。
本来ならmain.cfを弄ってFQDNやらなにやら書く所ですが
サービスがエラーメールを送信するためだけのpostfixなので
そのままで動作を試します。

ローカルアカウントからローカルアカウントへ試験メールを送信します。

~$ mail eclair
Cc:
Subject: タイトル
本文
(ctrl+dでメール入力を終了)

このアカウントはeclairでeclair相手にメールを送信しました。
Ccは無し、Subjectはタイトル、本文は本文です。
ホスト名はpine

最初.でメール入力を終了しようとしたけど終了しなくて焦りました。
ubuntuのmailコマンドはCtrl+dで入力を終了するらしいです。

送ったメールをmailコマンドで受信してみます。

eclair@pine:~$ mail
"/var/mail/eclair": 1 message 1 new
>N 1 eclair 木 4月 26 23: 13/381 タイトル
? 1         (番号入れてメールを読みます)
Return-Path:
X-Original-To: eclair@pine
Delivered-To: eclair@pine
Received: by pine (Postfix, from userid 1000)
id DCF0F81EF5; Thu, 26 Apr 2018 23:23:07 +0900 (JST)
To:
Subject: タイトル
X-Mailer: mail (GNU Mailutils 3.1.1)
Message-Id: <20180426142307.DCF0F81EF5@pine>
Date: Thu, 26 Apr 2018 23:23:07 +0900 (JST)
From: eclair@pine (eclair)

本文


? q
Saved 1 message in /home/eclair/mbox
Held 0 messages in /var/mail/eclair
eclair@pine:~$

受信と表示が出来ていました。
ちなみに

~$ mail eclair -r sousin@hogehogehost
と言う感じで-rオプションの後にメアドをつけると
メールのReturn-Pathが
Return-Path:
のように設定できます。

postfixが動いている事が確認できたので
次はさくらインターネットのメールサーバーへのrelayを設定します。
うちのメーラーはBecky!なので
https://help.sakura.ad.jp/hc/ja/articles/206054142
を参考にします。
(以下、サーバー名ユーザー名などはこのページの物を使用)

~$ sudo vi /etc/postfix/main.cf
設定を書きかえます。39行目付近の

relayhost =

の所を以下のように変更追記

relayhost = [example.sakura.ne.jp]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_password
smtp_sasl_security_options = noanonymous

ファイルを保存。
次にファイルを作成
中身はドメイン名 ユーザーID:パスワードの書式になります。
~$ sudo vi /etc/postfix/relay_password
[example.sakura.ne.jp]:587 mail@example.sakura.ne.jp:password

ファイルを保存
postmapで先ほどのファイルから検索データベースを作成。
~$ sudo postmap hash:/etc/postfix/relay_password

postfixを再起動して作業完了。
~$ sudo systemctl restart postfix

メールサーバーのrelayが出来ているか確認の送信試験をしてみます。
~$ mail mail@example.sakura.ne.jp -r sousinmoto@hogehogehost
Cc:
Subject: local server postfix test mail
jusin OK?
~$

20180426-002-mail.jpg

はい、受信出来ました。

上手く行かない場合は
/var/log/mail.log
を確認!!

ちなみにmailコマンドから外のサーバーへ
マルチバイト文字を含むメールを送信すると文字化けします。

本文にマルチバイト文字を使ったメールを送信する時は
あらかじめ本文をテキストファイルに記載して
(今回はviで書いたmail.txtはUTF-8 (LF))

20180426-003-mail.jpg

nkfで文字コードを変換しつつ送ると送れます。
nkfのオプションは環境により色々トライ

~$ nkf -W -s mail.txt | mail mail@example.sakura.ne.jp -r sousinmoto@hogehogehost -s mojicode

20180426-004-mail.jpg
こんな感じ

タイトルにマルチバイト文字入れると更に大変なのでやりません。
relayにGmail等他のサーバーを設定できますが必要ないのでやる予定は無いです。

追伸:
 mailコマンドの文字化けの試験してる間に
 先日設定したcronからのメールが飛んできて問題無く動いた。


タグ:uBuntu
posted by えくれあ at 00:27| Comment(0) | TrackBack(0) | 技術
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/183089226
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック