プライベートアドレスのサーバからルータ経由でメールを送信する場合、相手先のメールサーバによっては送信元が信用できないと判定されて届かない場合があります。
そのような場合はプロバイダから割与えられているアカウントを使用し、サブミッションポート(587)でSMTP認証を行った上で送信する方法があります。これはパソコンのメーラーからメールを送るプロセスと基本的に同じです。
以下はCentOSのPostfixにて設定を行った際の手順メモです。
# cd /etc/postfix
# vi main.cf
変更
#mydomain = domain.tld
mydomain = shinkaku.jp
変更
#myorigin = $mydomain
myorigin = $mydomain
変更
inet_interfaces = localhost
inet_interfaces = all
追加
# リレーホストのための設定
relayhost = [bzmail.plala.or.jp]:587
# リレーホスト先のbzmail.plala.or.jpのSMTP-AUTHのための設定
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth_conf
smtp_sasl_mechanism_filter = CRAM-MD5
sasl認証ファイルの作成
# vi smtp_auth_conf
bzmail.plala.or.jp UserID:password
sasl認証ファイルのハッシュ化
# postmap smtp_auth_conf
パッケージの追加
# yum install cyrus-sasl-md5
postfixの再起動
# service postfix restart
送信テスト
# /usr/lib/sendmail -t email
Subject: test
test
[Ctrl+d]
これでメールが届けば完了ですが、いくつかのドメインや端末宛てに送信テストすることをおススメします。
そのような場合はプロバイダから割与えられているアカウントを使用し、サブミッションポート(587)でSMTP認証を行った上で送信する方法があります。これはパソコンのメーラーからメールを送るプロセスと基本的に同じです。
以下はCentOSのPostfixにて設定を行った際の手順メモです。
# cd /etc/postfix
# vi main.cf
変更
#mydomain = domain.tld
mydomain = shinkaku.jp
変更
#myorigin = $mydomain
myorigin = $mydomain
変更
inet_interfaces = localhost
inet_interfaces = all
追加
# リレーホストのための設定
relayhost = [bzmail.plala.or.jp]:587
# リレーホスト先のbzmail.plala.or.jpのSMTP-AUTHのための設定
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth_conf
smtp_sasl_mechanism_filter = CRAM-MD5
sasl認証ファイルの作成
# vi smtp_auth_conf
bzmail.plala.or.jp UserID:password
sasl認証ファイルのハッシュ化
# postmap smtp_auth_conf
パッケージの追加
# yum install cyrus-sasl-md5
postfixの再起動
# service postfix restart
送信テスト
# /usr/lib/sendmail -t email
Subject: test
test
[Ctrl+d]
これでメールが届けば完了ですが、いくつかのドメインや端末宛てに送信テストすることをおススメします。
コメント