Postfixでリモートメール送信

RasPiで動作中の Postfix メールサーバ。これまではローカルの配信のみだったけれど、リモート配信を試してみたところ、なんとかうまく行く方法が見つかった。

参考にしたのは、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

一昔前はダイレクトにメールを送ることができたものだが。。。スパム対策などのため、仕方が無い。

コメント

このブログの人気の投稿

Gbps でなく GT/s

HCSLに33オームの直列抵抗が必要な理由

PowerShellによるExcel/PowerPointの操作