memiah.mail-relay
Postfixメールリレー
メールリレーを介して送信するためにPostfixを設定します。たとえば、Amazon SESを使用します。
要件
選択したメールリレーオプションがAmazon AWS SESを使用する場合、「AmazonSesSendingAccess-[ユーザー名]」というIAMユーザーポリシーを作成します。例えば:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource": "*"
}
]
}
役割変数
利用可能な変数は以下に示され、デフォルト値も記載されています(defaults/main.yml
を参照):
postfix_relay_enabled
: True
デフォルトでPostfixの設定は有効です。無効にするにはFalse
に設定します。
postfix_relay_server
: ""
Postfixリレーサーバのホスト名。例:"email-smtp.region.amazonaws.com"。
postfix_relay_port
: 587
Postfixリレーサーバのポート。
postfix_myhostname
: False
myhostnameパラメーターは、メールシステムのインターネットホスト名を指定します。デフォルトはgethostname()から取得した完全修飾ドメイン名を使用します。$myhostnameは他の多くの設定パラメーターのデフォルト値として使用されます。
postfix_mydomain
: False
mydomainパラメーターは、ローカルインターネットドメイン名を指定します。デフォルトは$myhostnameの最初の部分を除いたものです。$mydomainは他の多くの設定パラメーターのデフォルト値として使用されます。
postfix_myorigin
: False
myoriginパラメーターは、ローカルで送信されたメールがどのドメインから来ているように見えるかを指定します。デフォルトは$myhostnameを追加することになっています。複数のマシンを持つドメインを運営している場合、(1)これを$mydomainに変更し、(2)各ユーザーをuser@that.users.mailhostにエイリアスするドメイン全体のエイリアスデータベースを設定する必要があります。
一貫性を保つため、myoriginは、@ドメイン部分のない受信者アドレスに追加されるデフォルトのドメイン名も指定します。
postfix_relay_recipient_canonical_maps
: regexp:/etc/postfix/recipient_canonical_maps
封筒およびヘッダー受信者アドレスのアドレスマッピングルックアップテーブル。デフォルトではregexpテーブルが使用されます。
postfix_relay_recipient_canonical
: []- pattern: "/./" (必須)
address: "redirect@email.domain" (必須)
正規表現テーブル形式に基づく標準受信者のリスト。
postfix_relay_recipient_canonical_classes
: envelope_recipient
canonical_mapsアドレスマッピングの対象となるアドレス。指定できる値:envelope_sender
、envelope_recipient
、header_sender
、header_recipient
のいずれか。
postfix_relay_catch_all_address
: Falsepostfix_relay_catch_all_address: redirect@email.domain
すべてのメールをリダイレクトするためのメールアドレス。デフォルトでは無効で、一般的には開発環境でのみ有効にするべきです。指定すると、すべてのpostfix_relay_recipient_canonical
項目を上書きします。
postfix_relay_catch_all_pattern
: /./
すべてのメールをトラップし、キャッチオールアドレスに送信するためのデフォルト(正規表現)パターン。
postfix_virtual_alias_maps
:- address: root alias: root@localhost
仮想エイリアスを設定することで、ローカルアカウントにメールを配信します。デフォルトでは、root
宛てのメールはroot@localhost
に送信されます(ローカルに配信)。デフォルトのエイリアスをすべて無効にするには、この値をFalse
に設定します。
postfix_relayhost_maps
: []- domain: "@domain.com" (必須)
server: "" (オプション、デフォルトはpostfix_relay_server)
port: 587 (オプション、デフォルトはpostfix_relay_port)
user: "user-here" (オプション、デフォルトはpostfix_relay_user)
password: "password-here" (オプション、デフォルトはpostfix_relay_password)
smtp_sender_dependent_authentication
を有効にし、送信者のメールアドレスに応じて異なる資格情報で複数のホストを介してメールを中継できるようにします。ドメイン値は、[email protected]
のフルアドレスとして指定するか、@domain.com
のワイルドカードとして指定できます。(Postfixリレーhost_mapドキュメントを参照。)
postfix_relay_user
: ""
Postfixリレー用のユーザーを設定します。
postfix_relay_password
: ""
リレーサーバのパスワードを設定します。
postfix_relay_secret_key
: "secret-key-here"
指定されたAWSシークレットキーからリレーパスワードを生成します。あるいは、既存のAWSシークレットキーをAmazon SES SMTPパスワードに変換して、手動でpostfix_relay_password
値を入力することも可能です。付属のbashスクリプトを使用して:
./scripts/aws-ses-smtp-password.sh secret-key-here
依存関係
なし。
例プレイブック
ユーザー向けに、パラメーターとして渡される変数を含む役割の使い方の例を示します:
- hosts: servers
become: yes
vars_files:
- vars/main.yml
roles:
- memiah.mail-relay
vars/main.yml
内の内容:
postfix_relay_user: "user_here"
postfix_relay_password: "password_here"
postfix_relay_server: "email-smtp.region.amazonaws.com"
ライセンス
MIT / BSD
著者情報
この役割は2016年にMemiah Limitedによって作成されました。