cubieboard2+Armbian-Ubuntu16.04にpostfixをインストール

メール Single Board Computer
メール

cubieboard2からメール送信できるよう、postfixを設定してみた。
プロバイダがOutbound Port 25 Blockingをしているので、メール送信にあたり追加設定を行う必要がある。

まずはpostfixをインストール。

sudo apt-get install postfix

/etc/postfix/main.cf を /usr/share/postfix/main.cf.debian からコピー

sudo cp -p /usr/share/postfix/main.cf.debian /etc/postfix/main.cf

テストで送ってみるが、エラーが出る。

foo@cubieboard2:/var/log$ sudo cat mail.log 
Apr  8 04:22:41 localhost postfix/pickup[10446]: 795B73FB2C: uid=1000 from=<foo @localhost>
Apr  8 04:22:41 localhost postfix/cleanup[11826]: 795B73FB2C: message-id=<20170408042241.795B73FB2C@cubieboard2.localdomain>
Apr  8 04:22:41 localhost postfix/qmgr[10447]: 795B73FB2C: from=</foo><foo @localhost>, size=396, nrcpt=1 (queue active)
Apr  8 04:22:42 localhost postfix/smtp[11735]: warning: SASL authentication failure: No worthy mechs found
Apr  8 04:22:42 localhost postfix/smtp[11735]: 795B73FB2C: to=< テストメール送信宛先メールアドレス>, relay=vsmtp.xxx.xxx.ne.jp[xxx.xxx.xxx.xxx]:587, delay=1.3, delays=0.97/0/0.36/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server vsmtp.xxx.xxx.ne.jp[xxx.xxx.xxx.xxx]: no mechanism available)
</foo>

SASL関連のパッケージを探す。

foo@cubieboard2:/var/log$ apt-cache search sasl|grep Cyrus
cyrus-sasl2-dbg - Cyrus SASL - debugging symbols
cyrus-sasl2-doc - Cyrus SASL - documentation
cyrus-sasl2-heimdal-dbg - Cyrus SASL - debugging symbols for Heimdal modules
cyrus-sasl2-mit-dbg - Cyrus SASL - debugging symbols for MIT modules
libsasl2-2 - Cyrus SASL - authentication abstraction library
libsasl2-dev - Cyrus SASL - development files for authentication abstraction library
libsasl2-modules - Cyrus SASL - pluggable authentication modules
libsasl2-modules-db - Cyrus SASL - pluggable authentication modules (DB)
libsasl2-modules-gssapi-mit - Cyrus SASL - pluggable authentication modules (GSSAPI)
libsasl2-modules-sql - Cyrus SASL - pluggable authentication modules (SQL)
sasl2-bin - Cyrus SASL - administration programs for SASL users database
cyrus-clients - Cyrus mail system - test clients
libauthen-sasl-cyrus-perl - Perl extension for Cyrus SASL library
libsasl2-modules-ldap - Cyrus SASL - pluggable authentication modules (LDAP)
libsasl2-modules-otp - Cyrus SASL - pluggable authentication modules (OTP)
lua-cyrussasl - Cyrus SASL library for the Lua language
lua-cyrussasl-dev - Cyrus SASL development files for the Lua language

sasl2-binパッケージをインストールする。

foo@cubieboard2:/var/log$ sudo apt-get install sasl2-bin

ログを確認するとエラーが。

root@cubieboard2:/var/log# cat mail.err 
Apr  8 11:56:06 localhost postfix/local[14813]: error: open database /etc/aliases.db: No such file or directory

/etc/aliases からデータベースを構築する必要がある。

root@cubieboard2:/var/log# postalias /etc/aliases

エラー2
/var/log/mail.log に

Apr  8 14:35:31 localhost postfix/smtp[16080]: 62A6A3FB41: to=< テストメール送信宛先メールアドレス>, relay=vsmtp.xxx.xxx.ne.jp[xxx.xxx.xxx.xxx]:587, delay=1.4, delays=0.97/0/0.39/0.03, dsn=5.5.4, status=bounced (host vsmtp.xxx.xxx.ne.jp[xxx.xxx.xxx.xxx] said: 553 5.5.4 <foo @localhost>... Real domain name required for sender address (in reply to MAIL FROM command))
</foo>

メール送信者の名前を変える必要がある。
以下を設定。

foo@cubieboard2:/var/log$ sudo cat /etc/postfix/canonical
foo@cubieboard2 実在アドレス名@独自ドメイン名
foo@cubieboard2.local 実在アドレス名@独自ドメイン名

反映はpostmapコマンド。

foo@cubieboard2:/var/log$ sudo postmap /etc/postfix/canonical

設定を反映させる。

foo@cubieboard2:/var/log$ sudo /etc/init.d/postfix reload
[ ok ] Reloading postfix configuration (via systemctl): postfix.service.

最終的にメールを外部送信できるようになった /etc/postfix/main.cf の設定。(設定の一部はマスキング済)

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.

myhostname = cubieboard2.lan
mydomain = lan
myorigin = 独自ドメイン名

sender_canonical_maps = hash:/etc/postfix/canonical
#sender_canonical_maps = regexp:/etc/postfix/sender_maps

#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no
append_at_myorigin = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

relayhost = [メールサーバのホスト名]:587

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/authinfo
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = LOGIN

mydestination = $myhostname, cubieboard2.独自ドメイン名, cubieboard2, localhost.localdomain, localhost
mynetworks = 127.0.0.0/8 192.168.x.x/24 [::1]/128 [fe80::]/64
mailbox_size_limit = 0
recipient_delimiter = 
inet_interfaces = all
inet_protocols = ipv4

alias_maps = hash:/etc/aliases

参考URL:

OP25B(Outbound Port 25 Blocking)対策(DTI編)

メモ: 自宅サーバー(Ubuntu)のPostfix設定方法(OP25B、SMTP-AUTH、送信元ドメイン確認対応)

Basic settings in the Postfix main.cf file

Postfix aliases db: No such file or directory -- serverfault

Last Updated on 2024-08-13 by spicebeat

タイトルとURLをコピーしました