Fool Pool

ハマった記

Haraka -- アウトバウンド転送サーバーの設定

Harakaから直接外にメール送れるのかと思っていたが、どうやら違うらしい。 SMTPサーバには2つの役割があって、

  1. 外から送られてきたメールをインバウンドに転送する
  2. ドメイン内から来たメールを、アウトバウンドに転送する

デフォルトの Haraka は 1 の機能しかない。

2を実装するには、アウトバウンド向けの転送サーバを新たに設定する必要がある。

今回は、SMTPプロトコルの「リレー」という機能を使い、アウトバウンド向けのメールを、GmailのSTMPサーバーに転送するサーバーを作る。

アウトバウンドメール転送サーバーの設定

アウトバウンド向け転送用のプロジェクトを新たに作る。

haraka -i haraka-outbound

cd haraka-outbound

ポート設定

使用するポートを25から587に変更。

vi config/smtp.ini

以下の一行を追加:

listen=[::0]:587

プラグインの設定

今回はアウトバウンド転送機能のみ使うので、auth/flat_file のみロードする。

echo "auth/flat_file" > config/plugins

認証設定

vi config/auth_flat_file.ini

[users]項目に以下を追加:

youraccount@gmail.com=passwod

サーバーの起動

$ haraka -c haraka-outbound

これでポート587を使ってアウトバウンドにメールが転送できるようになる。

転送テスト

swaksというツールを使ってテストしよう。

brew でインストールする

sudo brew install swaks

宛先など、適当なパラメータを入れる。

swaks -tls -f your@yourmain.com -t someone@someone.com -s smtp.gmail.com -p 587 -au you@gmail.com -ap passwordxxx

「-tls」オプションを忘れずに。送り先にテストメールが送られてくれば成功。

件名: test Sun, 13 Apr 2014 17:19:17 +0900

本文: This is a test mailing

[ソース] http://haraka.github.io/manual/Outbound.html