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