Postfixでリモートメール送信
RasPiで動作中の Postfix メールサーバ。これまではローカルの配信のみだったけれど、リモート配信を試してみたところ、なんとかうまく行く方法が見つかった。
参考にしたのは、Postfix でメールリレーの設定 (SMTP クライアント + SMTP Auth)。
/etc/postfix/main.cf に
と記載を加える。次に /etc/postfix/sasl_passwd を作成する。内容は以下。
これをハッシュにかける。
最後に、postfixの設定をリロードする。
これで、sendmail コマンドなどでメールが送れるようになるのだが、その際、 "envelope sender address" をきちんと設定しないと SMTP 認証ではじかれる。私が使用したプロバイダー (hi-ho) の場合、username (=自分のe-mailアドレス)を -r オプションで "envelope sender address" に指定する必要があった。例えば以下のように。
一昔前はダイレクトにメールを送ることができたものだが。。。スパム対策などのため、仕方が無い。
参考にしたのは、Postfix でメールリレーの設定 (SMTP クライアント + SMTP Auth)。
/etc/postfix/main.cf に
relayhost = [smtp.example.com] smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options =
と記載を加える。次に /etc/postfix/sasl_passwd を作成する。内容は以下。
smtp.example.com username:password
これをハッシュにかける。
% sudo postmap hash:/etc/postfix/sasl_passwd
最後に、postfixの設定をリロードする。
% sudo service postfix reload
これで、sendmail コマンドなどでメールが送れるようになるのだが、その際、 "envelope sender address" をきちんと設定しないと SMTP 認証ではじかれる。私が使用したプロバイダー (hi-ho) の場合、username (=自分のe-mailアドレス)を -r オプションで "envelope sender address" に指定する必要があった。例えば以下のように。
% sendmail -r username alice@wonderland.net < mailbody
一昔前はダイレクトにメールを送ることができたものだが。。。スパム対策などのため、仕方が無い。
コメント