Contents
- 1 Postfixについて
- 1.1 用語
- 1.1.1 スプール
- 1.1.2 バウンスメール
- 1.1.3 レシピエント(recipient)
- 1.1.4 ルーティング(配送)
- 1.1.5 オープンリレー
- 1.1.6 ローカルパート
- 1.1.7 ドメインパート
- 1.1.8 パーセントハック(sender-specified routing)
- 1.1.9 VERP(Variable envelope return path)
- 1.1.10 MIME (マイム : Multipurpose Internet Mail Extensions (多目的インターネットメール拡張))
- 1.1.11 エンベロープアドレス
- 1.1.12 拡張メールアドレス
- 1.1.13 pseudo-cohort
- 1.1.14 トランスポート
- 1.1.15 RBL(Real-time Blackhole List)
- 1.1.16 owner alias (オーナーエイリアス)
- 1.1.17 Delivered-Toヘッダ
- 1.1.18 SMTPS / SMTP STARTTLS
- 1.1.19 サブミッションポート
- 1.2 機能
- 1.1 用語
- 2 サーバー構築
- 3 Postfixの構築
- 3.1 ソースインストール時のオプション
- 3.1.1 Makefile生成オプション
- 3.1.1.1 各種パス
- 3.1.1.1.1 command_directory
- 3.1.1.1.2 config_directory
- 3.1.1.1.3 daemon_directory
- 3.1.1.1.4 data_directory
- 3.1.1.1.5 html_directory
- 3.1.1.1.6 mail_spool_directory
- 3.1.1.1.7 mailq_path
- 3.1.1.1.8 manpage_directory
- 3.1.1.1.9 meta_directory
- 3.1.1.1.10 newaliases_path
- 3.1.1.1.11 queue_directory
- 3.1.1.1.12 readme_directory
- 3.1.1.1.13 sendmail_path
- 3.1.1.1.14 shlib_directory
- 3.1.1.1.15 openssl_path
- 3.1.1.2 その他
- 3.1.1.1 各種パス
- 3.1.2 インストールオプション
- 3.1.1 Makefile生成オプション
- 3.2 Postfixのインストール
- 3.1 ソースインストール時のオプション
- 4 Postfix設定
- 4.1 main.cf
- 4.1.1 記法
- 4.1.2 標準設定一覧
- 4.1.3 設定ファイルの記述誤りの確認
- 4.1.4 データベースについて
- 4.1.4.1 設定中でのデータベースの指定方法
- 4.1.4.1.1 データベースタイプ
- 4.1.4.1.1.1 btree
- 4.1.4.1.1.2 cdb
- 4.1.4.1.1.3 cidr
- 4.1.4.1.1.4 dbm
- 4.1.4.1.1.5 environ
- 4.1.4.1.1.6 fail
- 4.1.4.1.1.7 hash
- 4.1.4.1.1.8 inline
- 4.1.4.1.1.9 internal
- 4.1.4.1.1.10 lmdb
- 4.1.4.1.1.11 ldap
- 4.1.4.1.1.12 memcache
- 4.1.4.1.1.13 mysql
- 4.1.4.1.1.14 netinfo
- 4.1.4.1.1.15 nis
- 4.1.4.1.1.16 nisplus
- 4.1.4.1.1.17 pcre
- 4.1.4.1.1.18 pipemap
- 4.1.4.1.1.19 pgsql
- 4.1.4.1.1.20 proxy
- 4.1.4.1.1.21 randmap
- 4.1.4.1.1.22 regexp
- 4.1.4.1.1.23 sdbm
- 4.1.4.1.1.24 socketmap
- 4.1.4.1.1.25 sqlite
- 4.1.4.1.1.26 static
- 4.1.4.1.1.27 tcp
- 4.1.4.1.1.28 texthash
- 4.1.4.1.1.29 unionmap
- 4.1.4.1.1.30 unix
- 4.1.4.1.1 データベースタイプ
- 4.1.4.1 設定中でのデータベースの指定方法
- 4.1.5 基本設定
- 4.1.5.1 各種パス
- 4.1.5.1.1 mail_spool_directory
- 4.1.5.1.2 command_directory
- 4.1.5.1.3 config_directory
- 4.1.5.1.4 data_directory
- 4.1.5.1.5 html_directory
- 4.1.5.1.6 mailq_path
- 4.1.5.1.7 manpage_directory
- 4.1.5.1.8 meta_directory
- 4.1.5.1.9 newaliases_path
- 4.1.5.1.10 queue_directory
- 4.1.5.1.11 readme_directory
- 4.1.5.1.12 sample_directory
- 4.1.5.1.13 sendmail_path
- 4.1.5.1.14 shlib_directory
- 4.1.5.2 サービス名
- 4.1.5.2.1 bounce_service_name
- 4.1.5.2.2 cleanup_service_name
- 4.1.5.2.3 connection_cache_service_name
- 4.1.5.2.4 defer_service_name
- 4.1.5.2.5 dnsblog_service_name
- 4.1.5.2.6 error_service_name
- 4.1.5.2.7 flush_service_name
- 4.1.5.2.8 pickup_service_name
- 4.1.5.2.9 proxymap_service_name
- 4.1.5.2.10 proxywrite_service_name
- 4.1.5.2.11 queue_service_name
- 4.1.5.2.12 rewrite_service_name
- 4.1.5.2.13 showq_service_name
- 4.1.5.2.14 smtpd_service_name
- 4.1.5.2.15 tlsmgr_service_name
- 4.1.5.2.16 tlsproxy_service_name
- 4.1.5.2.17 trace_service_name
- 4.1.5.3 ネットワーク
- 4.1.5.4 Postfix
- 4.1.5.5 他
- 4.1.5.1 各種パス
- 4.1.6 ログ
- 4.1.7 メール送信全般
- 4.1.8 メール受信全般
- 4.1.8.1 ローカル配送
- 4.1.8.1.1 default_privs
- 4.1.8.1.2 command_execution_directory
- 4.1.8.1.3 execution_directory_expansion_filter
- 4.1.8.1.4 mailbox_transport
- 4.1.8.1.5 mailbox_transport_maps
- 4.1.8.1.6 mailbox_command
- 4.1.8.1.7 mailbox_command_maps
- 4.1.8.1.8 home_mailbox
- 4.1.8.1.9 fallback_transport
- 4.1.8.1.10 fallback_transport_maps
- 4.1.8.1.11 luser_relay
- 4.1.8.1.12 mailbox_delivery_lock
- 4.1.8.1.13 command_expansion_filter
- 4.1.8.1.14 command_time_limit
- 4.1.8.1.15 mailbox_size_limit
- 4.1.8.1.16 forward_path
- 4.1.8.1.17 forward_expansion_filter
- 4.1.8.1.18 pipe_delivery_status_filter
- 4.1.8.1.19 local_command_shell
- 4.1.8.1.20 local_delivery_slot_cost
- 4.1.8.1.21 local_delivery_slot_discount
- 4.1.8.1.22 local_delivery_slot_loan
- 4.1.8.1.23 local_delivery_status_filter
- 4.1.8.1.24 local_destination_concurrency_failed_cohort_limit
- 4.1.8.1.25 local_destination_concurrency_limit
- 4.1.8.1.26 local_destination_concurrency_negative_feedback
- 4.1.8.1.27 local_destination_concurrency_positive_feedback
- 4.1.8.1.28 local_destination_rate_delay
- 4.1.8.1.29 local_destination_recipient_limit
- 4.1.8.1.30 local_extra_recipient_limit
- 4.1.8.1.31 local_header_rewrite_clients
- 4.1.8.1.32 local_initial_destination_concurrency
- 4.1.8.1.33 local_minimum_delivery_slots
- 4.1.8.1.34 local_recipient_limit
- 4.1.8.1.35 local_recipient_maps
- 4.1.8.1.36 local_recipient_refill_delay
- 4.1.8.1.37 local_recipient_refill_limit
- 4.1.8.1.38 local_transport
- 4.1.8.1.39 local_transport_rate_delay
- 4.1.8.1.40 allow_mail_to_files
- 4.1.8.1.41 allow_mail_to_files
- 4.1.8.1.42 require_home_directory
- 4.1.8.1.43 strict_mailbox_ownership
- 4.1.8.2 エラー
- 4.1.8.3 検査
- 4.1.8.3.1 body_checks
- 4.1.8.3.2 body_checks_size_limit
- 4.1.8.3.3 header_address_token_limit
- 4.1.8.3.4 header_checks
- 4.1.8.3.5 header_size_limit
- 4.1.8.3.6 nested_header_checks
- 4.1.8.3.7 default_rbl_reply
- 4.1.8.3.8 rbl_reply_maps
- 4.1.8.3.9 internal_mail_filter_classes
- 4.1.8.3.10 receive_override_options
- 4.1.8.3.11 remote_header_rewrite_domain
- 4.1.8.3.12 relocated_maps
- 4.1.8.3.13 strict_7bit_headers
- 4.1.8.3.14 strict_8bitmime
- 4.1.8.3.15 strict_8bitmime_body
- 4.1.8.3.16 strict_mime_encoding_domain
- 4.1.8.3.17 strict_rfc821_envelopes
- 4.1.8.3.18 strict_smtputf8
- 4.1.8.4 書き換え
- 4.1.8.5 その他
- 4.1.8.1 ローカル配送
- 4.1.9 メール送受信全般
- 4.1.9.1 書き換え
- 4.1.9.1.1 local_header_rewrite_clients
- 4.1.9.1.2 always_add_missing_headers
- 4.1.9.1.3 append_at_myorigin
- 4.1.9.1.4 append_dot_mydomain
- 4.1.9.1.5 remote_header_rewrite_domain
- 4.1.9.1.6 allow_percent_hack
- 4.1.9.1.7 always_bcc =
- 4.1.9.1.8 canonical_classes
- 4.1.9.1.9 canonical_maps
- 4.1.9.1.10 sender_canonical_classes
- 4.1.9.1.11 sender_canonical_maps
- 4.1.9.1.12 default_delivery_status_filter
- 4.1.9.1.13 empty_address_recipient
- 4.1.9.1.14 message_drop_headers
- 4.1.9.1.15 message_reject_characters
- 4.1.9.1.16 message_strip_characters
- 4.1.9.1.17 resolve_numeric_domain
- 4.1.9.2 エラー
- 4.1.9.3 MIME
- 4.1.9.4 SMTPUTF8
- 4.1.9.5 その他
- 4.1.9.1 書き換え
- 4.1.10 エイリアス
- 4.1.11 メールアドレス検証
- 4.1.11.1 address_verify_cache_cleanup_interval
- 4.1.11.2 address_verify_default_transport
- 4.1.11.3 address_verify_local_transport
- 4.1.11.4 address_verify_map
- 4.1.11.5 address_verify_negative_cache
- 4.1.11.6 address_verify_negative_expire_time
- 4.1.11.7 address_verify_negative_refresh_time
- 4.1.11.8 address_verify_pending_request_limit
- 4.1.11.9 address_verify_poll_count
- 4.1.11.10 address_verify_poll_delay
- 4.1.11.11 address_verify_positive_expire_time
- 4.1.11.12 address_verify_positive_refresh_time
- 4.1.11.13 address_verify_relay_transport
- 4.1.11.14 address_verify_relayhost
- 4.1.11.15 address_verify_sender
- 4.1.11.16 address_verify_sender_dependent_default_transport_maps
- 4.1.11.17 address_verify_sender_dependent_relayhost_maps
- 4.1.11.18 address_verify_sender_ttl
- 4.1.11.19 address_verify_transport_maps
- 4.1.11.20 address_verify_virtual_transport
- 4.1.12 セキュリティ
- 4.1.13 メールフィルタ
- 4.1.13.1 postscreen
- 4.1.13.1.1 postscreen_access_list
- 4.1.13.1.2 postscreen_bare_newline_action
- 4.1.13.1.3 postscreen_bare_newline_enable
- 4.1.13.1.4 postscreen_bare_newline_ttl
- 4.1.13.1.5 postscreen_blacklist_action
- 4.1.13.1.6 postscreen_cache_cleanup_interval
- 4.1.13.1.7 postscreen_cache_map
- 4.1.13.1.8 postscreen_cache_retention_time
- 4.1.13.1.9 postscreen_client_connection_count_limit
- 4.1.13.1.10 postscreen_command_count_limit
- 4.1.13.1.11 postscreen_command_filter
- 4.1.13.1.12 postscreen_command_time_limit
- 4.1.13.1.13 postscreen_disable_vrfy_command
- 4.1.13.1.14 postscreen_discard_ehlo_keyword_address_maps
- 4.1.13.1.15 postscreen_discard_ehlo_keywords
- 4.1.13.1.16 postscreen_dnsbl_action
- 4.1.13.1.17 postscreen_dnsbl_max_ttl
- 4.1.13.1.18 postscreen_dnsbl_min_ttl
- 4.1.13.1.19 postscreen_dnsbl_reply_map
- 4.1.13.1.20 postscreen_dnsbl_sites
- 4.1.13.1.21 postscreen_dnsbl_threshold
- 4.1.13.1.22 postscreen_dnsbl_timeout
- 4.1.13.1.23 postscreen_dnsbl_whitelist_threshold
- 4.1.13.1.24 postscreen_enforce_tls
- 4.1.13.1.25 postscreen_expansion_filter
- 4.1.13.1.26 postscreen_forbidden_commands
- 4.1.13.1.27 postscreen_greet_action
- 4.1.13.1.28 postscreen_greet_banner
- 4.1.13.1.29 postscreen_greet_ttl
- 4.1.13.1.30 postscreen_greet_wait
- 4.1.13.1.31 postscreen_helo_required
- 4.1.13.1.32 postscreen_non_smtp_command_action
- 4.1.13.1.33 postscreen_non_smtp_command_enable
- 4.1.13.1.34 postscreen_non_smtp_command_ttl
- 4.1.13.1.35 postscreen_pipelining_action
- 4.1.13.1.36 postscreen_pipelining_enable
- 4.1.13.1.37 postscreen_pipelining_ttl
- 4.1.13.1.38 postscreen_post_queue_limit
- 4.1.13.1.39 postscreen_pre_queue_limit
- 4.1.13.1.40 postscreen_reject_footer
- 4.1.13.1.41 postscreen_tls_security_level
- 4.1.13.1.42 postscreen_upstream_proxy_protocol
- 4.1.13.1.43 postscreen_upstream_proxy_timeout
- 4.1.13.1.44 postscreen_use_tls
- 4.1.13.1.45 postscreen_watchdog_timeout
- 4.1.13.1.46 postscreen_whitelist_interfaces
- 4.1.13.2 Milter
- 4.1.13.2.1 milter_command_timeout
- 4.1.13.2.2 milter_connect_macros
- 4.1.13.2.3 milter_connect_timeout
- 4.1.13.2.4 milter_content_timeout
- 4.1.13.2.5 milter_data_macros
- 4.1.13.2.6 milter_default_action
- 4.1.13.2.7 milter_end_of_data_macros
- 4.1.13.2.8 milter_end_of_header_macros
- 4.1.13.2.9 milter_header_checks
- 4.1.13.2.10 milter_helo_macros
- 4.1.13.2.11 milter_macro_daemon_name
- 4.1.13.2.12 milter_macro_defaults
- 4.1.13.2.13 milter_macro_v
- 4.1.13.2.14 milter_mail_macros
- 4.1.13.2.15 milter_protocol
- 4.1.13.2.16 milter_rcpt_macros
- 4.1.13.2.17 milter_unknown_command_macros
- 4.1.13.2.18 non_smtpd_milters
- 4.1.13.1 postscreen
- 4.1.14 パフォーマンス
- 4.1.14.1 application_event_drain_time
- 4.1.14.2 daemon_timeout
- 4.1.14.3 default_destination_concurrency_limit
- 4.1.14.4 default_destination_concurrency_negative_feedback
- 4.1.14.5 default_destination_concurrency_positive_feedback
- 4.1.14.6 default_destination_rate_delay
- 4.1.14.7 default_destination_recipient_limit
- 4.1.14.8 default_extra_recipient_limit
- 4.1.14.9 default_minimum_delivery_slots
- 4.1.14.10 default_process_limit
- 4.1.14.11 default_recipient_limit
- 4.1.14.12 default_recipient_refill_delay
- 4.1.14.13 default_recipient_refill_limit
- 4.1.14.14 default_transport_rate_delay
- 4.1.14.15 duplicate_filter_limit
- 4.1.14.16 default_destination_concurrency_failed_cohort_limit
- 4.1.14.17 fork_attempts
- 4.1.14.18 fork_delay
- 4.1.14.19 hash_queue_names
- 4.1.14.20 hash_queue_depth
- 4.1.14.21 in_flow_delay
- 4.1.14.22 initial_destination_concurrency
- 4.1.14.23 line_length_limit
- 4.1.14.24 max_idle
- 4.1.14.25 max_use
- 4.1.14.26 minimal_backoff_time
- 4.1.14.27 maximal_backoff_time
- 4.1.14.28 maximal_queue_lifetime
- 4.1.14.29 service_throttle_time
- 4.1.14.30 stale_lock_time
- 4.1.14.31 stress
- 4.1.14.32 transport_retry_time
- 4.1.14.33 trigger_timeout
- 4.1.14.34 クライアント間キャッシュ
- 4.1.14.35 IPC
- 4.1.15 データベース
- 4.1.16 バーチャルドメイン
- 4.1.16.1 virtual_alias_address_length_limit
- 4.1.16.2 virtual_alias_domains
- 4.1.16.3 virtual_alias_expansion_limit
- 4.1.16.4 virtual_alias_maps
- 4.1.16.5 virtual_alias_recursion_limit
- 4.1.16.6 virtual_delivery_slot_cost
- 4.1.16.7 virtual_delivery_slot_discount
- 4.1.16.8 virtual_delivery_slot_loan
- 4.1.16.9 virtual_delivery_status_filter
- 4.1.16.10 virtual_destination_concurrency_failed_cohort_limit
- 4.1.16.11 virtual_destination_concurrency_limit
- 4.1.16.12 virtual_destination_concurrency_negative_feedback
- 4.1.16.13 virtual_destination_concurrency_positive_feedback
- 4.1.16.14 virtual_destination_rate_delay
- 4.1.16.15 virtual_destination_recipient_limit
- 4.1.16.16 virtual_extra_recipient_limit
- 4.1.16.17 virtual_gid_maps
- 4.1.16.18 virtual_initial_destination_concurrency
- 4.1.16.19 virtual_mailbox_base
- 4.1.16.20 virtual_mailbox_domains
- 4.1.16.21 virtual_mailbox_limit
- 4.1.16.22 virtual_mailbox_lock
- 4.1.16.23 virtual_mailbox_maps
- 4.1.16.24 virtual_minimum_delivery_slots
- 4.1.16.25 virtual_minimum_uid
- 4.1.16.26 virtual_recipient_limit
- 4.1.16.27 virtual_recipient_refill_delay
- 4.1.16.28 virtual_recipient_refill_limit
- 4.1.16.29 virtual_transport
- 4.1.16.30 virtual_transport_rate_delay
- 4.1.16.31 virtual_uid_maps
- 4.1.17 LMTP
- 4.1.17.1 lmtp_address_preference
- 4.1.17.2 lmtp_address_verify_target
- 4.1.17.3 lmtp_assume_final
- 4.1.17.4 lmtp_bind_address
- 4.1.17.5 lmtp_bind_address6
- 4.1.17.6 lmtp_body_checks
- 4.1.17.7 lmtp_cname_overrides_servername
- 4.1.17.8 lmtp_connect_timeout
- 4.1.17.9 lmtp_connection_cache_destinations
- 4.1.17.10 lmtp_connection_cache_on_demand
- 4.1.17.11 lmtp_connection_cache_time_limit
- 4.1.17.12 lmtp_connection_reuse_count_limit
- 4.1.17.13 lmtp_connection_reuse_time_limit
- 4.1.17.14 lmtp_data_done_timeout
- 4.1.17.15 lmtp_data_init_timeout
- 4.1.17.16 lmtp_data_xfer_timeout
- 4.1.17.17 lmtp_defer_if_no_mx_address_found
- 4.1.17.18 lmtp_delivery_slot_cost
- 4.1.17.19 lmtp_delivery_slot_discount
- 4.1.17.20 lmtp_delivery_slot_loan
- 4.1.17.21 lmtp_delivery_status_filter
- 4.1.17.22 lmtp_destination_concurrency_failed_cohort_limit
- 4.1.17.23 lmtp_destination_concurrency_limit
- 4.1.17.24 lmtp_destination_concurrency_negative_feedback
- 4.1.17.25 lmtp_destination_concurrency_positive_feedback
- 4.1.17.26 lmtp_destination_rate_delay
- 4.1.17.27 lmtp_destination_recipient_limit
- 4.1.17.28 lmtp_discard_lhlo_keyword_address_maps
- 4.1.17.29 lmtp_discard_lhlo_keywords
- 4.1.17.30 lmtp_dns_reply_filter
- 4.1.17.31 lmtp_dns_resolver_options
- 4.1.17.32 lmtp_dns_support_level
- 4.1.17.33 lmtp_enforce_tls
- 4.1.17.34 lmtp_extra_recipient_limit
- 4.1.17.35 lmtp_fallback_relay
- 4.1.17.36 lmtp_generic_maps
- 4.1.17.37 lmtp_header_checks
- 4.1.17.38 lmtp_host_lookup
- 4.1.17.39 lmtp_initial_destination_concurrency
- 4.1.17.40 lmtp_lhlo_name
- 4.1.17.41 lmtp_lhlo_timeout
- 4.1.17.42 lmtp_line_length_limit
- 4.1.17.43 lmtp_mail_timeout
- 4.1.17.44 lmtp_mime_header_checks
- 4.1.17.45 lmtp_minimum_delivery_slots
- 4.1.17.46 lmtp_mx_address_limit
- 4.1.17.47 lmtp_mx_session_limit
- 4.1.17.48 lmtp_nested_header_checks
- 4.1.17.49 lmtp_per_record_deadline
- 4.1.17.50 lmtp_pix_workaround_delay_time
- 4.1.17.51 lmtp_pix_workaround_maps
- 4.1.17.52 lmtp_pix_workaround_threshold_time
- 4.1.17.53 lmtp_pix_workarounds
- 4.1.17.54 lmtp_quit_timeout
- 4.1.17.55 lmtp_quote_rfc821_envelope
- 4.1.17.56 lmtp_randomize_addresses
- 4.1.17.57 lmtp_rcpt_timeout
- 4.1.17.58 lmtp_recipient_limit
- 4.1.17.59 lmtp_recipient_refill_delay
- 4.1.17.60 lmtp_recipient_refill_limit
- 4.1.17.61 lmtp_reply_filter
- 4.1.17.62 lmtp_rset_timeout
- 4.1.17.63 lmtp_sasl_auth_cache_name
- 4.1.17.64 lmtp_sasl_auth_cache_time
- 4.1.17.65 lmtp_sasl_auth_enable
- 4.1.17.66 lmtp_sasl_auth_soft_bounce
- 4.1.17.67 lmtp_sasl_mechanism_filter
- 4.1.17.68 lmtp_sasl_password_maps
- 4.1.17.69 lmtp_sasl_path
- 4.1.17.70 lmtp_sasl_security_options
- 4.1.17.71 lmtp_sasl_tls_security_options
- 4.1.17.72 lmtp_sasl_tls_verified_security_options
- 4.1.17.73 lmtp_sasl_type
- 4.1.17.74 lmtp_send_dummy_mail_auth
- 4.1.17.75 lmtp_send_xforward_command
- 4.1.17.76 lmtp_sender_dependent_authentication
- 4.1.17.77 lmtp_skip_5xx_greeting
- 4.1.17.78 lmtp_skip_quit_response
- 4.1.17.79 lmtp_starttls_timeout
- 4.1.17.80 lmtp_tcp_port
- 4.1.17.81 lmtp_tls_CAfile
- 4.1.17.82 lmtp_tls_CApath
- 4.1.17.83 lmtp_tls_block_early_mail_reply
- 4.1.17.84 lmtp_tls_cert_file
- 4.1.17.85 lmtp_tls_ciphers
- 4.1.17.86 lmtp_tls_dcert_file
- 4.1.17.87 lmtp_tls_dkey_file
- 4.1.17.88 lmtp_tls_eccert_file
- 4.1.17.89 lmtp_tls_eckey_file
- 4.1.17.90 lmtp_tls_enforce_peername
- 4.1.17.91 lmtp_tls_exclude_ciphers
- 4.1.17.92 lmtp_tls_fingerprint_cert_match
- 4.1.17.93 lmtp_tls_fingerprint_digest
- 4.1.17.94 lmtp_tls_force_insecure_host_tlsa_lookup
- 4.1.17.95 lmtp_tls_key_file
- 4.1.17.96 lmtp_tls_loglevel
- 4.1.17.97 lmtp_tls_mandatory_ciphers
- 4.1.17.98 lmtp_tls_mandatory_exclude_ciphers
- 4.1.17.99 lmtp_tls_mandatory_protocols
- 4.1.17.100 lmtp_tls_note_starttls_offer
- 4.1.17.101 lmtp_tls_per_site
- 4.1.17.102 lmtp_tls_policy_maps
- 4.1.17.103 lmtp_tls_protocols
- 4.1.17.104 lmtp_tls_scert_verifydepth
- 4.1.17.105 lmtp_tls_secure_cert_match
- 4.1.17.106 lmtp_tls_security_level
- 4.1.17.107 lmtp_tls_session_cache_database
- 4.1.17.108 lmtp_tls_session_cache_timeout
- 4.1.17.109 lmtp_tls_trust_anchor_file
- 4.1.17.110 lmtp_tls_verify_cert_match
- 4.1.17.111 lmtp_tls_wrappermode
- 4.1.17.112 lmtp_transport_rate_delay
- 4.1.17.113 lmtp_use_tls
- 4.1.17.114 lmtp_xforward_timeout
- 4.1.18 キュー管理
- 4.1.18.1 qmgr_clog_warn_time
- 4.1.18.2 qmgr_daemon_timeout
- 4.1.18.3 qmgr_fudge_factor
- 4.1.18.4 qmgr_ipc_timeout
- 4.1.18.5 qmgr_message_active_limit
- 4.1.18.6 qmgr_message_recipient_limit
- 4.1.18.7 qmgr_message_recipient_minimum
- 4.1.18.8 queue_file_attribute_count_limit
- 4.1.18.9 queue_minfree
- 4.1.18.10 queue_run_delay
- 4.1.18.11 delay_warning_time
- 4.1.18.12 delay_notice_recipient
- 4.1.19 SMTPコード変更
- 4.1.19.1 defer_code
- 4.1.19.2 unknown_address_reject_code
- 4.1.19.3 unknown_client_reject_code
- 4.1.19.4 unknown_hostname_reject_code
- 4.1.19.5 unknown_local_recipient_reject_code
- 4.1.19.6 unknown_relay_recipient_reject_code
- 4.1.19.7 unknown_virtual_alias_reject_code
- 4.1.19.8 unknown_virtual_mailbox_reject_code
- 4.1.19.9 unverified_recipient_defer_code
- 4.1.19.10 unverified_recipient_reject_code
- 4.1.19.11 unverified_sender_defer_code
- 4.1.19.12 unverified_sender_reject_code
- 4.1.19.13 invalid_hostname_reject_code
- 4.1.19.14 maps_rbl_reject_code
- 4.1.19.15 multi_recipient_bounce_reject_code
- 4.1.19.16 non_fqdn_reject_code
- 4.1.19.17 plaintext_reject_code
- 4.1.19.18 reject_code
- 4.1.19.19 relay_domains_reject_code
- 4.1.20 postmulti
- 4.1.21 遅延再送
- 4.1.22 エラー再送
- 4.1.22.1 retry_delivery_slot_cost
- 4.1.22.2 retry_delivery_slot_discount
- 4.1.22.3 retry_delivery_slot_loan
- 4.1.22.4 retry_destination_concurrency_failed_cohort_limit
- 4.1.22.5 retry_destination_concurrency_limit
- 4.1.22.6 retry_destination_concurrency_negative_feedback
- 4.1.22.7 retry_destination_concurrency_positive_feedback
- 4.1.22.8 retry_destination_rate_delay
- 4.1.22.9 retry_destination_recipient_limit
- 4.1.22.10 retry_extra_recipient_limit
- 4.1.22.11 retry_initial_destination_concurrency
- 4.1.22.12 retry_minimum_delivery_slots
- 4.1.22.13 retry_recipient_limit
- 4.1.22.14 retry_recipient_refill_delay
- 4.1.22.15 retry_recipient_refill_limit
- 4.1.22.16 retry_transport_rate_delay
- 4.1.23 TLS全般
- 4.1.23.1 openssl_path
- 4.1.23.2 tls_append_default_CA
- 4.1.23.3 tls_daemon_random_bytes
- 4.1.23.4 tls_dane_digest_agility
- 4.1.23.5 tls_dane_digests
- 4.1.23.6 tls_dane_trust_anchor_digest_enable
- 4.1.23.7 tls_disable_workarounds
- 4.1.23.8 tls_eecdh_auto_curves
- 4.1.23.9 tls_eecdh_strong_curve
- 4.1.23.10 tls_eecdh_ultra_curve
- 4.1.23.11 tls_export_cipherlist
- 4.1.23.12 tls_high_cipherlist
- 4.1.23.13 tls_legacy_public_key_fingerprints
- 4.1.23.14 tls_low_cipherlist
- 4.1.23.15 tls_medium_cipherlist
- 4.1.23.16 tls_null_cipherlist
- 4.1.23.17 tls_preempt_cipherlist
- 4.1.23.18 tls_random_bytes
- 4.1.23.19 tls_random_exchange_name
- 4.1.23.20 tls_random_prng_update_period
- 4.1.23.21 tls_random_reseed_period
- 4.1.23.22 tls_random_source
- 4.1.23.23 tls_session_ticket_cipher
- 4.1.23.24 tls_ssl_options
- 4.1.23.25 tls_wildcard_matches_multiple_labels
- 4.1.23.26 tlsproxy_enforce_tls
- 4.1.23.27 tlsproxy_tls_CAfile
- 4.1.23.28 tlsproxy_tls_CApath
- 4.1.23.29 tlsproxy_tls_always_issue_session_ids
- 4.1.23.30 tlsproxy_tls_ask_ccert
- 4.1.23.31 tlsproxy_tls_ccert_verifydepth
- 4.1.23.32 tlsproxy_tls_cert_file
- 4.1.23.33 tlsproxy_tls_ciphers
- 4.1.23.34 tlsproxy_tls_dcert_file
- 4.1.23.35 tlsproxy_tls_dh1024_param_file
- 4.1.23.36 tlsproxy_tls_dh512_param_file
- 4.1.23.37 tlsproxy_tls_dkey_file
- 4.1.23.38 tlsproxy_tls_eccert_file
- 4.1.23.39 tlsproxy_tls_eckey_file
- 4.1.23.40 tlsproxy_tls_eecdh_grade
- 4.1.23.41 tlsproxy_tls_exclude_ciphers
- 4.1.23.42 tlsproxy_tls_fingerprint_digest
- 4.1.23.43 tlsproxy_tls_key_file
- 4.1.23.44 tlsproxy_tls_loglevel
- 4.1.23.45 tlsproxy_tls_mandatory_ciphers
- 4.1.23.46 tlsproxy_tls_mandatory_exclude_ciphers
- 4.1.23.47 tlsproxy_tls_mandatory_protocols
- 4.1.23.48 tlsproxy_tls_protocols
- 4.1.23.49 tlsproxy_tls_req_ccert
- 4.1.23.50 tlsproxy_tls_security_level
- 4.1.23.51 tlsproxy_use_tls
- 4.1.23.52 tlsproxy_watchdog_timeout
- 4.1.24 SMTPクライアント
- 4.1.24.1 smtp_address_preference
- 4.1.24.2 smtp_address_verify_target
- 4.1.24.3 smtp_always_send_ehlo
- 4.1.24.4 smtp_bind_address
- 4.1.24.5 smtp_bind_address6
- 4.1.24.6 smtp_body_checks
- 4.1.24.7 smtp_cname_overrides_servername
- 4.1.24.8 smtp_connect_timeout
- 4.1.24.9 smtp_connection_cache_destinations
- 4.1.24.10 smtp_connection_cache_on_demand
- 4.1.24.11 smtp_connection_cache_time_limit
- 4.1.24.12 smtp_connection_reuse_count_limit
- 4.1.24.13 smtp_connection_reuse_time_limit
- 4.1.24.14 smtp_data_done_timeout
- 4.1.24.15 smtp_data_init_timeout
- 4.1.24.16 smtp_data_xfer_timeout
- 4.1.24.17 smtp_defer_if_no_mx_address_found
- 4.1.24.18 smtp_delivery_slot_cost
- 4.1.24.19 smtp_delivery_slot_discount
- 4.1.24.20 smtp_delivery_slot_loan
- 4.1.24.21 smtp_delivery_status_filter
- 4.1.24.22 smtp_destination_concurrency_failed_cohort_limit
- 4.1.24.23 smtp_destination_concurrency_limit
- 4.1.24.24 smtp_destination_concurrency_negative_feedback
- 4.1.24.25 smtp_destination_concurrency_positive_feedback
- 4.1.24.26 smtp_destination_rate_delay
- 4.1.24.27 smtp_destination_recipient_limit
- 4.1.24.28 smtp_discard_ehlo_keyword_address_maps
- 4.1.24.29 smtp_discard_ehlo_keywords
- 4.1.24.30 smtp_dns_reply_filter
- 4.1.24.31 smtp_dns_resolver_options
- 4.1.24.32 smtp_dns_support_level
- 4.1.24.33 smtp_enforce_tls
- 4.1.24.34 smtp_extra_recipient_limit
- 4.1.24.35 smtp_fallback_relay
- 4.1.24.36 smtp_generic_maps
- 4.1.24.37 smtp_header_checks
- 4.1.24.38 smtp_helo_name
- 4.1.24.39 smtp_helo_timeout
- 4.1.24.40 smtp_host_lookup
- 4.1.24.41 smtp_initial_destination_concurrency
- 4.1.24.42 smtp_line_length_limit
- 4.1.24.43 smtp_mail_timeout
- 4.1.24.44 smtp_mime_header_checks
- 4.1.24.45 smtp_minimum_delivery_slots
- 4.1.24.46 smtp_mx_address_limit
- 4.1.24.47 smtp_mx_session_limit
- 4.1.24.48 smtp_nested_header_checks
- 4.1.24.49 smtp_never_send_ehlo
- 4.1.24.50 smtp_per_record_deadline
- 4.1.24.51 smtp_pix_workaround_delay_time
- 4.1.24.52 smtp_pix_workaround_maps
- 4.1.24.53 smtp_pix_workaround_threshold_time
- 4.1.24.54 smtp_pix_workarounds
- 4.1.24.55 smtp_quit_timeout
- 4.1.24.56 smtp_quote_rfc821_envelope
- 4.1.24.57 smtp_randomize_addresses
- 4.1.24.58 smtp_rcpt_timeout
- 4.1.24.59 smtp_recipient_limit
- 4.1.24.60 smtp_recipient_refill_delay
- 4.1.24.61 smtp_recipient_refill_limit
- 4.1.24.62 smtp_reply_filter
- 4.1.24.63 smtp_rset_timeout
- 4.1.24.64 smtp_sasl_auth_cache_name
- 4.1.24.65 smtp_sasl_auth_cache_time
- 4.1.24.66 smtp_sasl_auth_enable
- 4.1.24.67 smtp_sasl_auth_soft_bounce
- 4.1.24.68 smtp_sasl_mechanism_filter
- 4.1.24.69 smtp_sasl_password_maps
- 4.1.24.70 smtp_sasl_path
- 4.1.24.71 smtp_sasl_security_options
- 4.1.24.72 smtp_sasl_tls_security_options
- 4.1.24.73 smtp_sasl_tls_verified_security_options
- 4.1.24.74 smtp_sasl_type
- 4.1.24.75 smtp_send_dummy_mail_auth
- 4.1.24.76 smtp_send_xforward_command
- 4.1.24.77 smtp_sender_dependent_authentication
- 4.1.24.78 smtp_skip_5xx_greeting
- 4.1.24.79 smtp_skip_quit_response
- 4.1.24.80 smtp_starttls_timeout
- 4.1.24.81 smtp_tcp_port
- 4.1.24.82 smtp_tls_CAfile
- 4.1.24.83 smtp_tls_CApath
- 4.1.24.84 smtp_tls_block_early_mail_reply
- 4.1.24.85 smtp_tls_cert_file
- 4.1.24.86 smtp_tls_ciphers
- 4.1.24.87 smtp_tls_dane_insecure_mx_policy
- 4.1.24.88 smtp_tls_dcert_file
- 4.1.24.89 smtp_tls_dkey_file
- 4.1.24.90 smtp_tls_eccert_file
- 4.1.24.91 smtp_tls_eckey_file
- 4.1.24.92 smtp_tls_enforce_peername
- 4.1.24.93 smtp_tls_exclude_ciphers
- 4.1.24.94 smtp_tls_fingerprint_cert_match
- 4.1.24.95 smtp_tls_fingerprint_digest
- 4.1.24.96 smtp_tls_force_insecure_host_tlsa_lookup
- 4.1.24.97 smtp_tls_key_file
- 4.1.24.98 smtp_tls_loglevel
- 4.1.24.99 smtp_tls_mandatory_ciphers
- 4.1.24.100 smtp_tls_mandatory_exclude_ciphers
- 4.1.24.101 smtp_tls_mandatory_protocols
- 4.1.24.102 smtp_tls_note_starttls_offer
- 4.1.24.103 smtp_tls_per_site
- 4.1.24.104 smtp_tls_policy_maps
- 4.1.24.105 smtp_tls_protocols
- 4.1.24.106 smtp_tls_scert_verifydepth
- 4.1.24.107 smtp_tls_secure_cert_match
- 4.1.24.108 smtp_tls_security_level
- 4.1.24.109 smtp_tls_session_cache_database
- 4.1.24.110 smtp_tls_session_cache_timeout
- 4.1.24.111 smtp_tls_trust_anchor_file
- 4.1.24.112 smtp_tls_verify_cert_match
- 4.1.24.113 smtp_tls_wrappermode
- 4.1.24.114 smtp_transport_rate_delay
- 4.1.24.115 smtp_use_tls
- 4.1.24.116 smtp_xforward_timeout
- 4.1.24.117 disable_dns_lookups
- 4.1.25 SMTPサーバ
- 4.1.25.1 smtpd_authorized_xclient_hosts
- 4.1.25.2 smtpd_authorized_xforward_hosts
- 4.1.25.3 smtpd_banner
- 4.1.25.4 smtpd_client_auth_rate_limit
- 4.1.25.5 smtpd_client_connection_count_limit
- 4.1.25.6 smtpd_client_connection_rate_limit
- 4.1.25.7 smtpd_client_event_limit_exceptions
- 4.1.25.8 smtpd_client_message_rate_limit
- 4.1.25.9 smtpd_client_new_tls_session_rate_limit
- 4.1.25.10 smtpd_client_port_logging
- 4.1.25.11 smtpd_client_recipient_rate_limit
- 4.1.25.12 smtpd_client_restrictions
- 4.1.25.13 relay_clientcerts
- 4.1.25.14 smtpd_command_filter
- 4.1.25.15 smtpd_data_restrictions
- 4.1.25.16 smtpd_delay_open_until_valid_rcpt
- 4.1.25.17 smtpd_delay_reject
- 4.1.25.18 smtpd_discard_ehlo_keyword_address_maps
- 4.1.25.19 smtpd_discard_ehlo_keywords
- 4.1.25.20 smtpd_dns_reply_filter
- 4.1.25.21 smtpd_end_of_data_restrictions
- 4.1.25.22 smtpd_enforce_tls
- 4.1.25.23 smtpd_error_sleep_time
- 4.1.25.24 smtpd_etrn_restrictions
- 4.1.25.25 smtpd_expansion_filter
- 4.1.25.26 smtpd_forbidden_commands
- 4.1.25.27 smtpd_hard_error_limit
- 4.1.25.28 smtpd_helo_required
- 4.1.25.29 smtpd_helo_restrictions
- 4.1.25.30 smtpd_history_flush_threshold
- 4.1.25.31 smtpd_junk_command_limit
- 4.1.25.32 smtpd_log_access_permit_actions
- 4.1.25.33 smtpd_milter_maps
- 4.1.25.34 smtpd_milters
- 4.1.25.35 smtpd_noop_commands
- 4.1.25.36 smtpd_null_access_lookup_key
- 4.1.25.37 smtpd_peername_lookup
- 4.1.25.38 smtpd_per_record_deadline
- 4.1.25.39 smtpd_policy_service_default_action
- 4.1.25.40 smtpd_policy_service_max_idle
- 4.1.25.41 smtpd_policy_service_max_ttl
- 4.1.25.42 smtpd_policy_service_policy_context
- 4.1.25.43 smtpd_policy_service_request_limit
- 4.1.25.44 smtpd_policy_service_retry_delay
- 4.1.25.45 smtpd_policy_service_timeout
- 4.1.25.46 smtpd_policy_service_try_limit
- 4.1.25.47 smtpd_proxy_ehlo
- 4.1.25.48 smtpd_proxy_filter
- 4.1.25.49 smtpd_proxy_options
- 4.1.25.50 smtpd_proxy_timeout
- 4.1.25.51 smtpd_recipient_limit
- 4.1.25.52 smtpd_recipient_overshoot_limit
- 4.1.25.53 smtpd_recipient_restrictions
- 4.1.25.54 permit_mx_backup_networks
- 4.1.25.55 smtpd_reject_footer
- 4.1.25.56 smtpd_reject_unlisted_recipient
- 4.1.25.57 smtpd_reject_unlisted_sender
- 4.1.25.58 smtpd_relay_restrictions
- 4.1.25.59 smtpd_restriction_classes
- 4.1.25.60 smtpd_sasl_auth_enable
- 4.1.25.61 smtpd_sasl_authenticated_header
- 4.1.25.62 smtpd_sasl_exceptions_networks
- 4.1.25.63 smtpd_sasl_local_domain
- 4.1.25.64 smtpd_sasl_path
- 4.1.25.65 smtpd_sasl_security_options
- 4.1.25.66 smtpd_sasl_service
- 4.1.25.67 smtpd_sasl_tls_security_options
- 4.1.25.68 smtpd_sasl_type
- 4.1.25.69 smtpd_sender_login_maps
- 4.1.25.70 smtpd_sender_restrictions
- 4.1.25.71 unverified_recipient_reject_reason
- 4.1.25.72 unverified_recipient_tempfail_action
- 4.1.25.73 unverified_sender_reject_reason
- 4.1.25.74 unverified_sender_tempfail_action
- 4.1.25.75 smtpd_soft_error_limit
- 4.1.25.76 smtpd_starttls_timeout
- 4.1.25.77 smtpd_timeout
- 4.1.25.78 smtpd_tls_CAfile
- 4.1.25.79 smtpd_tls_CApath
- 4.1.25.80 smtpd_tls_always_issue_session_ids
- 4.1.25.81 smtpd_tls_ask_ccert
- 4.1.25.82 smtpd_tls_auth_only
- 4.1.25.83 smtpd_tls_ccert_verifydepth
- 4.1.25.84 smtpd_tls_cert_file
- 4.1.25.85 smtpd_tls_ciphers
- 4.1.25.86 smtpd_tls_dcert_file
- 4.1.25.87 smtpd_tls_dh1024_param_file
- 4.1.25.88 smtpd_tls_dh512_param_file
- 4.1.25.89 smtpd_tls_dkey_file
- 4.1.25.90 smtpd_tls_eccert_file
- 4.1.25.91 smtpd_tls_eckey_file
- 4.1.25.92 smtpd_tls_eecdh_grade
- 4.1.25.93 smtpd_tls_exclude_ciphers
- 4.1.25.94 smtpd_tls_fingerprint_digest
- 4.1.25.95 smtpd_tls_key_file
- 4.1.25.96 smtpd_tls_loglevel
- 4.1.25.97 smtpd_tls_mandatory_ciphers
- 4.1.25.98 smtpd_tls_mandatory_exclude_ciphers
- 4.1.25.99 smtpd_tls_mandatory_protocols
- 4.1.25.100 smtpd_tls_protocols
- 4.1.25.101 smtpd_tls_received_header
- 4.1.25.102 smtpd_tls_req_ccert
- 4.1.25.103 smtpd_tls_security_level
- 4.1.25.104 smtpd_tls_session_cache_database
- 4.1.25.105 smtpd_tls_session_cache_timeout
- 4.1.25.106 smtpd_tls_wrappermode
- 4.1.25.107 smtpd_upstream_proxy_protocol
- 4.1.25.108 smtpd_upstream_proxy_timeout
- 4.1.25.109 smtpd_use_tls
- 4.1.25.110 disable_vrfy_command
- 4.1.26 エラー配送
- 4.1.26.1 error_delivery_slot_cost
- 4.1.26.2 error_delivery_slot_discount
- 4.1.26.3 error_delivery_slot_loan
- 4.1.26.4 error_destination_concurrency_failed_cohort_limit
- 4.1.26.5 error_destination_concurrency_limit
- 4.1.26.6 error_destination_concurrency_negative_feedback
- 4.1.26.7 error_destination_concurrency_positive_feedback
- 4.1.26.8 error_destination_rate_delay
- 4.1.26.9 error_destination_recipient_limit
- 4.1.26.10 error_extra_recipient_limit
- 4.1.26.11 error_initial_destination_concurrency
- 4.1.26.12 error_minimum_delivery_slots
- 4.1.26.13 error_notice_recipient
- 4.1.26.14 error_recipient_limit
- 4.1.26.15 error_recipient_refill_delay
- 4.1.26.16 error_recipient_refill_limit
- 4.1.26.17 error_transport_rate_delay
- 4.1.27 リレー
- 4.1.27.1 relay_delivery_slot_cost
- 4.1.27.2 relay_delivery_slot_discount
- 4.1.27.3 relay_delivery_slot_loan
- 4.1.27.4 relay_destination_concurrency_failed_cohort_limit
- 4.1.27.5 relay_destination_concurrency_limit
- 4.1.27.6 relay_destination_concurrency_negative_feedback
- 4.1.27.7 relay_destination_concurrency_positive_feedback
- 4.1.27.8 relay_destination_rate_delay
- 4.1.27.9 relay_destination_recipient_limit
- 4.1.27.10 relay_domains
- 4.1.27.11 relay_extra_recipient_limit
- 4.1.27.12 relay_initial_destination_concurrency
- 4.1.27.13 relay_minimum_delivery_slots
- 4.1.27.14 relay_recipient_limit
- 4.1.27.15 relay_recipient_maps
- 4.1.27.16 relay_recipient_refill_delay
- 4.1.27.17 relay_recipient_refill_limit
- 4.1.27.18 relay_transport
- 4.1.27.19 relay_transport_rate_delay
- 4.1.27.20 relayhost
- 4.1.27.21 sender_dependent_relayhost_maps
- 4.1.27.22 empty_address_relayhost_maps_lookup_key
- 4.1.28 QMQP
- 4.1.29 開発者用
- 4.1.30 その他
- 4.1.30.1 alternate_config_directories
- 4.1.30.2 backwards_bounce_logfile_compatibility
- 4.1.30.3 broken_sasl_auth_clients
- 4.1.30.4 cyrus_sasl_config_path
- 4.1.30.5 daemon_table_open_error_is_fatal
- 4.1.30.6 double_bounce_sender
- 4.1.30.7 export_environment
- 4.1.30.8 import_environment
- 4.1.30.9 maps_rbl_domains
- 4.1.30.10 sendmail_fix_line_endings
- 4.1 main.cf
- 5 ツール
- 5.1 一般コマンド
- 5.2 内部プログラム
- 5.2.1 anvil
- 5.2.2 bounce
- 5.2.3 cleanup
- 5.2.4 discard
- 5.2.5 dnsblog
- 5.2.6 error
- 5.2.7 flush
- 5.2.8 lmtp
- 5.2.9 local
- 5.2.10 master
- 5.2.11 nqmgr
- 5.2.12 oqmgr
- 5.2.13 pickup
- 5.2.14 pipe
- 5.2.15 postfix-script
- 5.2.16 postfix-tls-script
- 5.2.17 postfix-wrapper
- 5.2.18 post-install
- 5.2.19 postmulti-script
- 5.2.20 postscreen
- 5.2.21 proxymap
- 5.2.22 qmgr
- 5.2.23 qmqpd
- 5.2.24 scache
- 5.2.25 showq
- 5.2.26 smtp
- 5.2.27 smtpd
- 5.2.28 spawn
- 5.2.29 tlsmgr
- 5.2.30 tlsproxy
- 5.2.31 trivial-rewrite
- 5.2.32 verify
- 5.2.33 virtual
- 6 Tips
Postfixについて
公式ページ:http://www.postfix.org/
用語
スプール
受信したメールを保存する場所のこと
バウンスメール
送信したメールが何らかの理由で送信先に正常に配信されなかった場合に、送信先メールサーバからその旨を送信元サーバに通知するメールのこと。
レシピエント(recipient)
メール受信者
ルーティング(配送)
メールサーバが発信要求がなされたメールを宛先に送ること。
自サーバ内のメールアドレスへの発信であれば、その宛先ユーザのメール保存場所へメールを格納し、そうでなければ、ふさわしいメールサーバへルーティングを依頼する。
すなわち、通常は宛先へのメール送達完了までに複数のメールサーバがそれぞれルーティングを行う。
ローカルユーザ宛のメールアドレスにルーティングすることを特に「配信」や「ローカル配送」と呼び、それ以外のメールアドレスにルーティングする為に他のメールサーバにメールを送ることを特に「転送」、「リモート配送」と呼び分けることがある。
オープンリレー
メールの発信要求を誰からでも受け付けるメールサーバ。
インターネットで公開すると不正なメール送信に利用されかねない。
ローカルパート
メールアドレスの@より前の部分のこと
ドメインパート
メールアドレスの@より後の部分のこと
パーセントハック(sender-specified routing)
メールを送信する際、宛先メールサーバへ最短でルーティングせずに、指定したメールサーバを中継してからメールを送るように指示する方法。
ローカルパートの後に%ホスト名を書くとそのホストが最終宛先となり、ドメインパートのホストが中継ホストとみなされる。
例えば、
user%hostA@hostB
と指定した場合、一旦hostBに転送され、改めて
user@hostA
のメールアドレスを宛先としたルーティングが行われる。
送信メールサーバがブラックリストに載っており、メールの転送を拒否されている際にそれを回避するために利用されることが多い。
その為、パーセントハックは利用できないように設定しておいたほうが良い。
主にこの方法には%が用いられるが、”@”や”!”が使用されることもある。
それら全てを含めて”sender-specified routing”と呼ぶ。
Postfixではデフォルトでパーセントハックは禁止となっている。
VERP(Variable envelope return path)
VERPとは送信時に宛先メールアドレスを改変して、バウンスメールが返ってきた際にどのメールアドレス宛てのメールが不達となったかメールヘッダから判別できるようにする方法。
主にメーリングリスト等で存在しない宛先メールアドレスを自動で検出、削除するために使用される。
例えば、mailinglist@my.example.comからsomeone@you.example.net宛にメールを送るとする。
その際、VERPを使用しない場合は、送信時は通常通り以下のようなヘッダとなる。
envelope sender: mailinglist@my.example.com recipient: someone@you.example.net
someone@you.example.netのメールアドレスへメールが届かずにバウンスメールが返ってきたら、バウンスメールのヘッダは次のようになる。
envelope sender: recipient: mailinglist@my.example.com
そして本文にsomeone@you.example.net宛のメールアドレスが不達であった旨記載される。ただし、書式は必ずしも一定ではなく、自動で宛先メールアドレスを識別できない。
ここで、VERPを使用した場合は、送信時は以下のようなヘッダとなる。
envelope sender: mailinglist+someone=you.example.net@my.example.com recipient: someone@you.example.net
someone@you.example.netのメールアドレスへメールが届かずにバウンスメールが返ってきたら、バウンスメールのヘッダは次のようになる。
envelope sender: recipient: mailinglist+someone=you.example.net@my.example.com
本文には同様の不達の内容が記載されるが、ヘッダからどのメールアドレス宛が不達であったかが容易に解析できるため、本文を確認する必要はない。
PostfixにVERP形式のメールアドレスへ送信時に変換させることが可能。
MIME (マイム : Multipurpose Internet Mail Extensions (多目的インターネットメール拡張))
文字コードがASCIIしか扱えないメールを拡張して、他の文字コードや添付ファイルによるバイナリデータを扱えるようにするためのヘッダ。
MIME-Version、Content-Type、Content-Transfer-Encodingの3種類のヘッダが存在する。
エンベロープアドレス
メールの送受信の際に利用するメールアドレスにはヘッダアドレスと(メッセージ)エンベロープアドレスが存在する。
ヘッダアドレスはメールそのものに記載されたメールアドレスで、メールクライアント(MUA)にて送受信者アドレスとして表示される。
しかし、実際のSMTPによるメール転送に使用されるのは別にあり、これをエンベロープアドレスという。
エンベロープアドレスの内、受信者アドレスを特にエンベロープ受信者アドレスと呼び、
送信者アドレスを特にエンベロープ送信者アドレスと呼ぶ。
拡張メールアドレス
通常のメールアドレスに任意の文字列を付加して作成した、配送先は同じだがローカルパートの異なるメールアドレスのこと。
拡張メールアドレスはローカルパートの最後に”+”をつけ、更に(メールアドレスで使用可能な文字で構成された)任意の文字列を加えることでできる。
例えば、以下のようなメールアドレスがあったとする。
abcde@example.com
拡張メールアドレスの一例として以下のようなものがある。
abcde+fghij@example.com abcde+123@example.com
いずれもabcde@example.comと同じユーザへローカル配送される。
pseudo-cohort
1つの転送先サーバに同時に要求できるリクエスト数のこと。
トランスポート
Postfixはメールの転送方法によってそれぞれ独立したプログラム(配送エージェント)が用意されており、それらをトランスポートと呼ぶ。
他のSMTPサーバへのトランスポート、ローカル配送のトランスポートの他、バーチャルアドレス宛てのトランスポートなど、様々なトランスポートが存在する。
RBL(Real-time Blackhole List)
不正なメールの中継・発信元のIPアドレスをまとめたリスト。
owner alias (オーナーエイリアス)
特定のメールエイリアスの管理者アドレスのこと。
メールエイリアスで複数宛先アドレス設定することで、メーリングリストのように使用する際に使用される。
Delivered-Toヘッダ
メールの届け先を示す。メールを受信した際に受信したメールサーバが付加する。
ToやCCに記載のアドレスに必ずしもなるわけではなく、実際に受信したメールアドレスになる。
SMTPS / SMTP STARTTLS
SMTPSはSSLを使用したSMTPのこと。
TCP/465番ポートを使用する。
SMTP STARTTLSはSMTPで通信を開始するが、直後にTLSネゴシエーションを行い、以降はTLSを使用してSMTP通信を行う。
TCP/587番ポートを使用する。
また、TCP/587番ポートはサブミッションポートとしても使用されるため、TLSを使用せずに通信することも可能。
サブミッションポート
SMTPの通常のポート番号である、TCP/25番を使用せずに代わりに使用できるポートのこと。
TCP/587番ポートが通常使用される。
サブミッションポートによって、TCP/25番がブロックされている環境でもSMTPを使用できる。
機能
サービス
Postfixのメインプロセスであるmasterと多種類の子プロセスによって動作する。
この子プロセスのことをサービスと呼ぶ。
各サービスはmaster.cfという設定ファイルにより動作方法を設定できる。
データベース
Postfixはアクセス制御やアドレス書き換え、コンテンツフィルタリングのための情報の管理にデータベースを利用する。
デフォルトではローカルにファイルとして保存するが、外部のRDBMSやLDAPサーバを利用することも可能である。
データベースの作成・更新等を行うサブプログラムは、postmapコマンド、postaliasコマンドである。
基本的にpostmapコマンドを使用し、postaliasコマンドはバーチャルエイリアスを除くエイリアス用のテーブルを管理する場合にのみ使用する。
これは、postaliasコマンドはsendmail互換のエイリアスデータベース(エイリアステーブル)を出力できるためである。
エイリアステーブル
受信したメールをローカル配送する際に利用するユーザ名の別名データベース。
自ドメイン向けの、指定した名前のユーザ宛のメールを受信すると設定したユーザのメールとして保存する。
バーチャルメール
バーチャルメールとは実際のPostfixサーバのドメイン、実在するユーザを使用しなくとも受信したメールを正常に処理するための仕組みである。
この時の処理方法として3種類のローカル配送方式が選択できる。
共有ドメイン(バーチャルドメイン)
Postfixには自身のドメインとして設定した(正規ドメイン)以外のドメイン(バーチャルドメイン)についても、自身が最終宛先としてメールを処理することができる。
これによって、本来そのホストが設定されているドメインと異なるドメイン宛のメールを受信した場合でも、宛先ユーザを正規ドメイン宛のものと同様に、ローカルの実際のユーザのメールスプールに保存するローカル配送方式。
なお、バーチャルドメイン宛のメールが自身へ転送されてくるような仕組みが別途必要である。
バーチャルエイリアス
宛先ユーザを正規ドメイン宛のものと同様に、ローカルの実際のユーザのメールスプールに保存するが、その際ユーザ名の変換を行うローカル配送方式。
従って、バーチャルドメインのメールアドレスのユーザはLinuxのユーザとして存在している必要がある。
バーチャルメールボックス
バーチャルドメイン専用のユーザを作成し、そのユーザのメールスプールにメールを保存するローカル配送方式。
バーチャルメールボックスの所有者となるユーザはLinuxのユーザとして存在していなくてもよい。
.forwardファイル
Linuxのユーザのホームディレクトリ直下に”.forward”ファイルを設置することで、そのユーザが受信したメールを転送することができる。
.forwardファイルはPostfixのみならず、Sendmail等の他のSMTPソフト共通で使用されている。
パーミッションは”400″に設定しておく。度々編集をするなら”600″でも良い。
.forwardファイルの記法は以下のとおりである。
- 特定のメールアドレス(someone@example.com)に転送する
someone@example.com
- 複数の特定のメールアドレス(someone1@example1.com、someone2@example2.com)に転送する
someone1@example1.com someone2@example2.com
or
someone1@example1.com, someone2@example2.com
- 特定のローカルユーザ(someone)に転送する
someone
- 特定のコマンドを実行する
"| <コマンド>"
- 自身にもメールを配送する(再転送はされない)
\<自ユーザ名>
メールの保存形式
Mailbox(メールボックス)
ユーザ毎に1つのメール保存用ファイルを作成し、そこに全てのメールを連結して保存する方法。
保存したメールが溜まるにつれてファイルが巨大になり、排他制御に時間がかかったり、ファイルが破壊されれば多くのメールに影響が及ぶ。
Mailbox形式の場合も、受信したメールは一時スプールに保管され、その後に各ユーザのホームディレクトリ、もしくはその配下のパスにあるMailboxファイルに保存されることになる。
Maildir(メールディレクトリ)
ユーザ毎に1つのメール保存用ディレクトリを作成し、その内部で1メール1ファイルとして保存する方法。
メール保存用ディレクトリには更に”tmp”、”new”、”cur”の3つのディレクトリが作成され、受信したメールは一時”tmp”に保存され、後に”new”に移される。
ユーザがメールをメールソフト(MUA)でダウンロードして読むと”cur”に移される。
LMTP(Local Mail Transfer Protocol)
Postfixはメールの転送を「受信」→「解析/配送方法の決定」→「キューに一時格納/取り出し」→「配送」という流れで行う。
しかし、本来は「配送」までをつかさどるのがMTA(Mail Transfer Agent)であり、「配送」を司るのはMDA(Mail Delivery Agent)である。
PostfixはMTA、MDAの両方の機能を備えているのである。
LMTPはMDAとしての機能しか備えていないメールサーバへメールを転送するための、SMTPを拡張したプロトコルである。
LMTPにより、宛先メールサーバのキューを経由せずに直接配送のステップまでメールを渡すことができる。
加えて、転送先サーバでMTAとしての処理が不要となるため、高速にメールの転送を行える。
現在は主に、以下の目的で使用される。
- Mail Storage ServerというMDAとしてローカル配送のみを行うメール専用ストレージ製品への配送
- LAN内にリレーサーバを用いてメールサーバを多層構成にした際のメールサーバ間の転送の効率化
- MDA機能を持つMRA(Mail Retrieval Agent:POP3やIMAP4等でメールの読み出しを行うプログラム)への直接転送(本来はMRAは所定のファイルからメールを読みだす)
参考:https://tools.ietf.org/html/rfc2033
スパムメールフィルタ
Postfixは標準でスパムメールフィルタ機能を提供している。
これをPostscreenと言う。
PostscreenはSMTPでPostfixに接続された場合に機能するが、信頼できる自ユーザからのメールは基本的にフィルタリングしないように設定したほうが良い。
Postscreenは初接続してきたSMTPクライアントからのメールを検査し、合格すれば一定の間はそのクライアントからのSMTP接続によるメール転送は検査を行わない。これによって検査による負荷を減少させている。
参考:http://www.postfix.org/POSTSCREEN_README.html
アドレスマスカレード
メールを送信する際、転送するメールアドレスのドメイン部を別のものに変換する機能。
これによってLAN内でのみ使用しているメールアドレスを、インターネット向けドメインに変換することができる。また、メール受信者は当該メールをPostfixから来たものと識別することができる。
SASL認証
SASL(Simple Authentication and Security Layer)認証とは、通信プロトコルに組み込んで使用することのできる認証用のフレームワークである。
SMTPにも対応しており、PostfixでもSASL対応が実装されている。
ただし、Postfix自体はSASLの機能は実装されておらず、別のSASLライブラリを使用することになる。
Cyrus SASLとDovecotに対応している。
Cyrus SASLはPostfixがサーバの時と、他のサーバに転送する際にクライアントとなる場合にも対応しているが、Dovecotはサーバとしてしか使用できない。
DovecotはIMAP4/POP3サーバが本来の製品であるので、ユーザ用の送信・受信メールサーバとして利用する際はDovecotを使用すれば構成が簡単で良い。
ユーザー追加
SASLを使用する場合、送信専用でも認証が必要になるので、ユーザー設定が必要である。
データベースにユーザーを追加する。追記するだけで反映される。
vi $DOVECOT_HOME/conf/dovecot/userdb
サーバー構築
構築環境
- Postfix
3.2.0
※パッケージ版は2.2.10
- OS
CentOS 7.3
OS設定
ネットワーク
固定IPアドレス割り当て
次のファイルを編集する
# ifcfg-loはループバックインタフェースであるため、触らない vi /etc/sysconfig/network-scripts/ifcfg-<インタフェース名>
以下では例として192.168.0.51/24を割り当てた
BOOTPROTO=static ONBOOT=yes IPADDR=192.168.0.51 NETMASK=255.255.255.0 NETWORK=192.168.0.0 GATEWAY=192.168.0.1
ネットワークを再起動する
systemctl restart network
ip addressコマンドにより、インタフェースが有効になっていることを確認する
これによりホストマシンなどからSSHでログイン可能となる
firewalld
SMTP
SMTP(TCP/25)を開ける場合、下記を行う。
※CentOS7.2以前のCentOS7場合はfirewalldのバージョン場古く、下記を実行できない。アップデートすること。
yum update firewalld -y
- ルールが定義されていることを確認
firewall-cmd --permanent --info-service=smtp
- 現在ルールが適用されていないことを確認する
firewall-cmd --list-services --zone=public --permanent | sed -e "s/ /\n/g" | grep smtp
- ルールを適用する
firewall-cmd --add-service=smtp --zone=public --permanent
- ルールが適用されていることを確認する
firewall-cmd --list-services --zone=public --permanent | sed -e "s/ /\n/g" | grep smtp
- 設定を再読み込みして反映させる
firewall-cmd --reload
SMTP STARTTLS
SMTP STARTTLS(TCP/587)を開ける場合、下記を行う。
※CentOS7.2以前のCentOS7場合はfirewalldのバージョン場古く、下記を実行できない。アップデートすること。
yum update firewalld -y
- ルールが定義されていることを確認
firewall-cmd --permanent --info-service=smtp-submission
- 現在ルールが適用されていないことを確認する
firewall-cmd --list-services --zone=public --permanent | sed -e "s/ /\n/g" | grep smtp-submission
- ルールを適用する
firewall-cmd --add-service=smtp-submission --zone=public --permanent
- ルールが適用されていることを確認する
firewall-cmd --list-services --zone=public --permanent | sed -e "s/ /\n/g" | grep smtp-submission
- 設定を再読み込みして反映させる
firewall-cmd --reload
SMTPS
SMTPS(TCP/465)を開ける場合、下記を行う。
※CentOS7.2以前のCentOS7場合はfirewalldのバージョン場古く、下記を実行できない。アップデートすること。
yum update firewalld -y
- ルールが定義されていることを確認
firewall-cmd --permanent --info-service=smtps
- 現在ルールが適用されていないことを確認する
firewall-cmd --list-services --zone=public --permanent | sed -e "s/ /\n/g" | grep smtps
- ルールを適用する
firewall-cmd --add-service=smtps --zone=public --permanent
- ルールが適用されていることを確認する
firewall-cmd --list-services --zone=public --permanent | sed -e "s/ /\n/g" | grep smtps
- 設定を再読み込みして反映させる
firewall-cmd --reload
ホスト名
ホスト名としてmailを設定する
hostname mail.corp # 再起動しても有効にする echo mail.corp > /etc/hostname
再ログインすることで有効になる。
ユーザ作成
dovecot用のユーザを作成する
デーモン用ユーザ
useradd --user-group --no-create-home --shell /sbin/nologin postfix
ローカル配送用グループ
ユーザは属さない
groupadd postdrop
Postfixの構築
インストールに関するドキュメント:http://www.postfix.org/INSTALL.html
ソースインストール時のオプション
Makefile生成オプション
各種パス
インストール場所の指定のほか、各実行ファイルが関連ファイルを入出力する際のデフォルトパスとしても利用される。
このパスは実行時に明示的に指定することで変更可能である。
ただし、手間であるのでここで指定したほうが良い。
各パスは相対パスであり、インストール時に指定するPostfixのインストールパスからの相対パスとなる。
しかし、Makefile生成時以降で指定したパスは各実行ファイル中に書き込まれるデフォルト値には反映されないので、
ルート( / )からの相対パス、即ち、絶対パスとして指定しておき、インストール時に指定するインストールパスをデフォルトのルートのままとするのが良い。
command_directory
各種実行ファイルの保存場所
- デフォルト
/usr/sbin
config_directory
設定ファイルの保存場所
- デフォルト
/etc/postfix
daemon_directory
Postfixが専ら内部で使用する各プログラムの保存場所。
ここに配置される各プログラムはコンソールからは呼び出せないのでcommand_directoryと同じパスに置かない方が良い。
- デフォルト
/usr/libexec/postfix
data_directory
- デフォルト
/var/lib/postfix
html_directory
説明書きのHTMLファイル各種の配置場所
- 設定値
[ <インストールパス> | no ]
noの場合はインストールされない
- デフォルト
no
mail_spool_directory
全ユーザ共通の受信メールの保存パス(スプール)を指定する。
設定値の最後が”/”で終わるとMaildir形式となり、
そうでない場合はMailbox形式でメールが保存される。
- デフォルト
/var/mail
mailq_path
mailqコマンドの配置場所
- デフォルト
/usr/bin/mailq
manpage_directory
- デフォルト
/usr/local/man
meta_directory
Postfixのインスタンスを多重起動させる際に使用する設定ファイルの配置場所
- 配置されるファイル
- dynamicmaps.cf.d
- dynamicmaps.cf
- main.cf.proto
- makedefs.out
- master.cf.proto
- postfix-files.d
- postfix-files
- デフォルト
/etc/postfix
newaliases_path
newaliasesコマンドの配置場所
- デフォルト
/usr/bin/newaliases
queue_directory
メールを送る際に使用するキューの場所
- デフォルト
/var/spool/postfix
readme_directory
readmeファイル各種の配置場所
- 設定値
[ <インストールパス> | no ]
noの場合はインストールされない
- デフォルト
no
sendmail_path
sendmailコマンドの配置場所
- デフォルト
/usr/sbin/sendmail
shlib_directory
- デフォルト
/usr/lib/postfix
openssl_path
postfix-tlsコマンドで使用するopensslコマンドのパスのデフォルト値。
設定ファイルで明示的に指定しなかった場合にここで指定したものが有効となる。
- デフォルト
openssl
その他
pie
位置独立実行形式(Postfix position-independent executables)として実行ファイルをコンパイルするかどうか。
これによって実行時にメモリ空間のどこに配置されても正しく動作するようになる。
他のプログラムとメモリ空間を共有することができるようになるので、共有ライブラリとして利用可能となったり、他の悪意のあるプログラムから侵害されないようにプログラムをランダムなアドレスに配置して実行するセキュアOSにおいて利用可能となる。
バージョン3より追加された機能である。
- 設定値
[ yes | no ]
- デフォルト
pie=no
他のプログラムから利用可能な共有ライブラリ(.soファイル)を生成するかどうか。
別途shlib_directoryオプションで出力パスを指定する必要がある。
指定しない場合、共有ライブラリは生成されない。
バージョン3より追加された機能である。
- 設定値
[ yes | no ]
- デフォルト
shared=no
dynamicmaps
MySQL等のRDBMSに一部の設定を保存して、実行時に同的に変更できるようにするかどうか。
virtual table、access table、aliasesで利用可能である。
dynamicmapsオプションを有効にする場合、sharedオプションを有効にしなければならない。
バージョン3より追加された機能である。
- 設定値
[ yes | no ]
- デフォルト
dynamicmaps=no
default_database_type
newaliases、postalias、postmapコマンドで使用するデータベースの形式のデフォルト値。
設定ファイルで明示的に指定しなかった場合にここで指定したものが有効となる。
- 設定値
[ yes | no ]
- デフォルト
hash
インストールオプション
各種パス
Makefile生成オプションに同名のオプションが存在する場合はそこで指定した値がデフォルト値となる。
それらは改めてこのタイミングで指定することも可能であるが、各実行ファイル中に書き込まれるデフォルト値は変更されないので、Makefile生成時に指定するべきである。
install_root
Postfixをインストールするパス。
他に実行ファイルや設定ファイルのパスを指定できるが、それらはここで指定したパスからの相対パスとなる。
- デフォルト
/
tempdir
インストールの際に使用される一時ファイルの格納場所。
- デフォルト
カレントディレクトリ
sample_directory
設定ファイルのサンプルのインストールパスであった。
現バージョンでは既に廃止されており、指定はできるが、サンプルはインストールされない。
その他
setgid_group
The group for mail submission and for queue management commands.
Its numerical group ID must not be used by any other accounts on the
system, not even by the mail_owner account.
The built-in default group name is postdrop.
This parameter setting is recorded in the installed main.cf file.
mail_owner
Postfixの各子プロセス、ファイル群の所有者のユーザ名。
ここで指定したユーザを別途作成しておく必要がある。
デフォルトの場合、「postfix」ユーザが使用されるが、ソースインストールの場合は自分で作成しておく。
なお、Postfixの各子プロセスはmasterプロセスから生成されるが、masterプロセス自身はrootユーザで動作する。
また、rootユーザ以外ではPostfixは起動させられない。
Postfixのインストール
パッケージからインストール
yum install postfix -y
ソースコードからインストール
- rootになる
su -
- デフォルトのpostfixはアンインストールする
yum remove postfix -y
- 関連パッケージをインストールする
まとめてインストールする場合
yum install epel-release yum install gcc make db4-devel -y
- db4-develをインストールする
yum install epel-release yum install db4-devel
- コンパイラをインストールする
yum install gcc
- makeをインストールする
yum install make
- db4-develをインストールする
- ダウンロードサイト:http://mirror.postfix.jp/postfix-release/index.htmlからアーカイブのURLを取得する
- ダウンロードする
curl -O -s http://mirror.postfix.jp/postfix-release/official/postfix-3.2.0.tar.gz
- アーカイブファイルを展開する
tar xzfv postfix-*.tar.gz
- ソースコードディレクトリへ移動する
cd postfix-*
- Makefileを生成する
※標準のMakefileは既に存在するのでオプションを指定する場合のみ行う
※ここでインストールパスを指定するが、インストール時にも再度指定できる。
ただし、ここで指定しない場合、インストールされる場所は変更できるが、
実行ファイル中に書き込まれた標準パスまでは変更されないので、ここでインストールパスを指定するのが良い。
- インストールパスを環境変数に入れておく
PF_PATH=/usr/local/`pwd | sed "s/.*\///"`
- 確認
echo $PF_PATH
- 確認
- コンパイル最適化設定を行う
export CFLAGS="-O3 -m64"
- オプションを指定してMakefileを生成する
オプション”mail_spool_directory”の末尾に”/”を付けないとMailDir形式にならないので注意。
- オプション
次のオプションを加える場合はmake makefilesの前に付けて一緒に実行する
- Dovecotで送信者認証を行う
CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"' \
- TLSを使用する
CCARGS="-DUSE_TLS" AUXLIBS="-lssl -lcrypto" \
- 上記全て使用する
CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS' AUXLIBS="-lssl -lcrypto" \
- Dovecotで送信者認証を行う
- 実行する
make makefiles \ command_directory=$PF_PATH/bin \ config_directory=$PF_PATH/conf \ daemon_directory=$PF_PATH/lib \ data_directory=$PF_PATH/data \ html_directory=$PF_PATH/html \ mail_spool_directory=/usr/local/data/mail/ \ mailq_path=$PF_PATH/bin/mailq \ manpage_directory=$PF_PATH/man \ meta_directory=$PF_PATH/conf \ newaliases_path=$PF_PATH/bin/newaliases \ queue_directory=$PF_PATH/queue \ readme_directory=$PF_PATH/readme \ sendmail_path=$PF_PATH/bin/sendmail \ shlib_directory=$PF_PATH/lib \ shared=yes \ dynamicmaps=yes \ 2>&1 | tee make_makefiles.log.`date +"%Y%m%d"`
次のようなエラーが表示された場合、インストールしたdb4のヘッダファイルをインクルードパスにコピーする。
No <db.h> include file found.
- パスを検索する
find / -name db.h
- ヘッダファイルのリンクを作成する
ln -s <パス>/db.h /usr/include/db.h
例
ln -s /usr/include/libdb4/db.h /usr/include/db.h
- ライブラリもリンクを作成する
ln -s /usr/lib64/libdb4/libdb.so /usr/lib64/libdb.so ldconfig
- 再度make makefilesを行う
- パスを検索する
- オプション
- インストールパスを環境変数に入れておく
- コンパイルする
make 2>&1 | tee make.log.`date +"%Y%m%d"`
- 既存のコマンドを退避させる
sendmail、mailq、newaliasesコマンドは既にインストールされているであろうが、同じパスにpostfixのものをインストールすると上書きされてしまう。
念のためこれらを残しておくので、名前変更して退避しておく。同じパスにインストールしない場合でも名前変更しておく。
Sendmailを利用する他のプログラムがある可能性があることを考慮してPostfixにはSendmail互換プログラムが含まれている。
この退避は今回インストールする互換プログラムをSendmailがインストールされていた位置へ配置するためである。
- 確認
TMP_SENDMAIL_DEFAULT_PATH=`which sendmail` TMP_MAILQ_DEFAULT_PATH=`which mailq` TMP_NEWALIASES_DEFAULT_PATH=`which newaliases` echo $TMP_SENDMAIL_DEFAULT_PATH echo $TMP_MAILQ_DEFAULT_PATH echo $TMP_NEWALIASES_DEFAULT_PATH
- 退避
mv $TMP_SENDMAIL_DEFAULT_PATH $TMP_SENDMAIL_DEFAULT_PATH.sendmail_original mv $TMP_MAILQ_DEFAULT_PATH $TMP_MAILQ_DEFAULT_PATH.sendmail_original mv $TMP_NEWALIASES_DEFAULT_PATH $TMP_NEWALIASES_DEFAULT_PATH.sendmail_original
- 確認
- インストールを行う。
※makeのターゲットをupgradeでなくinstallとすることで、対話式にインストールオプションを指定することができる。
make upgrade \ mail_owner=postfix \ setgid_group=postdrop \ 2>&1 | tee make_upgrade.log.`date +"%Y%m%d"`
- make installの場合
- 実行コマンド
# make install \ # 2>&1 | tee make_install.log.`date +"%Y%m%d"`0
- 対話式に設定する
makefile生成時に設定している場合はデフォルト値としてその値が入っているのでそのままエンターを押せばよい
# install_root: [/] <-- 変更がなければそのままエンター(以下同じ) # tempdir: [/root/postfix-3.2.0] # config_directory: [/usr/local/postfix-3.2.0/conf] # command_directory: [/usr/local/postfix-3.2.0/bin] # daemon_directory: [/usr/local/postfix-3.2.0/lib] # data_directory: [/usr/local/postfix-3.2.0/data] # html_directory: [/usr/local/postfix-3.2.0/html] # mail_owner: [postfix] <-- 任意の値に設定する(デフォルトでも可) # mailq_path: [/usr/local/postfix-3.2.0/bin/mailq] # manpage_directory: [/usr/local/postfix-3.2.0/man] # newaliases_path: [/usr/local/postfix-3.2.0/bin/newaliases] # queue_directory: [/usr/local/postfix-3.2.0/queue] # readme_directory: [/usr/local/postfix-3.2.0/readme] # sendmail_path: [/usr/local/postfix-3.2.0/bin/sendmail] # setgid_group: [postdrop] <-- 任意の値に設定する(デフォルトでも可) # shlib_directory: [/usr/local/postfix-3.2.0/lib] # meta_directory: [/usr/local/postfix-3.2.0/conf]
- ログ
[root@postfix postfix-3.2.0]# make install set -e; for i in src/util src/global src/dns src/tls src/xsasl src/master src/milter src/postfix src/fsstone src/smtpstone src/sendmail src/error src/pickup src/cleanup src/smtpd src/local src/trivial-rewrite src/qmgr src/oqmgr src/smtp src/bounce src/pipe src/showq src/postalias src/postcat src/postconf src/postdrop src/postkick src/postlock src/postlog src/postmap src/postqueue src/postsuper src/qmqpd src/spawn src/flush src/verify src/virtual src/proxymap src/anvil src/scache src/discard src/tlsmgr src/postmulti src/postscreen src/dnsblog src/tlsproxy src/posttls-finger; do \ (set -e; echo "[$i]"; cd $i; make 'WARN=-Wmissing-prototypes -Wformat -Wno-comment' update MAKELEVEL=) || exit 1; \ done [src/util] for i in postfix-pcre.so; \ do \ for type in dev_urandom; do \ case $i in postfix-$type.so) \ cmp -s $i ../../lib/$i 2>/dev/null || cp $i ../../lib; \ continue 2;; \ esac; \ done; \ rm -f ../../lib/$i; \ done for i in dict_cdb.o dict_lmdb.o dict_sdbm.o slmdb.o; \ do \ cmp -s $i ../../lib/$i 2>/dev/null || cp $i ../../lib; \ done for i in argv.h attr.h attr_clnt.h auto_clnt.h base64_code.h binhash.h chroot_uid.h cidr_match.h clean_env.h connect.h ctable.h dict.h dict_cdb.h dict_cidr.h dict_db.h dict_dbm.h dict_env.h dict_ht.h dict_lmdb.h dict_ni.h dict_nis.h dict_nisplus.h dict_pcre.h dict_regexp.h dict_sdbm.h dict_static.h dict_tcp.h dict_unix.h dir_forest.h events.h exec_command.h find_inet.h fsspace.h fullname.h get_domainname.h get_hostname.h hex_code.h hex_quote.h host_port.h htable.h inet_addr_host.h inet_addr_list.h inet_addr_local.h inet_proto.h iostuff.h line_wrap.h listen.h lstat_as.h mac_expand.h mac_parse.h make_dirs.h mask_addr.h match_list.h msg.h msg_output.h msg_syslog.h msg_vstream.h mvect.h myaddrinfo.h myflock.h mymalloc.h myrand.h name_code.h name_mask.h netstring.h nvtable.h open_as.h open_lock.h percentm.h posix_signals.h readlline.h ring.h safe.h safe_open.h sane_accept.h sane_connect.h sane_fsops.h load_lib.h sane_socketpair.h sane_time.h scan_dir.h set_eugid.h set_ugid.h sigdelay.h sock_addr.h spawn_command.h split_at.h stat_as.h stringops.h sys_defs.h timed_connect.h timed_wait.h trigger.h username.h valid_hostname.h vbuf.h vbuf_print.h vstream.h vstring.h vstring_vstream.h watchdog.h format_tv.h load_file.h killme_after.h edit_file.h dict_cache.h dict_thash.h ip_match.h nbbio.h base32_code.h dict_fail.h warn_stat.h dict_sockmap.h line_number.h timecmp.h slmdb.h compat_va_copy.h dict_pipe.h dict_random.h valid_utf8_hostname.h midna_domain.h dict_union.h dict_inline.h check_arg.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 argv.h attr.h attr_clnt.h auto_clnt.h base64_code.h binhash.h chroot_uid.h cidr_match.h clean_env.h connect.h ctable.h dict.h dict_cdb.h dict_cidr.h dict_db.h dict_dbm.h dict_env.h dict_ht.h dict_lmdb.h dict_ni.h dict_nis.h dict_nisplus.h dict_pcre.h dict_regexp.h dict_sdbm.h dict_static.h dict_tcp.h dict_unix.h dir_forest.h events.h exec_command.h find_inet.h fsspace.h fullname.h get_domainname.h get_hostname.h hex_code.h hex_quote.h host_port.h htable.h inet_addr_host.h inet_addr_list.h inet_addr_local.h inet_proto.h iostuff.h line_wrap.h listen.h lstat_as.h mac_expand.h mac_parse.h make_dirs.h mask_addr.h match_list.h msg.h msg_output.h msg_syslog.h msg_vstream.h mvect.h myaddrinfo.h myflock.h mymalloc.h myrand.h name_code.h name_mask.h netstring.h nvtable.h open_as.h open_lock.h percentm.h posix_signals.h readlline.h ring.h safe.h safe_open.h sane_accept.h sane_connect.h sane_fsops.h load_lib.h sane_socketpair.h sane_time.h scan_dir.h set_eugid.h set_ugid.h sigdelay.h sock_addr.h spawn_command.h split_at.h stat_as.h stringops.h sys_defs.h timed_connect.h timed_wait.h trigger.h username.h valid_hostname.h vbuf.h vbuf_print.h vstream.h vstring.h vstring_vstream.h watchdog.h format_tv.h load_file.h killme_after.h edit_file.h dict_cache.h dict_thash.h ip_match.h nbbio.h base32_code.h dict_fail.h warn_stat.h dict_sockmap.h line_number.h timecmp.h slmdb.h compat_va_copy.h dict_pipe.h dict_random.h valid_utf8_hostname.h midna_domain.h dict_union.h dict_inline.h check_arg.h [src/global] for i in postfix-ldap.so postfix-mysql.so postfix-pgsql.so postfix-sqlite.so postfix-lmdb.so postfix-cdb.so postfix-sdbm.so; \ do \ for type in dev_urandom; do \ case $i in postfix-$type.so) \ cmp -s $i ../../lib/$i 2>/dev/null || cp $i ../../lib; \ continue 2;; \ esac; \ done; \ rm -f ../../lib/$i; \ done for i in abounce.h anvil_clnt.h been_here.h bounce.h bounce_log.h canon_addr.h cfg_parser.h cleanup_user.h clnt_stream.h config.h conv_time.h db_common.h debug_peer.h debug_process.h defer.h deliver_completed.h deliver_flock.h deliver_pass.h deliver_request.h dict_ldap.h dict_mysql.h dict_pgsql.h dict_proxy.h dict_sqlite.h domain_list.h dot_lockfile.h dot_lockfile_as.h dsb_scan.h dsn.h dsn_buf.h dsn_mask.h dsn_print.h dsn_util.h ehlo_mask.h ext_prop.h file_id.h flush_clnt.h header_opts.h header_token.h input_transp.h int_filt.h is_header.h lex_822.h log_adhoc.h mail_addr.h mail_addr_crunch.h mail_addr_find.h mail_addr_map.h mail_conf.h mail_copy.h mail_date.h mail_dict.h mail_error.h mail_flush.h mail_open_ok.h mail_params.h mail_proto.h mail_queue.h mail_run.h mail_scan_dir.h mail_stream.h mail_task.h mail_version.h maps.h mark_corrupt.h match_parent_style.h mbox_conf.h mbox_open.h mime_state.h mkmap.h msg_stats.h mynetworks.h mypwd.h namadr_list.h off_cvt.h opened.h own_inet_addr.h pipe_command.h post_mail.h qmgr_user.h qmqp_proto.h quote_821_local.h quote_822_local.h quote_flags.h rcpt_buf.h rcpt_print.h rec_attr_map.h rec_streamlf.h rec_type.h recipient_list.h record.h resolve_clnt.h resolve_local.h rewrite_clnt.h scache.h sent.h smtp_stream.h split_addr.h string_list.h strip_addr.h sys_exits.h timed_ipc.h tok822.h trace.h user_acl.h valid_mailhost_addr.h verify.h verify_clnt.h verp_sender.h wildcard_inet_addr.h xtext.h delivered_hdr.h fold_addr.h header_body_checks.h data_redirect.h match_service.h addr_match_list.h smtp_reply_footer.h safe_ultostr.h verify_sender_addr.h dict_memcache.h memcache_proto.h server_acl.h haproxy_srvr.h dsn_filter.h dynamicmaps.h uxtext.h smtputf8.h attr_override.h mail_parm_split.h midna_adomain.h mail_addr_form.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 abounce.h anvil_clnt.h been_here.h bounce.h bounce_log.h canon_addr.h cfg_parser.h cleanup_user.h clnt_stream.h config.h conv_time.h db_common.h debug_peer.h debug_process.h defer.h deliver_completed.h deliver_flock.h deliver_pass.h deliver_request.h dict_ldap.h dict_mysql.h dict_pgsql.h dict_proxy.h dict_sqlite.h domain_list.h dot_lockfile.h dot_lockfile_as.h dsb_scan.h dsn.h dsn_buf.h dsn_mask.h dsn_print.h dsn_util.h ehlo_mask.h ext_prop.h file_id.h flush_clnt.h header_opts.h header_token.h input_transp.h int_filt.h is_header.h lex_822.h log_adhoc.h mail_addr.h mail_addr_crunch.h mail_addr_find.h mail_addr_map.h mail_conf.h mail_copy.h mail_date.h mail_dict.h mail_error.h mail_flush.h mail_open_ok.h mail_params.h mail_proto.h mail_queue.h mail_run.h mail_scan_dir.h mail_stream.h mail_task.h mail_version.h maps.h mark_corrupt.h match_parent_style.h mbox_conf.h mbox_open.h mime_state.h mkmap.h msg_stats.h mynetworks.h mypwd.h namadr_list.h off_cvt.h opened.h own_inet_addr.h pipe_command.h post_mail.h qmgr_user.h qmqp_proto.h quote_821_local.h quote_822_local.h quote_flags.h rcpt_buf.h rcpt_print.h rec_attr_map.h rec_streamlf.h rec_type.h recipient_list.h record.h resolve_clnt.h resolve_local.h rewrite_clnt.h scache.h sent.h smtp_stream.h split_addr.h string_list.h strip_addr.h sys_exits.h timed_ipc.h tok822.h trace.h user_acl.h valid_mailhost_addr.h verify.h verify_clnt.h verp_sender.h wildcard_inet_addr.h xtext.h delivered_hdr.h fold_addr.h header_body_checks.h data_redirect.h match_service.h addr_match_list.h smtp_reply_footer.h safe_ultostr.h verify_sender_addr.h dict_memcache.h memcache_proto.h server_acl.h haproxy_srvr.h dsn_filter.h dynamicmaps.h uxtext.h smtputf8.h attr_override.h mail_parm_split.h midna_adomain.h mail_addr_form.h [src/dns] for i in dns.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 dns.h [src/tls] for i in tls.h tls_prng.h tls_scache.h tls_mgr.h tls_proxy.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 tls.h tls_prng.h tls_scache.h tls_mgr.h tls_proxy.h [src/xsasl] for i in xsasl.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 xsasl.h [src/master] for i in mail_server.h master_proto.h mail_flow.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 mail_server.h master_proto.h mail_flow.h [src/milter] for i in milter.h; \ do \ cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \ done cd ../../include; chmod 644 milter.h [src/postfix] make: Nothing to be done for `update'. [src/fsstone] make: Nothing to be done for `update'. [src/smtpstone] make: Nothing to be done for `update'. [src/sendmail] make: Nothing to be done for `update'. [src/error] make: Nothing to be done for `update'. [src/pickup] make: Nothing to be done for `update'. [src/cleanup] make: Nothing to be done for `update'. [src/smtpd] make: Nothing to be done for `update'. [src/local] make: Nothing to be done for `update'. [src/trivial-rewrite] make: Nothing to be done for `update'. [src/qmgr] make: Nothing to be done for `update'. [src/oqmgr] make: Nothing to be done for `update'. [src/smtp] make: Nothing to be done for `update'. [src/bounce] make: Nothing to be done for `update'. [src/pipe] make: Nothing to be done for `update'. [src/showq] make: Nothing to be done for `update'. [src/postalias] make: Nothing to be done for `update'. [src/postcat] make: Nothing to be done for `update'. [src/postconf] make: Nothing to be done for `update'. [src/postdrop] make: Nothing to be done for `update'. [src/postkick] make: Nothing to be done for `update'. [src/postlock] make: Nothing to be done for `update'. [src/postlog] make: Nothing to be done for `update'. [src/postmap] make: Nothing to be done for `update'. [src/postqueue] make: Nothing to be done for `update'. [src/postsuper] make: Nothing to be done for `update'. [src/qmqpd] make: Nothing to be done for `update'. [src/spawn] make: Nothing to be done for `update'. [src/flush] make: Nothing to be done for `update'. [src/verify] make: Nothing to be done for `update'. [src/virtual] make: Nothing to be done for `update'. [src/proxymap] make: Nothing to be done for `update'. [src/anvil] make: Nothing to be done for `update'. [src/scache] make: Nothing to be done for `update'. [src/discard] make: Nothing to be done for `update'. [src/tlsmgr] make: Nothing to be done for `update'. [src/postmulti] make: Nothing to be done for `update'. [src/postscreen] make: Nothing to be done for `update'. [src/dnsblog] make: Nothing to be done for `update'. [src/tlsproxy] make: Nothing to be done for `update'. [src/posttls-finger] make: Nothing to be done for `update'. SHLIB_ENV_VAR= SHLIB_ENV_VAL= \ LD_LIBRARY_PATH=/root/postfix-3.2.0/lib shlib_directory=${shlib_directory:-`LD_LIBRARY_PATH=/root/postfix-3.2.0/lib bin/postconf -dhx shlib_directory`} /bin/sh \ postfix-install bin/postconf: warning: open /usr/local/postfix-3.2.0/conf/master.cf: No such file or directory Warning: if you use this script to install Postfix locally, this script will replace existing sendmail or Postfix programs. Make backups if you want to be able to recover. Before installing files, this script prompts you for some definitions. Most definitions will be remembered, so you have to specify them only once. All definitions should have a reasonable default value. Please specify the prefix for installed file names. Specify this ONLY if you are building ready-to-install packages for distribution to OTHER machines. See PACKAGE_README for instructions. install_root: [/] Please specify a directory for scratch files while installing Postfix. You must have write permission in this directory. tempdir: [/root/postfix-3.2.0] Please specify the final destination directory for installed Postfix configuration files. config_directory: [/usr/local/postfix-3.2.0/conf] Please specify the final destination directory for installed Postfix administrative commands. This directory should be in the command search path of adminstrative users. command_directory: [/usr/local/postfix-3.2.0/bin] Please specify the final destination directory for installed Postfix daemon programs. This directory should not be in the command search path of any users. daemon_directory: [/usr/local/postfix-3.2.0/lib] Please specify the final destination directory for Postfix-writable data files such as caches or random numbers. This directory should not be shared with non-Postfix software. data_directory: [/usr/local/postfix-3.2.0/data] Please specify the final destination directory for the Postfix HTML files. Specify "no" if you do not want to install these files. html_directory: [/usr/local/postfix-3.2.0/html] Please specify the owner of the Postfix queue. Specify an account with numerical user ID and group ID values that are not used by any other accounts on the system. mail_owner: [postfix] Please specify the final destination pathname for the installed Postfix mailq command. This is the Sendmail-compatible mail queue listing command. mailq_path: [/usr/local/postfix-3.2.0/bin/mailq] Please specify the final destination directory for the Postfix on-line manual pages. You can no longer specify "no" here. manpage_directory: [/usr/local/postfix-3.2.0/man] Please specify the final destination pathname for the installed Postfix newaliases command. This is the Sendmail-compatible command to build alias databases for the Postfix local delivery agent. newaliases_path: [/usr/local/postfix-3.2.0/bin/newaliases] Please specify the final destination directory for Postfix queues. queue_directory: [/usr/local/postfix-3.2.0/queue] Please specify the final destination directory for the Postfix README files. Specify "no" if you do not want to install these files. readme_directory: [/usr/local/postfix-3.2.0/readme] Please specify the final destination pathname for the installed Postfix sendmail command. This is the Sendmail-compatible mail posting interface. sendmail_path: [/usr/local/postfix-3.2.0/bin/sendmail] Please specify the group for mail submission and for queue management commands. Specify a group name with a numerical group ID that is not shared with other accounts, not even with the Postfix mail_owner account. You can no longer specify "no" here. setgid_group: [postdrop] Please specify the final destination directory for Postfix shared-library files. shlib_directory: [/usr/local/postfix-3.2.0/lib] Please specify the final destination directory for non-executable files that are shared among multiple Postfix instances, such as postfix-files, dynamicmaps.cf, as well as the multi-instance template files main.cf.proto and master.cf.proto. meta_directory: [/usr/local/postfix-3.2.0/meta] Updating /usr/local/postfix-3.2.0/lib/libpostfix-util.so... Updating /usr/local/postfix-3.2.0/lib/libpostfix-global.so... Updating /usr/local/postfix-3.2.0/lib/libpostfix-dns.so... Updating /usr/local/postfix-3.2.0/lib/libpostfix-tls.so... Updating /usr/local/postfix-3.2.0/lib/libpostfix-master.so... Updating /usr/local/postfix-3.2.0/meta/dynamicmaps.cf... Updating /usr/local/postfix-3.2.0/meta/main.cf.proto... Updating /usr/local/postfix-3.2.0/meta/makedefs.out... Updating /usr/local/postfix-3.2.0/meta/master.cf.proto... Updating /usr/local/postfix-3.2.0/meta/postfix-files... Updating /usr/local/postfix-3.2.0/lib/anvil... Updating /usr/local/postfix-3.2.0/lib/bounce... Updating /usr/local/postfix-3.2.0/lib/cleanup... Updating /usr/local/postfix-3.2.0/lib/discard... Updating /usr/local/postfix-3.2.0/lib/dnsblog... Updating /usr/local/postfix-3.2.0/lib/error... Updating /usr/local/postfix-3.2.0/lib/flush... Updating /usr/local/postfix-3.2.0/lib/local... Updating /usr/local/postfix-3.2.0/lib/master... Updating /usr/local/postfix-3.2.0/lib/oqmgr... Updating /usr/local/postfix-3.2.0/lib/pickup... Updating /usr/local/postfix-3.2.0/lib/pipe... Updating /usr/local/postfix-3.2.0/lib/post-install... Updating /usr/local/postfix-3.2.0/lib/postfix-script... Updating /usr/local/postfix-3.2.0/lib/postfix-tls-script... Updating /usr/local/postfix-3.2.0/lib/postfix-wrapper... Updating /usr/local/postfix-3.2.0/lib/postmulti-script... Updating /usr/local/postfix-3.2.0/lib/postscreen... Updating /usr/local/postfix-3.2.0/lib/proxymap... Updating /usr/local/postfix-3.2.0/lib/qmgr... Updating /usr/local/postfix-3.2.0/lib/qmqpd... Updating /usr/local/postfix-3.2.0/lib/scache... Updating /usr/local/postfix-3.2.0/lib/showq... Updating /usr/local/postfix-3.2.0/lib/smtp... Updating /usr/local/postfix-3.2.0/lib/smtpd... Updating /usr/local/postfix-3.2.0/lib/spawn... Updating /usr/local/postfix-3.2.0/lib/tlsproxy... Updating /usr/local/postfix-3.2.0/lib/tlsmgr... Updating /usr/local/postfix-3.2.0/lib/trivial-rewrite... Updating /usr/local/postfix-3.2.0/lib/verify... Updating /usr/local/postfix-3.2.0/lib/virtual... Updating /usr/local/postfix-3.2.0/lib/nqmgr... Updating /usr/local/postfix-3.2.0/lib/lmtp... Updating /usr/local/postfix-3.2.0/bin/postalias... Updating /usr/local/postfix-3.2.0/bin/postcat... Updating /usr/local/postfix-3.2.0/bin/postconf... Updating /usr/local/postfix-3.2.0/bin/postfix... Updating /usr/local/postfix-3.2.0/bin/postkick... Updating /usr/local/postfix-3.2.0/bin/postlock... Updating /usr/local/postfix-3.2.0/bin/postlog... Updating /usr/local/postfix-3.2.0/bin/postmap... Updating /usr/local/postfix-3.2.0/bin/postmulti... Updating /usr/local/postfix-3.2.0/bin/postsuper... Updating /usr/local/postfix-3.2.0/bin/postdrop... Updating /usr/local/postfix-3.2.0/bin/postqueue... Updating /usr/local/postfix-3.2.0/bin/sendmail... Updating /usr/local/postfix-3.2.0/bin/newaliases... Updating /usr/local/postfix-3.2.0/bin/mailq... Updating /usr/local/postfix-3.2.0/conf/LICENSE... Updating /usr/local/postfix-3.2.0/conf/TLS_LICENSE... Updating /usr/local/postfix-3.2.0/conf/access... Updating /usr/local/postfix-3.2.0/conf/aliases... Updating /usr/local/postfix-3.2.0/conf/bounce.cf.default... Updating /usr/local/postfix-3.2.0/conf/canonical... Updating /usr/local/postfix-3.2.0/conf/generic... Updating /usr/local/postfix-3.2.0/conf/header_checks... Updating /usr/local/postfix-3.2.0/conf/main.cf.default... Updating /usr/local/postfix-3.2.0/conf/main.cf... Updating /usr/local/postfix-3.2.0/conf/master.cf... Updating /usr/local/postfix-3.2.0/conf/relocated... Updating /usr/local/postfix-3.2.0/conf/transport... Updating /usr/local/postfix-3.2.0/conf/virtual... Updating /usr/local/postfix-3.2.0/man/man1/mailq.1... Updating /usr/local/postfix-3.2.0/man/man1/newaliases.1... Updating /usr/local/postfix-3.2.0/man/man1/postalias.1... Updating /usr/local/postfix-3.2.0/man/man1/postcat.1... Updating /usr/local/postfix-3.2.0/man/man1/postconf.1... Updating /usr/local/postfix-3.2.0/man/man1/postdrop.1... Updating /usr/local/postfix-3.2.0/man/man1/postfix.1... Updating /usr/local/postfix-3.2.0/man/man1/postfix-tls.1... Updating /usr/local/postfix-3.2.0/man/man1/postkick.1... Updating /usr/local/postfix-3.2.0/man/man1/postlock.1... Updating /usr/local/postfix-3.2.0/man/man1/postlog.1... Updating /usr/local/postfix-3.2.0/man/man1/postmap.1... Updating /usr/local/postfix-3.2.0/man/man1/postmulti.1... Updating /usr/local/postfix-3.2.0/man/man1/postqueue.1... Updating /usr/local/postfix-3.2.0/man/man1/postsuper.1... Updating /usr/local/postfix-3.2.0/man/man1/sendmail.1... Updating /usr/local/postfix-3.2.0/man/man5/access.5... Updating /usr/local/postfix-3.2.0/man/man5/aliases.5... Updating /usr/local/postfix-3.2.0/man/man5/body_checks.5... Updating /usr/local/postfix-3.2.0/man/man5/bounce.5... Updating /usr/local/postfix-3.2.0/man/man5/canonical.5... Updating /usr/local/postfix-3.2.0/man/man5/cidr_table.5... Updating /usr/local/postfix-3.2.0/man/man5/generic.5... Updating /usr/local/postfix-3.2.0/man/man5/header_checks.5... Updating /usr/local/postfix-3.2.0/man/man5/ldap_table.5... Updating /usr/local/postfix-3.2.0/man/man5/lmdb_table.5... Updating /usr/local/postfix-3.2.0/man/man5/master.5... Updating /usr/local/postfix-3.2.0/man/man5/memcache_table.5... Updating /usr/local/postfix-3.2.0/man/man5/mysql_table.5... Updating /usr/local/postfix-3.2.0/man/man5/socketmap_table.5... Updating /usr/local/postfix-3.2.0/man/man5/sqlite_table.5... Updating /usr/local/postfix-3.2.0/man/man5/nisplus_table.5... Updating /usr/local/postfix-3.2.0/man/man5/pcre_table.5... Updating /usr/local/postfix-3.2.0/man/man5/pgsql_table.5... Updating /usr/local/postfix-3.2.0/man/man5/postconf.5... Updating /usr/local/postfix-3.2.0/man/man5/postfix-wrapper.5... Updating /usr/local/postfix-3.2.0/man/man5/regexp_table.5... Updating /usr/local/postfix-3.2.0/man/man5/relocated.5... Updating /usr/local/postfix-3.2.0/man/man5/tcp_table.5... Updating /usr/local/postfix-3.2.0/man/man5/transport.5... Updating /usr/local/postfix-3.2.0/man/man5/virtual.5... Updating /usr/local/postfix-3.2.0/man/man8/bounce.8... Updating /usr/local/postfix-3.2.0/man/man8/cleanup.8... Updating /usr/local/postfix-3.2.0/man/man8/anvil.8... Updating /usr/local/postfix-3.2.0/man/man8/defer.8... Updating /usr/local/postfix-3.2.0/man/man8/discard.8... Updating /usr/local/postfix-3.2.0/man/man8/dnsblog.8... Updating /usr/local/postfix-3.2.0/man/man8/error.8... Updating /usr/local/postfix-3.2.0/man/man8/flush.8... Updating /usr/local/postfix-3.2.0/man/man8/lmtp.8... Updating /usr/local/postfix-3.2.0/man/man8/local.8... Updating /usr/local/postfix-3.2.0/man/man8/master.8... Updating /usr/local/postfix-3.2.0/man/man8/oqmgr.8... Updating /usr/local/postfix-3.2.0/man/man8/pickup.8... Updating /usr/local/postfix-3.2.0/man/man8/pipe.8... Updating /usr/local/postfix-3.2.0/man/man8/postscreen.8... Updating /usr/local/postfix-3.2.0/man/man8/proxymap.8... Updating /usr/local/postfix-3.2.0/man/man8/qmgr.8... Updating /usr/local/postfix-3.2.0/man/man8/qmqpd.8... Updating /usr/local/postfix-3.2.0/man/man8/scache.8... Updating /usr/local/postfix-3.2.0/man/man8/showq.8... Updating /usr/local/postfix-3.2.0/man/man8/smtp.8... Updating /usr/local/postfix-3.2.0/man/man8/smtpd.8... Updating /usr/local/postfix-3.2.0/man/man8/spawn.8... Updating /usr/local/postfix-3.2.0/man/man8/tlsproxy.8... Updating /usr/local/postfix-3.2.0/man/man8/tlsmgr.8... Updating /usr/local/postfix-3.2.0/man/man8/trace.8... Updating /usr/local/postfix-3.2.0/man/man8/trivial-rewrite.8... Updating /usr/local/postfix-3.2.0/man/man8/verify.8... Updating /usr/local/postfix-3.2.0/man/man8/virtual.8... Updating /usr/local/postfix-3.2.0/readme/AAAREADME... Updating /usr/local/postfix-3.2.0/readme/ADDRESS_CLASS_README... Updating /usr/local/postfix-3.2.0/readme/ADDRESS_REWRITING_README... Updating /usr/local/postfix-3.2.0/readme/ADDRESS_VERIFICATION_README... Updating /usr/local/postfix-3.2.0/readme/BACKSCATTER_README... Updating /usr/local/postfix-3.2.0/readme/BASIC_CONFIGURATION_README... Updating /usr/local/postfix-3.2.0/readme/BUILTIN_FILTER_README... Updating /usr/local/postfix-3.2.0/readme/CDB_README... Updating /usr/local/postfix-3.2.0/readme/COMPATIBILITY_README... Updating /usr/local/postfix-3.2.0/readme/CONNECTION_CACHE_README... Updating /usr/local/postfix-3.2.0/readme/CONTENT_INSPECTION_README... Updating /usr/local/postfix-3.2.0/readme/DATABASE_README... Updating /usr/local/postfix-3.2.0/readme/DB_README... Updating /usr/local/postfix-3.2.0/readme/DEBUG_README... Updating /usr/local/postfix-3.2.0/readme/DSN_README... Updating /usr/local/postfix-3.2.0/readme/ETRN_README... Updating /usr/local/postfix-3.2.0/readme/FILTER_README... Updating /usr/local/postfix-3.2.0/readme/FORWARD_SECRECY_README... Updating /usr/local/postfix-3.2.0/readme/INSTALL... Updating /usr/local/postfix-3.2.0/readme/IPV6_README... Updating /usr/local/postfix-3.2.0/readme/LDAP_README... Updating /usr/local/postfix-3.2.0/readme/LINUX_README... Updating /usr/local/postfix-3.2.0/readme/LMDB_README... Updating /usr/local/postfix-3.2.0/readme/LOCAL_RECIPIENT_README... Updating /usr/local/postfix-3.2.0/readme/MAILDROP_README... Updating /usr/local/postfix-3.2.0/readme/MEMCACHE_README... Updating /usr/local/postfix-3.2.0/readme/MILTER_README... Updating /usr/local/postfix-3.2.0/readme/MULTI_INSTANCE_README... Updating /usr/local/postfix-3.2.0/readme/MYSQL_README... Updating /usr/local/postfix-3.2.0/readme/SQLITE_README... Updating /usr/local/postfix-3.2.0/readme/NFS_README... Updating /usr/local/postfix-3.2.0/readme/OVERVIEW... Updating /usr/local/postfix-3.2.0/readme/PACKAGE_README... Updating /usr/local/postfix-3.2.0/readme/PCRE_README... Updating /usr/local/postfix-3.2.0/readme/PGSQL_README... Updating /usr/local/postfix-3.2.0/readme/POSTSCREEN_README... Updating /usr/local/postfix-3.2.0/readme/QSHAPE_README... Updating /usr/local/postfix-3.2.0/readme/RELEASE_NOTES... Updating /usr/local/postfix-3.2.0/readme/RESTRICTION_CLASS_README... Updating /usr/local/postfix-3.2.0/readme/SASL_README... Updating /usr/local/postfix-3.2.0/readme/SCHEDULER_README... Updating /usr/local/postfix-3.2.0/readme/SMTPD_ACCESS_README... Updating /usr/local/postfix-3.2.0/readme/SMTPD_POLICY_README... Updating /usr/local/postfix-3.2.0/readme/SMTPD_PROXY_README... Updating /usr/local/postfix-3.2.0/readme/SOHO_README... Updating /usr/local/postfix-3.2.0/readme/STANDARD_CONFIGURATION_README... Updating /usr/local/postfix-3.2.0/readme/STRESS_README... Updating /usr/local/postfix-3.2.0/readme/TLS_LEGACY_README... Updating /usr/local/postfix-3.2.0/readme/TLS_README... Updating /usr/local/postfix-3.2.0/readme/TUNING_README... Updating /usr/local/postfix-3.2.0/readme/ULTRIX_README... Updating /usr/local/postfix-3.2.0/readme/UUCP_README... Updating /usr/local/postfix-3.2.0/readme/VERP_README... Updating /usr/local/postfix-3.2.0/readme/VIRTUAL_README... Updating /usr/local/postfix-3.2.0/readme/XCLIENT_README... Updating /usr/local/postfix-3.2.0/readme/XFORWARD_README... Updating /usr/local/postfix-3.2.0/html/ADDRESS_CLASS_README.html... Updating /usr/local/postfix-3.2.0/html/ADDRESS_REWRITING_README.html... Updating /usr/local/postfix-3.2.0/html/ADDRESS_VERIFICATION_README.html... Updating /usr/local/postfix-3.2.0/html/BACKSCATTER_README.html... Updating /usr/local/postfix-3.2.0/html/BASIC_CONFIGURATION_README.html... Updating /usr/local/postfix-3.2.0/html/BUILTIN_FILTER_README.html... Updating /usr/local/postfix-3.2.0/html/CDB_README.html... Updating /usr/local/postfix-3.2.0/html/COMPATIBILITY_README.html... Updating /usr/local/postfix-3.2.0/html/CONNECTION_CACHE_README.html... Updating /usr/local/postfix-3.2.0/html/CONTENT_INSPECTION_README.html... Updating /usr/local/postfix-3.2.0/html/DATABASE_README.html... Updating /usr/local/postfix-3.2.0/html/DB_README.html... Updating /usr/local/postfix-3.2.0/html/DEBUG_README.html... Updating /usr/local/postfix-3.2.0/html/DSN_README.html... Updating /usr/local/postfix-3.2.0/html/ETRN_README.html... Updating /usr/local/postfix-3.2.0/html/FILTER_README.html... Updating /usr/local/postfix-3.2.0/html/FORWARD_SECRECY_README.html... Updating /usr/local/postfix-3.2.0/html/INSTALL.html... Updating /usr/local/postfix-3.2.0/html/IPV6_README.html... Updating /usr/local/postfix-3.2.0/html/LDAP_README.html... Updating /usr/local/postfix-3.2.0/html/LINUX_README.html... Updating /usr/local/postfix-3.2.0/html/LMDB_README.html... Updating /usr/local/postfix-3.2.0/html/LOCAL_RECIPIENT_README.html... Updating /usr/local/postfix-3.2.0/html/MAILDROP_README.html... Updating /usr/local/postfix-3.2.0/html/MILTER_README.html... Updating /usr/local/postfix-3.2.0/html/MULTI_INSTANCE_README.html... Updating /usr/local/postfix-3.2.0/html/MYSQL_README.html... Updating /usr/local/postfix-3.2.0/html/SQLITE_README.html... Updating /usr/local/postfix-3.2.0/html/NFS_README.html... Updating /usr/local/postfix-3.2.0/html/OVERVIEW.html... Updating /usr/local/postfix-3.2.0/html/PACKAGE_README.html... Updating /usr/local/postfix-3.2.0/html/PCRE_README.html... Updating /usr/local/postfix-3.2.0/html/PGSQL_README.html... Updating /usr/local/postfix-3.2.0/html/POSTSCREEN_README.html... Updating /usr/local/postfix-3.2.0/html/QSHAPE_README.html... Updating /usr/local/postfix-3.2.0/html/RESTRICTION_CLASS_README.html... Updating /usr/local/postfix-3.2.0/html/SASL_README.html... Updating /usr/local/postfix-3.2.0/html/SCHEDULER_README.html... Updating /usr/local/postfix-3.2.0/html/SMTPD_ACCESS_README.html... Updating /usr/local/postfix-3.2.0/html/SMTPD_POLICY_README.html... Updating /usr/local/postfix-3.2.0/html/SMTPD_PROXY_README.html... Updating /usr/local/postfix-3.2.0/html/SOHO_README.html... Updating /usr/local/postfix-3.2.0/html/STANDARD_CONFIGURATION_README.html... Updating /usr/local/postfix-3.2.0/html/STRESS_README.html... Updating /usr/local/postfix-3.2.0/html/TLS_LEGACY_README.html... Updating /usr/local/postfix-3.2.0/html/TLS_README.html... Updating /usr/local/postfix-3.2.0/html/TUNING_README.html... Updating /usr/local/postfix-3.2.0/html/UUCP_README.html... Updating /usr/local/postfix-3.2.0/html/VERP_README.html... Updating /usr/local/postfix-3.2.0/html/VIRTUAL_README.html... Updating /usr/local/postfix-3.2.0/html/XCLIENT_README.html... Updating /usr/local/postfix-3.2.0/html/XFORWARD_README.html... Updating /usr/local/postfix-3.2.0/html/access.5.html... Updating /usr/local/postfix-3.2.0/html/aliases.5.html... Updating /usr/local/postfix-3.2.0/html/anvil.8.html... Updating /usr/local/postfix-3.2.0/html/bounce.8.html... Updating /usr/local/postfix-3.2.0/html/canonical.5.html... Updating /usr/local/postfix-3.2.0/html/cidr_table.5.html... Updating /usr/local/postfix-3.2.0/html/cleanup.8.html... Updating /usr/local/postfix-3.2.0/html/defer.8.html... Updating /usr/local/postfix-3.2.0/html/discard.8.html... Updating /usr/local/postfix-3.2.0/html/dnsblog.8.html... Updating /usr/local/postfix-3.2.0/html/error.8.html... Updating /usr/local/postfix-3.2.0/html/flush.8.html... Updating /usr/local/postfix-3.2.0/html/generic.5.html... Updating /usr/local/postfix-3.2.0/html/header_checks.5.html... Updating /usr/local/postfix-3.2.0/html/index.html... Updating /usr/local/postfix-3.2.0/html/ldap_table.5.html... Updating /usr/local/postfix-3.2.0/html/lmtp.8.html... Updating /usr/local/postfix-3.2.0/html/local.8.html... Updating /usr/local/postfix-3.2.0/html/mailq.1.html... Updating /usr/local/postfix-3.2.0/html/master.5.html... Updating /usr/local/postfix-3.2.0/html/master.8.html... Updating /usr/local/postfix-3.2.0/html/memcache_table.5.html... Updating /usr/local/postfix-3.2.0/html/mysql_table.5.html... Updating /usr/local/postfix-3.2.0/html/sqlite_table.5.html... Updating /usr/local/postfix-3.2.0/html/nisplus_table.5.html... Updating /usr/local/postfix-3.2.0/html/newaliases.1.html... Updating /usr/local/postfix-3.2.0/html/oqmgr.8.html... Updating /usr/local/postfix-3.2.0/html/pcre_table.5.html... Updating /usr/local/postfix-3.2.0/html/pgsql_table.5.html... Updating /usr/local/postfix-3.2.0/html/pickup.8.html... Updating /usr/local/postfix-3.2.0/html/pipe.8.html... Updating /usr/local/postfix-3.2.0/html/postalias.1.html... Updating /usr/local/postfix-3.2.0/html/postcat.1.html... Updating /usr/local/postfix-3.2.0/html/postconf.1.html... Updating /usr/local/postfix-3.2.0/html/postconf.5.html... Updating /usr/local/postfix-3.2.0/html/postdrop.1.html... Updating /usr/local/postfix-3.2.0/html/postfix-logo.jpg... Updating /usr/local/postfix-3.2.0/html/postfix-manuals.html... Updating /usr/local/postfix-3.2.0/html/postfix-wrapper.5.html... Updating /usr/local/postfix-3.2.0/html/postfix.1.html... Updating /usr/local/postfix-3.2.0/html/postkick.1.html... Updating /usr/local/postfix-3.2.0/html/postlock.1.html... Updating /usr/local/postfix-3.2.0/html/postlog.1.html... Updating /usr/local/postfix-3.2.0/html/postmap.1.html... Updating /usr/local/postfix-3.2.0/html/postmulti.1.html... Updating /usr/local/postfix-3.2.0/html/postqueue.1.html... Updating /usr/local/postfix-3.2.0/html/postscreen.8.html... Updating /usr/local/postfix-3.2.0/html/postsuper.1.html... Updating /usr/local/postfix-3.2.0/html/qshape.1.html... Updating /usr/local/postfix-3.2.0/html/proxymap.8.html... Updating /usr/local/postfix-3.2.0/html/qmgr.8.html... Updating /usr/local/postfix-3.2.0/html/qmqp-sink.1.html... Updating /usr/local/postfix-3.2.0/html/qmqp-source.1.html... Updating /usr/local/postfix-3.2.0/html/qmqpd.8.html... Updating /usr/local/postfix-3.2.0/html/regexp_table.5.html... Updating /usr/local/postfix-3.2.0/html/relocated.5.html... Updating /usr/local/postfix-3.2.0/html/sendmail.1.html... Updating /usr/local/postfix-3.2.0/html/showq.8.html... Updating /usr/local/postfix-3.2.0/html/smtp-sink.1.html... Updating /usr/local/postfix-3.2.0/html/smtp-source.1.html... Updating /usr/local/postfix-3.2.0/html/smtp.8.html... Updating /usr/local/postfix-3.2.0/html/smtpd.8.html... Updating /usr/local/postfix-3.2.0/html/spawn.8.html... Updating /usr/local/postfix-3.2.0/html/tlsproxy.8.html... Updating /usr/local/postfix-3.2.0/html/tcp_table.5.html... Updating /usr/local/postfix-3.2.0/html/trace.8.html... Updating /usr/local/postfix-3.2.0/html/transport.5.html... Updating /usr/local/postfix-3.2.0/html/trivial-rewrite.8.html... Updating /usr/local/postfix-3.2.0/html/verify.8.html... Updating /usr/local/postfix-3.2.0/html/virtual.5.html... Updating /usr/local/postfix-3.2.0/html/virtual.8.html... Warning: you still need to edit myorigin/mydestination/mynetworks parameter settings in /usr/local/postfix-3.2.0/conf/main.cf. See also http://www.postfix.org/STANDARD_CONFIGURATION_README.html for information about dialup sites or about sites inside a firewalled network. BTW: Check your /etc/aliases file and be sure to set up aliases that send mail for root and postmaster to a real person, then run /usr/local/postfix-3.2.0/bin/newaliases.
実行ファイル中に書き込まれたデフォルトの設定ファイルパスと実際の設定ファイルのパスがことなれば、ここで最後に警告が出る。
設定ファイルパスを明示的に指定することで回避可能だが、手間であるし、またこの様にコマンドを手動実行しない場合は設定ファイルパスを指定できないので、makefileを生成しなおしてインストールしたほうが良い。
- 実行コマンド
- make installの場合
- 環境設定を行う
- インストールディレクトリへのシンボリックリンクを作成する。
これによって、複数のバージョンを同居させ、リンクを切り替えることで、バージョン変更が可能となる。
各バージョンの実行ファイルはデフォルトでは各バージョンの設定ファイルを読み込むこととなる。
rm -f /usr/local/postfix ln -s /usr/local/`pwd | sed "s/.*\///"` /usr/local/postfix
- 簡単にアクセスできるように環境変数を設定する
export POSTFIX_HOME=/usr/local/postfix
- ツール類にパスを通す
export PATH=$POSTFIX_HOME/bin:$PATH
- 環境変数を再起動後も有効にする
echo "" >> /etc/bashrc echo "# POSTFIX ENVIRONMENT VARIABLE" >> /etc/bashrc echo "export POSTFIX_HOME=$POSTFIX_HOME" >> /etc/bashrc echo "export PATH=\$POSTFIX_HOME/bin:\$PATH" >> /etc/bashrc
- Sendmail互換プログラムを入れ替える
- 環境変数が設定されているか確認
echo $TMP_SENDMAIL_DEFAULT_PATH echo $TMP_MAILQ_DEFAULT_PATH echo $TMP_NEWALIASES_DEFAULT_PATH
- 出力例
/usr/sbin/sendmail /usr/bin/mailq /usr/bin/newaliases
- 出力例
- リンクを作成する
ln -s $POSTFIX_HOME/bin/sendmail $TMP_SENDMAIL_DEFAULT_PATH ln -s $POSTFIX_HOME/bin/mailq $TMP_MAILQ_DEFAULT_PATH ln -s $POSTFIX_HOME/bin/newaliases $TMP_NEWALIASES_DEFAULT_PATH
- 環境変数が設定されているか確認
- インストールディレクトリへのシンボリックリンクを作成する。
- インストールに使用したパッケージを削除する
cd ../ rm -rf postfix-*
- インストールパスへ移動する
cd $POSTFIX_HOME
- 不要ファイルを削除する
rm -f conf/access rm -f conf/aliases rm -f conf/bounce.cf.default rm -f conf/canonical rm -f conf/generic rm -f conf/LICENSE rm -f conf/main.cf.default rm -f conf/main.cf.proto rm -f conf/makedefs.out rm -f conf/master.cf.proto rm -f conf/TLS_LICENSE rm -f conf/header_checks rm -f conf/relocated rm -f conf/transport rm -f conf/virtual rm -rf conf/dynamicmaps.cf* rm -rf conf/postfix-files.d
- HTMLが不要なら削除する
rm -rf html
- readmeが不要なら削除する
rm -rf readme
- HTMLが不要なら削除する
- メールスプール(メールの保存場所)として使用するディレクトリを作成する
インストール時に指定したパスか、変更する場合は新たなパスを指定する。
ただし、各ユーザのホームディレクトリにメールを保存する場合は不要。
mkdir -p /usr/local/data/mail
- Postfixユーザで使用するディレクトリのオーナー、権限変更
chown -R postfix:postfix /usr/local/postfix* chown root:root $POSTFIX_HOME/queue chown -R root:root $POSTFIX_HOME/queue/pid chown -R root:root $POSTFIX_HOME/conf chown -R root:root $POSTFIX_HOME/lib chown postfix:postfix /usr/local/data/mail chown postfix:postdrop $POSTFIX_HOME/bin/postqueue chown postfix:postdrop $POSTFIX_HOME/bin/postdrop chown postfix:postdrop $POSTFIX_HOME/queue/public chown postfix:postdrop $POSTFIX_HOME/queue/maildrop chmod 2755 $POSTFIX_HOME/bin/postqueue chmod 2755 $POSTFIX_HOME/bin/postdrop
- 初期設定ファイルを作成する
パラメータ”compatibility_level”設定は無くても問題ないが、”2″に設定しないと不要なログが出力されるので設定した方が良い。
cat > conf/main.cf << EOT compatibility_level = 2 EOT
- Postfixを起動する
- 起動コマンドを実行する
postfix start
既存のパッケージ版Postfixを何らかの理由で残したまま新しく今回構築した場合、次のようなエラーが出力される可能性がある。
postfix/postfix-script: warning: /usr/lib/sendmail and /usr/sbin/sendmail differ postfix/postfix-script: warning: Replace one by a symbolic link to the other
この場合、次を実行する。
rm -rf /usr/lib/sendmail ln -s /usr/local/postfix/bin/sendmail /usr/lib/sendmail
- 正常起動確認
postfix -v status
次のようなエラーがでる場合、設定に問題がある
postfix: fatal:~~
- 出力
[root@postfix1 ~]# postfix -v status postfix: name_mask: ipv4 postfix: name_mask: subnet postfix: inet_addr_local: configured 2 IPv4 addresses postfix: been_here: 127.0.0.0/8: 0 postfix: been_here: 192.168.0.0/24: 0 postfix: mynetworks: 127.0.0.0/8 192.168.0.0/24 postfix/postfix-script: the Postfix mail system is running: PID: XXXXX
- 出力
- 起動コマンドを実行する
- メール送信テストを行う
※本サーバが直接インターネット通信が可能な場合のみ有効
※メールを送信するために送信ホストのIPアドレス(インターネット経由の場合はグローバルアドレス)がDNS解決できる必要がある。
- メールを送信する
- ローカルにメールを送る場合
telnet localhost 25 MAIL FROM:test@example.com RCPT TO:root@[127.0.0.1] DATA test mail . quit
- インターネットにメールを送る場合
メールアドレスを修正して以下実行する。送信元メールアドレスのドメインは正しいものにする必要があるが、アカウント名は何でも良い。
telnet localhost 25 MAIL FROM:<送信元メールアドレス> RCPT TO:<宛先メールアドレス> DATA test mail . quit
- ローカルにメールを送る場合
- 送信が完了したことを確認する
mailq
- 宛先メールアドレスにメールが届いていることを確認する
- ローカルにメールを送った場合
cat /usr/local/data/mail/root/new/* # パスを変更しなかった場合のデフォルトのメール保存場所 # cat /var/spool/mail/root/new/*
- ローカルにメールを送った場合
- 停止する
postfix stop
- メールを送信する
- systemd登録を行う
postfixコマンド、systemctlコマンドでPostfixを停止する場合は、それぞれ同じコマンドで起動した場合にしかできないので注意。
- サービスファイルを作成する
cat > /etc/systemd/system/postfix.service << EOT [Unit] Description = Postfix Mail Transport Agent After=syslog.target network.target Conflicts=sendmail.service exim.service [Service] ExecStart=/usr/local/postfix/bin/postfix start ExecReload=/usr/local/postfix/bin/postfix reload ExecStop=/usr/local/postfix/bin/postfix stop Restart = always Type = simple PIDFile = /usr/local/postfix/queue/pid/master.pid [Install] WantedBy = multi-user.target EOT
- サービスを有効化する
systemctl enable postfix
- サービスが有効化されていることを確認する
systemctl list-unit-files --type service --no-pager | grep postfix
- サービスを起動する
systemctl start postfix
- 起動状態を確認する
systemctl status postfix -l
問題があった場合、次のコマンドでログを確認する。
journalctl -u postfix --no-pager
- サービスを停止する
systemctl stop postfix
- サービスファイルを作成する
Postfix設定
設定変更後、以下のコマンドで設定ファイルの妥当性確認を行うことができる。
postfix check
設定の反映は次のコマンドで行う
postfix reload
or
service postfix restart
main.cf
メインの設定ファイル
http://www.postfix.org/postconf.5.html
vi $POSTFIX_HOME/conf/main.cf
記法
標準的に以下のように記述する。
<設定項目> = <値>
設定値の欄において括弧の意味は以下。
- []
任意の値を選択するが、省略はできない - {}
任意の値を選択し、省略もできる - …
直前の変数値を複数個列挙して記述可能
パラメータのコピー
値には”$項目名”の形式で他のパラメータの値を利用可能である。例えば
A = 100 B = $A
とすることで、設定項目BにはAと同じく「100」が代入される。
複数列挙
値は” “で区切ることで、複数の値を設定可能である。
” “の前後に空白を入れてもよい。
三項演算
ある設定値を条件として2種類の設定値を設定することができる。
例えば、下記の場合、
B = ${{$A} < {1} ? {yes} : {no}}
他のパラメータAの値が1未満であればBには”yes”を、1以上であればBには”no”を設定可能である。
コメント
コメントは行頭に#を付ける。
標準設定一覧
次のコマンドで確認可能
postconf -d
設定ファイルの記述誤りの確認
次のコマンドを実行すると設定ファイルに記述ミスがないか確認可能。
設定は反映していなくても設定ファイルに記載するだけでチェックできる。
postfix -v status
問題がある場合、次のように表示される。
postfix: fatal: /usr/local/postfix-X.X.X/conf/main.cf, line X:~~~
データベースについて
Postfixはアクセス制御やアドレス書き換え、コンテンツフィルタリングのための情報の管理にデータベースを利用する。
各設定のデフォルトではローカルにファイルとして利用するが、外部のRDBMSやLDAPサーバを利用することも可能である。
具体的なPostfixのサブプログラムとしては、データベースを利用するのはnewaliasesコマンドやpostaliasコマンド、postmapコマンドである。
これらのコマンドでデータベースを更新した場合でもPostfixのリロードは不要である。
設定中でのデータベースの指定方法
設定中でデータベースを指定する場合、次のような書式で記述する。
<設定項目> = <データベースタイプ>:<データベースパス>
データベースパスではデータベースタイプに応じて付与される拡張子は指定しない。
対応するデータベースタイプによってファイル読み取り時に自動的に拡張子が付与される。
データベースタイプ
一般的には以下のタイプに対応している。
自環境で対応しているデータベースタイプを確認する場合、次のコマンドを実行する。
postconf -m
btree
ソートされたバランス木構造である。
Berkeley DBをサポートしたシステムでのみ使える。
データベースはファイル名の末尾に”.db”が付与される。
cdb
A read-optimized structure with no support for incremental updates. Database files are created with the postmap(1) or postalias(1) command.
データベースはファイル名の末尾に”.cdb”が付与される。
cidr
A table that associates values with Classless Inter-Domain Routing (CIDR) patterns. The table format is described in cidr_table(5).
値が Classless Inter-Domain Routing (CIDR) パターンに関連付いている テーブル。テーブルの書式は cidr_table(5) に記述されています。
dbm
ハッシュインデックスを用いたデータベース。
“.dir”、”.pag”ファイルの2種類で構成され、テーブル名はこれらを除いたものとなる。
Postfixの標準的なデータベース。環境によってdbmデータベースかhashデータベースかのいずれかが対応しており、そちらがデフォルトのタイプとなる。
environ
The UNIX process environment array. The lookup key is the variable name. The lookup table name in “environ:table” is ignored.
UNIX プロセス環境配列。検索キーは変数名です。”environ:table” の 検索テーブル名は無視されます。
fail
A table that reliably fails all requests. The lookup table name is used for logging only. This table exists to simplify Postfix error tests.
hash
ハッシュインデックスを用いたデータベース。
Postfixの標準的なデータベース。環境によってdbmデータベースかhashデータベースかのいずれかが対応しており、そちらがデフォルトのタイプとなる。
データベースはファイル名の末尾に”.db”が付与される。
inline
A non-shared, in-memory lookup table. Example: “inline:{ key=value, { key = text with whitespace or comma }}”. Key-value pairs are separated by whitespace or comma; whitespace after “{” and before “}” is ignored. Inline tables eliminate the need to create a database file for just a few fixed elements. See also the static: map type.
読み取り専用。
internal
Postfixのプロセス内部で生成・保持するインメモリーデータベース。
プロセス終了時にデータは失われる。
lmdb
OpenLDAP LMDB database. This is available only on systems with support for LMDB databases. Public database files are created with the postmap(1) or postalias(1) command, and private databases are maintained by Postfix daemons.
データベースはファイル名の末尾に”.lmdb”が付与される。
ldap
LDAPサーバにデータを保存する。
使用方法は次のコマンドで確認する。
man ldap_table
読み取り専用。
memcache
Memcacheサーバにデータを保存する。
使用方法は次のコマンドで確認する。
man memcache_table
mysql
MySQLサーバにデータを保存する。
使用方法は次のコマンドで確認する。
man mysql_table
netinfo
Netinfo database client.
読み取り専用。
nis
NIS database client.
読み取り専用。
nisplus
NIS+ database client. Configuration details are given in nisplus_table(5).
読み取り専用。
pcre
A lookup table based on Perl Compatible Regular Expressions. The file format is described in pcre_table(5). The lookup table name as used in “pcre:table” is the name of the regular expression file.
読み取り専用。
Perl 互換正規表現に基づく検索テーブル。ファイルの書式は pcre_table(5) に記述されています。 “pcre:table” で使われる検索テーブル名は 正規表現ファイルの名前です。
pipemap
A pipeline of lookup tables. Example: “pipemap:{type1:name1, …, typen:namen}”. Each “pipemap:” query is given to the first table. Each lookup result becomes the query for the next table in the pipeline, and the last table produces the final result. When any table lookup produces no result, the pipeline produces no result. The first and last characters of the “pipemap:” table name must be “{” and “}”. Within these, individual maps are separated with comma or whitespace.
読み取り専用。
pgsql
PostgreSQLサーバにデータを保存する。
使用方法は次のコマンドで確認する。
man pgsql_table
読み取り専用。
proxy
Postfix proxymap(8) client for shared access to Postfix databases. The lookup table name syntax is “proxy:type:table”.
randmap
An in-memory table that performs random selection. Example: “randmap:{result1. …, resultn}”. Each table query returns a random choice from the specified results. The first and last characters of the “randmap:” table name must be “{” and “}”. Within these, individual maps are separated with comma or whitespace.
読み取り専用。
regexp
A lookup table based on regular expressions. The file format is described in regexp_table(5). The lookup table name as used in “regexp:table” is the name of the regular expression file.
読み取り専用。
正規表現に基づく検索テーブル。ファイルの書式は regexp_table(5) に記述されています。 “regexp:table” で使われる検索テーブル名は 正規表現ファイルの名前です。
sdbm
An indexed file type based on hashing. This is available only on systems with support for SDBM databases. Public database files are created with the postmap(1) or postalias(1) command, and private databases are maintained by Postfix daemons.
データベースは2種類のファイルで構成され、それぞれファイル名の末尾に”.dir”、”.pag”が付与される。
socketmap
Sendmail-style socketmap client. The name of the table is either inet:host:port:name for a TCP/IP server, or unix:pathname:name for a UNIX-domain server. See socketmap_table(5) for details.
読み取り専用。
sqlite
SQLite database. Configuration details are given in sqlite_table(5).
読み取り専用。
static
読み取り専用。
検索結果として常に検索テーブル名を返す。
例えば、検索テーブル “static:foobar” は常に検索結果として “foobar” を返す。
テーブル名に空白を含む場合、次のように記述する。
"static:{ text with whitespace }"
tcp
TCP/IP client. The protocol is described in tcp_table(5). The lookup table name is “tcp:host:port” where “host” specifies a symbolic hostname or a numeric IP address, and “port” specifies a symbolic service name or a numeric port number.
TCP/IP サーバを使って情報にアクセスします。プロトコルは tcp_table(5) に 記述されています。検索テーブル名は “tcp:host:port” で、”host” には ホストのシンボル名または数値の IP アドレスを、”port” にはサービスの シンボル名または数値のポート番号を指定します。このプロトコルは Postfix バージョン 2.1 では使えません。
texthash
A table that produces similar results as hash: files, except that you don’t have to run the postmap(1) command before you can use the file, and that texthash: does not detect changes after the file is read. The lookup table name is “texthash:filename”, where the file name is taken literally; no suffix is appended.
読み取り専用。
unionmap
A table that sends each query to multiple lookup tables and that concatenates all found results, separated by comma. The table name syntax is the same as for pipemap tables.
読み取り専用。
unix
UNIX認証データベースを利用する。
以下のいずれかを指定する。
読み取り専用。
- unix:passwd.byname
The table is the UNIX password database. The key is a login name. The result is a password file entry in passwd(5) format.
- unix:group.byname
The table is the UNIX group database. The key is a group name. The result is a group file entry in group(5) format.
基本設定
各種パス
mail_spool_directory
全ユーザ共通の受信メールの保存パス(スプール)。
設定値の最後が”/”で終わるとMaildir形式となり、
そうでない場合はMailbox形式でメールが保存される。
パラメータ”home_mailbox”を指定した場合は、ここで指定したディレクトリでなく、各ユーザのホームディレクトリ下の指定のパスに保存される。
- 設定値
mail_spool_directory = <パス>
- デフォルト
mail_spool_directory = <インストール時に指定した場所>
command_directory
実行ファイルのパス
- 設定値
command_directory = <パス>
- デフォルト
command_directory = <インストール時に指定した場所>
config_directory
設定ファイルのパス
- 設定値
config_directory = <パス>
- デフォルト
config_directory = <インストール時に指定した場所>
data_directory
Postfix実行時に利用するキャッシュや乱数などの一時データを保存するパス
- 設定値
data_directory = <パス>
- デフォルト
data_directory = <インストール時に指定した場所>
html_directory
HTMLドキュメントが配置されているパス
- 設定値
html_directory = <パス>
- デフォルト
html_directory = <インストール時に指定した場所>
mailq_path
mailqプログラムのパス
- 設定値
mailq_path = <パス>
- デフォルト
mailq_path = <インストール時に指定した場所>
manpage_directory
manドキュメントが配置されているパス
- 設定値
manpage_directory = <パス>
- デフォルト
manpage_directory = <インストール時に指定した場所>
meta_directory
Postfixインスタンスを多重起動させる際の設定ファイルのパス
- 設定値
meta_directory = <パス>
- デフォルト
meta_directory = <インストール時に指定した場所>
newaliases_path
newaliasesプログラムのパス
- 設定値
newaliases_path = <パス>
- デフォルト
newaliases_path = <インストール時に指定した場所>
queue_directory
メールキューのファイルを保存するパス
- 設定値
queue_directory = <パス>
- デフォルト
queue_directory = <インストール時に指定した場所>
readme_directory
readmeドキュメントが配置されているパス
- 設定値
readme_directory = <パス>
- デフォルト
readme_directory = <インストール時に指定した場所>
sample_directory
設定ファイルのサンプルのインストールパスであった。
現バージョンでは既に廃止されており、意味をなさない。
なお、ソースコードアーカイブ中にもサンプルファイルは存在しない。
- 設定値
sample_directory = <パス>
- デフォルト
sample_directory = <インストール時に指定した場所>
sendmail_path
sendmailプログラムのパス
- 設定値
sendmail_path = <パス>
- デフォルト
sendmail_path = <インストール時に指定した場所>
shlib_directory
共有ライブラリファイルのパス
- 設定値
shlib_directory = <パス>
- デフォルト
shlib_directory = <インストール時に指定した場所>
サービス名
bounce_service_name
配送に失敗したメールの記録や通知を行うbounceサービスの名前。
- 設定値
bounce_service_name = <サービス名>
- デフォルト
bounce_service_name = bounce
cleanup_service_name
アドレス書き換えを行うcleanupサービスの名前。
アドレス書き換えにはcanonical系とvirtual系がある。
- 設定値
cleanup_service_name = <サービス名>
- デフォルト
cleanup_service_name = cleanup
connection_cache_service_name
scacheサービスの名前
- 設定値
connection_cache_service_name = <サービス名>
- デフォルト
connection_cache_service_name = scache
defer_service_name
deferサービスの名前
- 設定値
defer_service_name = <サービス名>
- デフォルト
defer_service_name = defer
dnsblog_service_name
dnsblogサービスの名前
- 設定値
dnsblog_service_name = <サービス名>
- デフォルト
dnsblog_service_name = dnsblog
error_service_name
errorサービスの名前
- 設定値
error_service_name = <サービス名>
- デフォルト
error_service_name = error
flush_service_name
flushサービスの名前
- 設定値
flush_service_name = <サービス名>
- デフォルト
flush_service_name = flush
pickup_service_name
pickupサービスの名前
- 設定値
pickup_service_name = <サービス名>
- デフォルト
pickup_service_name = pickup
proxymap_service_name
proxymapサービスの名前
- 設定値
proxymap_service_name = <サービス名>
- デフォルト
proxymap_service_name = proxymap
proxywrite_service_name
proxywriteサービスの名前
- 設定値
proxywrite_service_name = <サービス名>
- デフォルト
proxywrite_service_name = proxywrite
queue_service_name
qmgrサービスの名前
- 設定値
queue_service_name = <サービス名>
- デフォルト
queue_service_name = qmgr
rewrite_service_name
rewriteサービスの名前
- 設定値
rewrite_service_name = <サービス名>
- デフォルト
rewrite_service_name = rewrite
showq_service_name
showqサービスの名前
- 設定値
showq_service_name = <サービス名>
- デフォルト
showq_service_name = showq
smtpd_service_name
smtpdサービスの名前
- 設定値
smtpd_service_name = <サービス名>
- デフォルト
smtpd_service_name = smtpd
tlsmgr_service_name
tlsmgrサービスの名前
- 設定値
tlsmgr_service_name = <サービス名>
- デフォルト
tlsmgr_service_name = tlsmgr
tlsproxy_service_name
tlsproxyサービスの名前
- 設定値
tlsproxy_service_name = <サービス名>
- デフォルト
tlsproxy_service_name = tlsproxy
trace_service_name
traceサービスの名前
- 設定値
trace_service_name = <サービス名>
- デフォルト
trace_service_name = trace
ネットワーク
inet_protocols
使用するネットワーク層プロトコル
- 設定値
inet_protocols = [ all | ipv4 | ipv6 ]
- デフォルト
inet_protocols = all
inet_interfaces
接続を受け付けるネットワークインタフェース。
- 設定値
inet_interfaces = [ all | loopback-only | <IPアドレス> ] { , ... }
- all
全てのインタフェース - loopback-only
ループバックインタフェースのみ
- all
- デフォルト
inet_interfaces = all
mydestination
ローカル配送されるドメインのリスト
- 設定値
mydestination = $myhostname, localhost.$mydomain, localhost
- デフォルト
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain
このPostfixが構成するメールシステムのインターネットにおけるドメイン名
- 設定値
mydomain = localdomain
- デフォルト
mydomain = localdomain
myhostname
このPostfixが構成するメールシステムのインターネットにおけるホスト名
- 設定値
myhostname = postfix.localdomain
- デフォルト
myhostname = postfix.localdomain
mynetworks
信頼されたネットワークアドレスのリスト
- 設定値
mynetworks = <ネットワークアドレス> | !<IPアドレス> | <データベースタイプ>:<データベースパス> | <ファイルパス>
- !<IPアドレス>
指定されたIPアドレスは信頼できないものとする - <ファイルパス>
指定されたファイルを読み込み、本パラメータに設定する。
- !<IPアドレス>
- デフォルト
mynetworks = 127.0.0.0/8 192.168.133.0/24 [::1]/128 [fe80::]/64
mynetworks_style
パラメータ”mynetworks”が設定されていない場合のデフォルト値。
- 設定値
mynetworks_style = host | subnet | class
- host
ローカルマシンのみ信頼する - subnet
ローカルマシンと同じサブネットのみ信頼する - class
クラスフルネットワークにおいて、ローカルマシンと同じネットワーククラスのみ信頼する
- host
- デフォルト
mynetworks_style = ${{$compatibility_level} < {2} ? {subnet} : {host}}
myorigin
ドメイン名を指定し、外部向けのメールは指定のドメインから送信するものとして扱われ、ローカルから発信されたメールは指定のドメインのメールサーバから発信される。
- 設定値
myorigin = <ドメイン名>
- デフォルト
myorigin = $myhostname
parent_domain_matches_subdomains
親ドメインがあるパラメータに設定されている場合、そのドメインのサブドメインもそのパラメータの適用を受けるようにする、パラメータのリスト。
- 設定値
parent_domain_matches_subdomains = {<パラメータ名>, ...}
- デフォルト
parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps
tcp_windowsize
Postfixが使用すべきTCPウインドウサイズを指定する。
未指定の場合、OSが自動で設定する。
- 設定値
tcp_windowsize = <ウインドウサイズ>
0より大きく65536より小さな値を指定する。
0を指定した場合、未指定となる。
- デフォルト
tcp_windowsize = 0
proxy_interfaces
Postfixが受信することができる、プロキシやネットワークアドレス変換を行うノードを指定する
- 設定値
proxy_interfaces = {<IPアドレス>}
- デフォルト
proxy_interfaces =
Postfix
mail_name
メールシステムの名前。
Received:ヘッダ、SMTP greeting banner、バウンスメールで用いられる。
- 設定値
mail_name = <メールシステム名>
- デフォルト
mail_name = Postfix
mail_release_date
現Postfixのリリース日
- 設定値
mail_release_date = <YYYYMMDD>
- デフォルト
mail_release_date = 20170228
mail_version
現Postfixのバージョン
- 設定値
mail_version = 3.2.0
- デフォルト
mail_version = 3.2.0
他
mail_owner
Postfixの各子プロセス、ファイル群の所有者のユーザ名。
ここで指定したユーザを別途作成しておく必要がある。
デフォルトの場合、「postfix」ユーザが使用されるが、ソースインストールの場合は自分で作成しておく。
なお、Postfixの各子プロセスはmasterプロセスから生成されるが、masterプロセス自身はrootユーザで動作する。
また、rootユーザ以外ではPostfixは起動させられない。
この設定を変更する際、Postfixを停止してから実行しないと停止時に自動で削除される”$POSTFIX_HOME/data/./master.lock”ファイルが削除されずに、次回起動時にエラーとなる。その場合、手動で削除する必要がある。
この設定を変更した場合、次のコマンドでファイルの所有者を変更しておく必要がある。
postfix set-permissions
- 設定値
mail_owner = <ユーザ名>
- デフォルト
mail_owner = postfix
compatibility_level
以前のバージョンのPostfixからパラメータのデフォルト値が変更されている場合に変更前の値を使用するかどうかを設定する。
設定は<互換性レベル>を整数により行うが、数値が直接バージョンを表しているわけではなく、どのレベルでどのパラメータに影響が出るかは確認が必要である。
確認方法は以下。
postconf -d | grep \$compatibility_level # 出力例 # [root@postfix ~]# postconf -d | grep \$compatibility_level # append_dot_mydomain = ${{$compatibility_level} < {1} ? {yes} : {no}} # mynetworks_style = ${{$compatibility_level} < {2} ? {subnet} : {host}} # relay_domains = ${{$compatibility_level} < {2} ? {$mydestination} : {}}
- 設定値
compatibility_level = <互換性レベル>
数値が高いほど互換性レベルは低くなる。
現状では2を設定すれば、最新版のデフォルト値を使用できる。
0の場合は対象パラメータすべてについて以前のバージョンのデフォルトが使用される。
- デフォルト
compatibility_level = 0
message_size_limit
エンベロープ部分を含む、Postfixが扱える最大メールサイズ。
- 設定値
message_size_limit = <最大メールサイズ(byte)>
- デフォルト
message_size_limit = 10240000
master_service_disable
特定のサービスや特定の通信方法を使用不可にする。
- 設定値
master_service_disable = { <サービス名>{/<通信方法>} | !<ポート番号>/inet }{, ...}
- <サービス名>{/<通信方法>}
特定のサービス、またはそのサービスの一部の通信方法を使用不可にする - <ポート番号>/inet
TCP/IPの指定のポート以外を使用不可にする - サービス名例
設定ファイル”master.cf”記載のサービス名を指定する
- smtp
- 他
- 通信方法
- inet
TCP/IP - unix
- fifo
- pass
- inet
- <サービス名>{/<通信方法>}
- デフォルト
master_service_disable =
process_id
Postfixコマンド、デーモンプロセスのプロセスID
- 設定値
process_id = <プロセスID>
- デフォルト
process_id = 2075
process_id_directory
パラメータ”queue_directory”からのPostfix PIDファイルの相対位置。
読み取り専用パラメータ。
- デフォルト
process_id_directory = pid
process_name
Postfixコマンド、デーモンプロセスのプロセス名。
- 設定値
process_name = <プロセス名>
- デフォルト
process_name = postconf
setgid_group
Postfixコマンド、グループ書き込み可能なPostfix関連ディレクトリの所有グループ名。
このパラメータの値を変更したら、以下を実行する必要がある(オーナー変更も行われる)
postfix set-permissions
- 設定値
setgid_group = <グループ名>
- デフォルト
setgid_group = postdrop
ログ
syslog_facility
syslogのfacility名
- 設定値
syslog_facility = <facility名>
- デフォルト
syslog_facility = mail
syslog_name
ログ出力において各実行プログラムの名前の前に付加される文字列。
次のようなフォーマットで出力されるが、”postfix-script”がログを出力したプログラム名、その前の”postfix”が本パラメータで設定した値である。
Jun 22 19:01:45 postfix postfix/postfix-script[1498]: starting the Postfix mail system
Syslogは通常他のプログラムとログが混在するので、Postfixの識別子として利用できる。
- 設定値
syslog_name = <文字列>
- デフォルト
syslog_name = ${multi_instance_name?{$multi_instance_name}:{postfix}}
debug_peer_level
ログの詳細レベル
- 設定値
debug_peer_level = [ 0 | 1 | 2 | 3 ]
0の場合、ログを出力しない。
数値が大きくなるにつれて、詳細度が増す。
4以上の場合は3と同じ扱いになる。
※ソースコードを確認
grep msg_verbose ~/postfix-*/*/*/* 2>&1 | egrep -v "grep|html|man|Binary" | sed "s/\s\+/ /g" | uniq | egrep ":.*[0-9]"
- デフォルト
debug_peer_level = 2
debug_peer_list
パラメータ”debug_peer_level”で設定したログレベルを有効化する接続ホストのリスト。
ここで指定したホストとの接続に関するログのみ詳細度が適用される。
- 設定値
debug_peer_list = { <ネットワークアドレス/サブネットマスク> | <リストを記載したファイル名のパス> | {<データベースタイプ>:<データベースパス>} }
空白の場合、全てのホストで指定したログレベルが適用される。
- デフォルト
debug_peer_list =
delay_logging_resolution_limit
ログに小数点以下の数値を記載する際の小数点以下の最大の桁数。
指定以下の値は0に切り捨てられる。
- 設定値
delay_logging_resolution_limit = { 0..6 }
- デフォルト
delay_logging_resolution_limit = 2
destination_concurrency_feedback_debug
メール送信の多重度に関するログを詳細に出力するかどうか。
詳細に出力することで、パフォーマンス分析に役立てられる。
参考:http://www.postfix.org/SCHEDULER_README.html
- 設定値
destination_concurrency_feedback_debug = [ yes | no ]
- デフォルト
destination_concurrency_feedback_debug = no
enable_long_queue_ids
キューIDに再使用されない長い文字列の使用を許可する。
これによってログ中のキューIDが一意に保たれ、ログファイルの解析が容易になる。
- 設定値
enable_long_queue_ids = [ yes | no ]
- デフォルト
enable_long_queue_ids = no
helpful_warnings
設定に問題がある場合、ログに警告共に推奨情報を記録する。
- 設定値
helpful_warnings = [ yes | no ]
- デフォルト
helpful_warnings = yes
メール送信全般
VERP
verp_delimiter_filter
VERP(Variable envelope return path)を使用する際の区切り文字として受け付ける文字を指定する。
- 設定値
verp_delimiter_filter = <区切り文字>
- デフォルト
verp_delimiter_filter = -=+
default_verp_delimiters
明示的に指定されなかった場合に使用されるデフォルトのVERP区切り文字。
パラメータ”verp_delimiter_filter”で指定された文字しか利用できない。
- 設定値
default_verp_delimiters = <区切り文字>
- デフォルト
default_verp_delimiters = +=
disable_verp_bounces
VERPを使用して複数の宛先を持つメールを送り、複数の宛先が配送不能であった場合、バウンスメールを1通にまとめて送信元に送り返すか、各々のメールアドレス用のバウンスメールを生成して送り返すかを設定する。
- 設定値
disable_verp_bounces = [ yes | no ]
yesの場合は各メールアドレス毎にバウンスメールを送り、noの場合は1通にまとめてバウンスメールを送る。
- デフォルト
disable_verp_bounces = no
VERPを使用するために使用するsmtpのサブコマンド”XVERP”を使用すること許可するクライアントを指定する。
- 設定値
smtpd_authorized_verp_clients = <クライアントアドレス>
- デフォルト
smtpd_authorized_verp_clients = $authorized_verp_clients
エラー
bounce_queue_lifetime
メールを送信失敗した際に、再送のためキューに保存する期間。
- 設定値
bounce_queue_lifetime = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
bounce_queue_lifetime = 5d
配送方法
default_transport
デフォルトで使用する配送方法を指定する。
ただし、以下で設定したパラメータに該当する宛先の場合、対応した配送方法が使用される。
- $mydestination
- $inet_interfaces
- $proxy_interfaces
- $virtual_alias_domains
- $virtual_mailbox_domains
- $relay_domains
また、パラメータ”sender_dependent_default_transport_maps”によって宛先毎に個別に配送方法を指定できる。
- 設定値
default_transport = <配送方法>
- デフォルト
default_transport = smtp
sender_dependent_default_transport_maps
エンベロープの送信元アドレスによってトランスポートを割り当てるための設定が保存されたデータベース。
このデータベースに該当する場合、パラメータ”default_transport”で指定されたデフォルトの配送方法を使用しない。
データベースに該当しない場合、またはデータベースを指定していない場合はデフォルトの配送方法が使用される。
- 設定値
sender_dependent_default_transport_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
sender_dependent_default_transport_maps =
empty_address_default_transport_maps_lookup_key
宛先アドレスが空の場合、パラメータ”sender_dependent_default_transport_maps”にて検索する代わりの文字列を指定する
- 設定値
empty_address_default_transport_maps_lookup_key = <検索文字列>
- デフォルト
empty_address_default_transport_maps_lookup_key = <>
defer_transports
最初の配送要求があっても配送を行わず一旦キューに溜める。
その後キューの再配送(postqueue -f等)を明示的に実行することで送信する。
- 設定値
defer_transports = {<トランスポート>}
- デフォルト
defer_transports =
アドレスマスカレード
masquerade_classes
- 設定値
masquerade_classes = envelope_sender, header_sender, header_recipient
- デフォルト
masquerade_classes = envelope_sender, header_sender, header_recipient
masquerade_domains
- 設定値
masquerade_domains = {<>}
- デフォルト
masquerade_domains =
masquerade_exceptions
- 設定値
masquerade_exceptions = {<>}
- デフォルト
masquerade_exceptions =
その他
allow_untrusted_routing = no
信頼されていないホストからのsender-specified routingを使用したメール転送を拒否する。
パラメータ「mynetworks」、「relay_domains」にて設定された「信頼された」ホストからの転送要求は行われる。
- 設定値
allow_untrusted_routing = [ yes | no ]
- デフォルト
allow_untrusted_routing = no
default_delivery_slot_cost
メール送信時にあるメールをキュー内で送信待機中の他のメールの前に割り込ますことができる頻度。
- 設定値
default_delivery_slot_cost = <>
0の場合、割り込みは無効
- デフォルト
default_delivery_slot_cost = 5
default_delivery_slot_discount
送信キュー割り込み関連
- 設定値
default_delivery_slot_discount = 50
- デフォルト
default_delivery_slot_discount = 50
default_delivery_slot_loan
送信キュー割り込み関連
- 設定値
default_delivery_slot_loan = 3
- デフォルト
default_delivery_slot_loan = 3
ignore_mx_lookup_error
MXレコードをDNS解決できなかった際に、代わりにAレコードを用いるかどうか。
この設定を無効にした場合は、一定時間後に再度MXレコードを問い合わせる。
- 設定値
ignore_mx_lookup_error = [ yes | no ]
- デフォルト
ignore_mx_lookup_error = no
resolve_null_domain
ドメインパートが指定されていないメールの配送要求があった際、そのメールがPostfix自身のローカルホスト宛のメールとして処理する。
- 設定値
resolve_null_domain = [ yes | no ]
- デフォルト
resolve_null_domain = no
undisclosed_recipients_header
メッセージにToまたはCcメッセージヘッダがない場合にcleanupプログラムにより挿入されるメッセージヘッダ。
- 設定値
undisclosed_recipients_header = {<>}
- デフォルト
undisclosed_recipients_header =
メール受信全般
ローカル配送
ローカル配送時に宛先ユーザ変換、マッピング、プログラムの実行などが各パラメータで可能である。
その際の優先順位は以下である。上記のもの程、先に実行される。
- エイリアス関連パラメータ
- .forwardファイル
- パラメータmailbox_transport_maps
- パラメータmailbox_transport
- パラメータmailbox_command_maps
- パラメータmailbox_command
- パラメータhome_mailbox
- パラメータmail_spool_directory
- パラメータfallback_transport_maps
- パラメータfallback_transport
- パラメータluser_relay
default_privs
ローカル配送の際に使用されるユーザ。
ローカル配送時に外部プログラムを実行する場合はその権限もこのパラメータで指定できる。
特権ユーザやPostfixの所有者を指定してはいけない。
- 設定値
default_privs = <ユーザ名>
- デフォルト
default_privs = nobody
command_execution_directory
localプログラムがメール配送時に動作するディレクトリのパス
- 設定値
command_execution_directory = {<パス>}
- 使用可能変数
以下の変数が利用可能である。
- $user
受信者のユーザ名。 - $shell
受信者のログインシェルパス名。 - $home
受信者のホームディレクトリ。 - $recipient
完全な受信者アドレス。 - $extension
オプションの受信者拡張アドレス。 - $domain
受信者のドメイン。 - $local
受信者のローカル部分全体。 - $recipient_delimiter
システム全体にわたる、受信者拡張アドレスの区切り文字。 - ${name?value}
$name が空でない場合に value に展開されます。 - ${name?value}
$name が空の場合に value に展開されます。
- $user
- デフォルト
command_execution_directory =
execution_directory_expansion_filter
パラメータ”command_execution_directory”で変数展開する際に展開後使用可能な文字を指定する。
ここで使用されなかった文字が使用された場合は”_”(アンダースコア)で置き換えれられる。
- 設定値
execution_directory_expansion_filter = 1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
- デフォルト
execution_directory_expansion_filter = 1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
mailbox_transport
ローカル配送する際に使用する配送方法を一括指定する。
ここで指定した配送方法によりローカル配送がおこなわれるので、Postfix自身はローカル配送を行わない。
- 設定値
mailbox_transport = {<サービス名(Transport名)>{:<次転送先>}}
配送方法は設定ファイル”master.cf”にて記載したサービス名でなければならない。
空白の場合、通常のローカル配送を行う。
次転送先を指定しない場合、宛先メールアドレスのドメインに転送される。
- デフォルト
mailbox_transport =
mailbox_transport_maps
ローカル配送する際に使用する配送方法を受信者毎に指定するためのデータベース。
ここで指定した配送方法によりローカル配送がおこなわれるので、Postfix自身はローカル配送を行わない。
- 設定値
mailbox_transport_maps = {<データベースタイプ>:<データベースパス>}
データベース内の設定値についてはパラメータ”mailbox_transport”の記法に従う。
- デフォルト
mailbox_transport_maps =
mailbox_command
メールをローカル配送する際に実行する全宛先アカウント共通のコマンド。
コマンドは配送先のユーザ権限で動作する。
ただし、root宛のメールはパラメータdefault_privsのユーザ権限で実行される。
ローカル配送の優先度の関係で、別名が設定されていた場合、その別名のユーザで実行されることになる。
- 設定値
mailbox_command = {<コマンド・引数>}
空白の場合、何も実行しない。
- 変数
以下の変数を利用できる。
- $CLIENT_ADDRESS
リモートクライアントネットワークアドレス - $CLIENT_HELO
リモートクライアントEHLOコマンドパラメータ - $CLIENT_HOSTNAME
リモートクライアントホスト名 - $CLIENT_PROTOCOL
リモートクライアントプロトコル - $DOMAIN
受信者アドレスのドメイン部分 - $EXTENSION
オプションの拡張アドレス - $HOME
受信者のホームディレクトリ - $LOCAL
受信者アドレスのローカル部分 - $LOGNAME
受信者のユーザ名。 - $RECIPIENT
完全な受信者アドレス。 - $SASL_METHOD
リモートクライアントAUTHコマンドで指定されたSASL認証の方法 - $SASL_SENDER
リモートクライアントMAIL FROMコマンドで指定されたSASL送信者アドレス - $SASL_USER
リモートクライアントAUTHコマンドで指定されたSASLユーザ名 - $SENDER
完全な送信者アドレス - $SHELL
受信者のログインシェル - $USER
受信者のユーザ名
- $CLIENT_ADDRESS
- 変数
- デフォルト
mailbox_command =
mailbox_command_maps
メールをローカル配送する際に実行する宛先アカウント毎のコマンド。
コマンドは配送先のユーザ権限で動作する。
ローカル配送の優先度の関係で、別名が設定されていた場合、その別名のユーザで実行されることになる。
- 設定値
mailbox_command_maps = {<データベースタイプ>:<データベースパス>}
データベース内の設定値についてはパラメータ”mailbox_command”の記法に従う。
- デフォルト
mailbox_command_maps =
home_mailbox
受信したメールを保存するパス。
ユーザのホームディレクトリからの相対パスで指定する。
- 設定値
home_mailbox = {<パス>{/}}
パスの最後に”/”をつけるとMaildir形式となる。
空白の場合、パラメータ”mail_spool_directory”のディレクトリ上に保存される。
その際、メールボックスファイルの名前はユーザ名となる。
- デフォルト
home_mailbox =
fallback_transport
ローカルに配送先ユーザが見つからない場合の配送方法を一括指定する。
ここで指定した配送方法によりローカル配送がおこなわれるので、Postfix自身はローカル配送を行わない。
- 設定値
fallback_transport = {<サービス名(Transport名)>{:<次転送先>}}
配送方法は設定ファイル”master.cf”にて記載したサービス名でなければならない。
空白の場合、通常は配送不能とみなされる(以降の優先度の配送方法で配送できた場合を除く)。
次転送先を指定しない場合、宛先メールアドレスのドメインに転送される。
- デフォルト
fallback_transport =
fallback_transport_maps
ローカルに配送先ユーザが見つからない場合の配送方法を受信者毎に指定するためのデータベース。
ここで指定した配送方法によりローカル配送がおこなわれるので、Postfix自身はローカル配送を行わない。
- 設定値
fallback_transport_maps = {<データベースタイプ>:<データベースパス>}
データベース内の設定値についてはパラメータ”fallback_transport”の記法に従う。
- デフォルト
fallback_transport_maps =
luser_relay
受信したメールがローカル配送不能となった場合の通知先メールアドレス。
- 設定値
luser_relay = {<メールアドレス>}
空白の場合、送信者にバウンスメールが返される。
- 変数
以下の変数を利用できる。
- $domain
受信者のドメイン - $extension
受信者の拡張アドレス - $home
受信者のホームディレクトリ - $local
受信者アドレスのローカル部分全体 - $recipient
完全な受信者アドレス - $recipient_delimiter
システム全体にわたる、受信者拡張アドレスの区切り文字 - $shell
受信者のログインシェル - $user
受信者のユーザ名 - ${name?value}
$nameが空でない場合のみ$valueが展開される - ${name:value}
$nameが空の場合のみ$valueが展開される
- $domain
- デフォルト
luser_relay =
mailbox_delivery_lock
ローカル配送を行う前にメールボックスをロックする方法。
メールディレクトリ形式を使用している場合はこの設定は無視され、ロックは行われない。
利用可能なロック方式は次のコマンドで確認できる。
- 確認コマンド
postconf -l
- 結果例
[root@postfix postfix]# postconf -l flock fcntl dotlock
- 設定値
mailbox_delivery_lock = <ロック方式>{, ...}
- ロック方式
- flock
kernel-based advisory locking method for local files
only. This locking method is available on systems with a
BSD compatible library.
- flock
- fcntl
kernel-based advisory locking method for local and remote files.
- dotlock
An application-level locking method. An application locks
a file named filename by creating a file named file-
name.lock. The application is expected to remove its own
lock file, as well as stale lock files that were left
behind after abnormal program termination.
メールボックスの親ディレクトリに受信者のUIDまたはGIDの書き込み権が必要である
- デフォルト
mailbox_delivery_lock = fcntl, dotlock
command_expansion_filter
パラメータmailbox_commandでの環境変数展開後の値に含むことができる文字を指定する。
ここで設定された文字以外の文字はアンダースコア(_)で置き換えられる。
- 設定値
command_expansion_filter = <文字>
- デフォルト
command_expansion_filter = 1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
command_time_limit
pipeコマンドが外部プログラムに配送を委譲するまでの制限時間。
- 設定値
command_time_limit = 1000s
- デフォルト
command_time_limit = 1000s
mailbox_size_limit
メールボックスまたはメールディレクトリの最大サイズ。
メールディレクトリの場合、このディレクトリに書き込まれるメールファイルだけでなく、あらゆるファイルの合計がメールディレクトリのサイズとして扱われる。
- 設定値
mailbox_size_limit = <最大サイズ(byte)>
0の場合は無制限
- デフォルト
mailbox_size_limit = 51200000
forward_path
ローカル配送の際に.forwardファイルを見つけるために検索するパスのリスト。
最初に見つかったファイルが使われる。
- 設定値
forward_path = <パス>{, ...}
- 変数
以下の変数を利用できる。
パラメータ”forward_expansion_filter”で設定された文字のみ変数の展開結果として利用でき、それ以外はアンダースコアに変換される。
- $user
受信者のユーザ名 - $shell
受信者のログインシェルパス - $home
受信者のホームディレクトリ - $recipient
完全な受信者アドレス - $extension
受信者の拡張アドレス - $domain
受信者のドメイン - $local
受信者アドレスのローカル部分全体 - $recipient_delimiter
システム全体にわたる、受信者拡張アドレスの区切り文 - ${name?value}
$nameが空でない場合のみ$valueが展開される - ${name:value}
$nameが空の場合のみ$valueが展開される
- $user
- 変数
- デフォルト
forward_path = $home/.forward${recipient_delimiter}${extension}, $home/.forward
forward_expansion_filter
パラメータ”forward_path”で変数を使用する際に変数の展開結果として使用可能な文字セット。
ここで指定されなかった文字はアンダースコアに変換される。
- 設定値
forward_expansion_filter = <文字セット>
- デフォルト
forward_expansion_filter = 1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
pipe_delivery_status_filter
外部プログラムによるメール配送結果のステータスを変換するルールを保存したデータベースを指定する。
- 設定値
pipe_delivery_status_filter = {<データベースタイプ>:<データベースパス>}
- デフォルト
pipe_delivery_status_filter = $default_delivery_status_filter
local_command_shell
- 設定値
local_command_shell = {<>}
- デフォルト
local_command_shell =
local_delivery_slot_cost
- 設定値
local_delivery_slot_cost = $default_delivery_slot_cost
0の場合、割り込みは無効
- デフォルト
local_delivery_slot_cost = $default_delivery_slot_cost
local_delivery_slot_discount
- 設定値
local_delivery_slot_discount = $default_delivery_slot_discount
- デフォルト
local_delivery_slot_discount = $default_delivery_slot_discount
local_delivery_slot_loan
- 設定値
local_delivery_slot_loan = $default_delivery_slot_loan
- デフォルト
local_delivery_slot_loan = $default_delivery_slot_loan
local_delivery_status_filter
ローカルメール配送結果のステータスを変換するルールを保存したデータベースを指定する。
- 設定値
local_delivery_status_filter = {<データベースタイプ>:<データベースパス>}
- デフォルト
local_delivery_status_filter = $default_delivery_status_filter
local_destination_concurrency_failed_cohort_limit
localトランスポートを使用した際に、何度転送先への接続に失敗したら当該接続先が接続不能状態であると判断するか。
内部でカウンタを持ち、接続に連続して失敗するたびにカウンタが増加し、途中接続に成功するとカウンタがリセットされる。
- 設定値
local_destination_concurrency_failed_cohort_limit = <転送失敗回数上限>
- デフォルト
local_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
local_destination_concurrency_limit
localトランスポートで配送する際に同一の宛先へ同時に配送できる上限。
- 設定値
local_destination_concurrency_limit = 2
- デフォルト
local_destination_concurrency_limit = 2
local_destination_concurrency_negative_feedback
localトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数から減らす。
同時接続可能数は0まで減ることはない。
- 設定値
local_destination_concurrency_negative_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
local_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
local_destination_concurrency_positive_feedback
localトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数に加算する。
同時接続可能数は最大でもパラメータ”local_destination_recipient_limit”の値までしか増えない。
- 設定値
local_destination_concurrency_positive_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
local_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
local_destination_rate_delay
localトランスポートを使用した場合に、同一の接続先サーバにおいて、配送が一度完了した後に連続して配送する場合、すぐに配送をせずにどの程度の時間待機するかを設定する。
- 設定値
local_destination_rate_delay = <待機時間>
- デフォルト
local_destination_rate_delay = $default_destination_rate_delay
local_destination_recipient_limit
localトランスポートを使用した場合に、同一ドメインに対し、並列して送れるメールの数。
ただし、同じ宛先ユーザのメールは1配送として扱われる。
- 設定値
local_destination_recipient_limit = <並列送信最大数>
- デフォルト
local_destination_recipient_limit = 1
local_extra_recipient_limit
localトランスポートを使用した場合に、メールキューに割り込みメールが入った際に使用される、メモリの予備領域のメール保存可能件数。
- 設定値
local_extra_recipient_limit = $default_extra_recipient_limit
- デフォルト
local_extra_recipient_limit = $default_extra_recipient_limit
local_header_rewrite_clients
- 設定値
local_header_rewrite_clients = permit_inet_interfaces
- デフォルト
local_header_rewrite_clients = permit_inet_interfaces
local_initial_destination_concurrency
- 設定値
local_initial_destination_concurrency = $initial_destination_concurrency
- デフォルト
local_initial_destination_concurrency = $initial_destination_concurrency
local_minimum_delivery_slots
- 設定値
local_minimum_delivery_slots = $default_minimum_delivery_slots
- デフォルト
local_minimum_delivery_slots = $default_minimum_delivery_slots
local_recipient_limit
localトランスポートを使用した場合に、メモリ内に保持できる受信者メールアドレス情報の数。
- 設定値
local_recipient_limit = <受信者情報数>
- デフォルト
local_recipient_limit = $default_recipient_limit
local_recipient_maps
- 設定値
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
- デフォルト
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
local_recipient_refill_delay
localトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、次の受信者情報を追加読み出しするまでの待機時間。
- 設定値
local_recipient_refill_delay = <受信者情報読み出し間隔>
- デフォルト
local_recipient_refill_delay = $default_recipient_refill_delay
local_recipient_refill_limit
localトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、一度に追加読み出しできる受信者情報の上限数。
- 設定値
local_recipient_refill_limit = <読み出し受信者情報数>
- デフォルト
local_recipient_refill_limit = $default_recipient_refill_limit
local_transport
- 設定値
local_transport = local:$myhostname
- デフォルト
local_transport = local:$myhostname
local_transport_rate_delay
localトランスポートを使用した場合に、同一内容のメールを複数の宛先に配送する際にそれぞれの配送間に設ける待機時間を設定する。
- 設定値
local_transport_rate_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
local_transport_rate_delay = $default_transport_rate_delay
allow_mail_to_files
ローカル配送プログラム”local”がローカルへメール配信時に使用できるコマンドを指定する
- 設定値
allow_mail_to_commands = { alias | {,} forward | {,} include }
- デフォルト
allow_mail_to_commands = alias, forward
allow_mail_to_files
ローカル配送プログラム”local”がローカルへメール配信時に使用できるファイルを指定する。
allow_mail_to_filesと同じ設定値にする。
- 設定値
allow_mail_to_files = { alias | {,} forward | {,} include }
- デフォルト
allow_mail_to_files = alias, forward
require_home_directory
ローカル配送を行う際に受信者のホームディレクトリが存在しているかどうかをチェックするかどうか。
この機能を有効にし、ホームディレクトリがなかった場合の挙動は不明。
- 設定値
require_home_directory = [ yes | no ]
- デフォルト
require_home_directory = no
strict_mailbox_ownership
ローカル配送で、メールボックスのオーナーが配送先のユーザと異なれば、メールの配送を遅延させる。
- 設定値
strict_mailbox_ownership = [ yes | no ]
- デフォルト
strict_mailbox_ownership = yes
エラー
2bounce_notice_recipient
バウンスメールを送り返せなかったときに通知するローカルユーザの名前。
パラメータ「notify_classes」のエラークラス「2bounce」を有効にした際に利用される。
- 設定値
2bounce_notice_recipient = <ユーザ名>
- デフォルト
2bounce_notice_recipient = postmaster
best_mx_transport
“mail loops back to myself”エラーが検出された際のメールの転送先。
このエラーは自ドメイン宛のメールアドレスを受信したものの、そのドメインをローカル配送する設定が$mydestination等でされていないため、ローカル転送できず、かといって転送もできないときに発生する。
- 設定値
best_mx_transport = { <転送先ホスト> | local }
localを指定した場合、自ホスト内でローカル配送する。
- デフォルト
best_mx_transport =
bounce_template_file
バウンスメールで使用するテンプレート。
デフォルトのものがサンプルとして本環境では下記にインストールされているので記法を参考にできる。
$POSTFIX_HOME/conf/bounce.cf.default
これ自体を変更してもデフォルトのテンプレートを変更することにはならない。
- 設定値
bounce_template_file = {<パス>}
指定しない場合はデフォルトのものが使用される。
- デフォルト
bounce_template_file =
reject_tempfail_action
一時的なエラーにより処理できない場合のPostfixのメール受信処理方法を指定する。
より細かな処理は以下のパラメータで可能
- unverified_recipient_tempfail_action
- unverified_sender_tempfail_action
- unknown_address_tempfail_action
- unknown_helo_hostname_tempfail_action
- 設定値
reject_tempfail_action = {<処理方法>, ...}
- check_policy_service servername
指定されたポリシーサーバに問い合わせます。 - defer
要求を遅延します。クライアントは後で再び試すように言われます。この制限は、デフォルトのポリシーを明示的にするために制限リストの最後に置くと便利です。
defer_code パラメータにはSMTP サーバ応答コードを指定します (デフォルト: 450)。 - defer_if_permit
以降の制限で結果が明示的もしくは暗黙のうちに PERMIT アクションになる場合、要求を遅延します。これは一時的な問題でブラックリスト機能が失敗したときに便利です。 - defer_if_reject
以降の制限で結果が REJECT アクションになる場合、要求を遅延します。これは一時的な問題でホワイトリスト機能が失敗したときに便利です。 - permit
要求を許可します。この制限は、デフォルトのポリシーを明示的にするために制限リストの最後に置くと便利です。 - reject_multi_recipient_bounce
エンベロープ送信者が null アドレスで、かつエンベロープ受信者が複数の場合に要求を拒否します。この利用はまれですが、正しい応用方法です: ある条件下で、DSNオプションの NOTIFY=NEVER がついた状態で投函された複数の宛先を持つメールは null 送信者アドレスで転送されることがあります。
注意: SMTP対話の初期の段階では受信者の総数がわからないため、この制限は smtpd_data_restrictions または smtpd_end_of_data_restrictions で使われるときしか正確には働きません。RCPT の場面で使うと、2番目などの受信者のみを拒否します。
multi_recipient_bounce_reject_code パラメータには要求を拒否する際の応答コードを指定します (デフォルト: 550)。この機能はPostfix 2.1以降で使えます。 - reject_plaintext_session
接続が暗号化されていない場合に要求を拒否します。このコマンドは、クライアントが AUTH もしくは STARTTLS コマンドでネゴシエートする機会を持つ前に使うべきではありません。
plaintext_reject_code パラメータには、拒否された要求に対する応答コードを指定します (デフォルト: 450) - reject_unauth_pipelining
前もってコマンドを送ることが許されない場所でクライアントがSMTP コマンドを前もって送ったり、Postfixが実際にESMTPコマンドパイプラインをサポートしているかどうかを知らずにクライアントが前もってSMTPコマンドを送った場合に、要求を拒否します。これは配送をスピードアップするために ESMTPコマンドパイプラインの間違った使い方をするバルクメールソフトウェアからのメールを止めます。
注意: reject_unauth_pipelining は 1) クライアントがESMTP (HELOの代わりに EHLO) を使い、 2) “smtpd_delay_reject = yes” (デフォルト) となっている場合には、smtpd_data_restrictions 以外では役に立ちません。そのため、この制限の場面以外で reject_unauth_pipelining を使うことは推奨しません。 - reject
要求を拒否します。この制限は、デフォルトのポリシーを明示的にするために制限リストの最後に置くと便利です。reject_code 設定パラメータには要求を拒否する際の応答コードを指定します (デフォルト: 554)。 - sleep seconds
指定された秒数だけ一時休止し、リストの次の制限があればそれを処理します。これを次のように使うと、ゾンビメールを止められます:
smtpd_client_restrictions = sleep 1, reject_unauth_pipelining smtpd_delay_reject = no
- warn_if_reject
次の制限の意味を変え、要求を拒否する代わりに警告をログに記録するようにします (“reject_warning” を含むログファイルの記録を探してください)。これは動いている環境で、不用意にメールを失うリスクを冒さずに新しい制限をテストするのに便利です。
- check_policy_service servername
- デフォルト
reject_tempfail_action = defer_if_permit
unknown_address_tempfail_action
パラメータ”smtpd_helo_restrictions”の値が”reject_unknown_sender_domain”、”reject_unknown_recipient_domain”である時に、一時的なエラーでメールを受信できない場合の処理方法
- 設定値
unknown_address_tempfail_action = {<処理方法>, ...}
- デフォルト
unknown_address_tempfail_action = $reject_tempfail_action
unknown_helo_hostname_tempfail_action
パラメータ”smtpd_helo_restrictions”の値が”reject_unknown_helo_hostname”である時に、一時的なエラーでメールを受信できない場合の処理方法
- 設定値
unknown_helo_hostname_tempfail_action = {<処理方法>, ...}
- デフォルト
unknown_helo_hostname_tempfail_action = $reject_tempfail_action
show_user_unknown_table_name
受信メールの該当ユーザが見つからず、”User unknown”エラーメッセージを返す際、ユーザ一覧情報を記載して返すかどうか。
問題解決には有用であるが、セキュリティの点で危険である。また、無用な負荷をかけることになる。
- 設定値
show_user_unknown_table_name = [ yes | no ]
- デフォルト
show_user_unknown_table_name = yes
soft_bounce
バウンスメールを返す際、すぐに返さずにキューに一旦格納するかどうか。
ただし、有効にした場合、アドレス書き換えやルーティングに誤りがあっても対処されない。
また、エラーコードが5xx系から4xx系に変換される。
- 設定値
soft_bounce = [ yes | no ]
- デフォルト
soft_bounce = no
検査
body_checks
受信したメールのメール本文の検査を行うルールを記述したデータベースを指定する
- 設定値
body_checks = {<データベースタイプ>:<データベースパス>}
- デフォルト
body_checks =
body_checks_size_limit
受信したメールのメール本文の最大サイズ。
- 設定値
body_checks_size_limit = <最大サイズ(byte)>
- デフォルト
body_checks_size_limit = 51200
header_address_token_limit
受信したメールのヘッダに記述できる、送信、受信者のメールアドレスの数。
この数を超えると超えた分のアドレス情報が破棄される。
- 設定値
header_address_token_limit = <メールアドレス数>
- デフォルト
header_address_token_limit = 10240
header_checks
受信したメールのメールヘッダの検査を行うルールを記述したデータベースを指定する。
ただし、MIME関連のヘッダ(MIME-Version、Content-Type、Content-Transfer-Encoding)の検査はパラメータmime_header_checksに設定したデータベースにて行う。
また、添付されたメールの検査も行わず、こちらはパラメータnested_header_checksに設定したデータベースにて行う。
- 設定値
header_checks = {<データベースタイプ>:<データベースパス>}
- デフォルト
header_checks =
header_size_limit
受信したメールのメールヘッダの最大サイズ。
この数を超えると超えた分の情報が破棄される。
- 設定値
header_size_limit = <最大サイズ(byte)>
- デフォルト
header_size_limit = 102400
nested_header_checks
受信したメールの添付されたメールのメールヘッダの検査を行うルールを記述したデータベースを指定する。
- 設定値
nested_header_checks = {<データベースタイプ>:<データベースパス>}
- デフォルト
nested_header_checks = $header_checks
default_rbl_reply
PostfixにSMTP接続があった際、RBL(Real-time Blackhole List)を参照して該当していれば接続を拒絶するが、その時の応答内容のテンプレートを設定する。
パラメータ”rbl_reply_maps”に該当する特定設定があれば、そちらが上書きして適用される。
- 設定値
default_rbl_reply = <テンプレート>
- 変数
変数は以下のどの形態でも使用可能
$変数名 ${変数名} $(変数名)
- $client
The client hostname and IP address, formatted as name[address]. - $client_address
The client IP address. - $client_name
The client hostname or “unknown”. See reject_unknown_client_hostname for more details. - $reverse_client_name
The client hostname from address->name lookup, or “unknown”. See reject_unknown_reverse_client_hostname for more details. - $helo_name
The hostname given in HELO or EHLO command or empty string. - $rbl_class
The blacklisted entity type: Client host, Helo command, Sender address, or Recipient address. - $rbl_code
The numerical SMTP response code, as specified with the maps_rbl_reject_code configuration parameter. Note: The numerical SMTP response code is required, and must appear at the start of the reply. With Postfix version 2.3 and later this information may be followed by an RFC 3463 enhanced status code. - $rbl_domain
The RBL domain where $rbl_what is blacklisted. - $rbl_reason
The reason why $rbl_what is blacklisted, or an empty string. - $rbl_what
The entity that is blacklisted (an IP address, a hostname, a domain name, or an email address whose domain was blacklisted). - $recipient
The recipient address or <> in case of the null address. - $recipient_domain
The recipient domain or empty string. - $recipient_name
The recipient address localpart or <> in case of null address. - $sender
The sender address or <> in case of the null address. - $sender_domain
The sender domain or empty string. - $sender_name
The sender address localpart or <> in case of the null address. - ${name?text}
Expands to `text’ if $name is not empty. - ${name:text}
Expands to `text’ if $name is empty.
- $client
- ?
${<変数A>?; <変数B>}
変数Aが設定されていれば、変数Bをテンプレート内に表示する。
変数A、変数Bは同じでもよい。
- デフォルト
default_rbl_reply = $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using $rbl_domain${rbl_reason?; $rbl_reason}
rbl_reply_maps
RBLを使用したSMTP接続拒否を行う際に返す応答内容のテンプレート内で使用できるデータベース。
パラメータ”default_rbl_reply”で設定した値を上書きする。
- 設定値
rbl_reply_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
rbl_reply_maps =
internal_mail_filter_classes
Postfixが内部で生成したメールを配送キューに入れる前に検査を受ける種類。
内部で生成したメールを検査することは推奨されておらず、警告が出る場合がある。
- 設定値
internal_mail_filter_classes = {[ bounce | notify ] {, ...}}
- bounce
配送状態通知の内容を検査する - notify
smtpやsmtpdプロセスによるpostmaster通知の内容を検査する
- bounce
- デフォルト
internal_mail_filter_classes =
receive_override_options
メール受信時の受信者メールアドレス検証、Postfix内のフィルタリング機能によるフィルタリング、アドレスマッピングを有効または無効にする。
このパラメータで設定する内容は通常は設定ファイル”master.cf”のsmtpd、qmqpd、pickupの項目で設定されるものである。
“master.cf”に設定がある場合、このパラメータのもので上書きされる。
- 設定値
receive_override_options = {<有効受信時機能>, ...}
- no_unknown_recipient_checks
知らない受信者を拒否しない (SMTPサーバのみ有効)。
これは通常、外部コンテンツフィルタ後で機能する。 - no_address_mappings
canonicalアドレスマッピングやvirtualエイリアスマップ拡張、アドレスのマスカレード、自動BCC受信者を無効にする。
これは通常、外部コンテンツフィルタ前に機能する。 - no_header_body_checks
header/body_checksを無効にする。
これは通常、外部コンテンツフィルタ後で機能する。 - no_milters
Milter(メールフィルタ)を無効にします。
これは通常、外部コンテンツフィルタ後で機能する。
- no_unknown_recipient_checks
- デフォルト
receive_override_options =
remote_header_rewrite_domain
不完全なドメインパートを持つリモートからのメールに対し付加するドメイン名
- 設定値
remote_header_rewrite_domain = {<ドメイン名>}
- デフォルト
remote_header_rewrite_domain =
relocated_maps
存在しなくなったユーザや、登録情報が変更されたユーザの情報を登録するデータベース。
- 設定値
relocated_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
relocated_maps =
strict_7bit_headers
メッセージヘッダに8ビットテキストを持つメールを拒否する。
これは不完全に書かれたアプリケーションからのメールをブロックする。
- 設定値
strict_7bit_headers = [ yes | no ]
- デフォルト
strict_7bit_headers = no
strict_8bitmime
パラメータ”strict_7bit_headers”と”strict_8bitmime_body”の両者を有効にするかどうか。
正当なEメールを拒否する可能性があるため、この機能を一般的な目的のメールサーバで有効にすべきではない。
- 設定値
strict_8bitmime = [ yes | no ]
- デフォルト
strict_8bitmime = no
strict_8bitmime_body
8 ビット MIME コンテンツエンコード情報のない8ビットメッセージ本体テキストを拒否する。
これは不完全に書かれたアプリケーションからのメールをブロックする。
ただし、これは有効な8ビットMIMEメールを含んだmajordomo承認要求も拒否してしまう。
- 設定値
strict_8bitmime_body = [ yes | no ]
- デフォルト
strict_8bitmime_body = no
strict_mime_encoding_domain
message/* または multipart/* MIME コンテンツタイプに対して無効な Content-Transfer-Encoding: 情報を持つメールを拒否する。
これは不完全に書かれたアプリケーションからのメールをブロックする。
一回違反した後のメールを拒否してしまうため、この機能を一般的な目的のメールサーバで有効にすべきではない。
- 設定値
strict_mime_encoding_domain = [ yes | no ]
- デフォルト
strict_mime_encoding_domain = no
strict_rfc821_envelopes
SMTP MAIL FROMおよびRCPT TOコマンドで受け取るアドレスが <> で括られていて、そのアドレスがRFC 822形式のコメントやフレーズが含まれていないことを要求するかどうか。
これは不完全に書かれたアプリケーションからのメールをブロックする。
- 設定値
strict_rfc821_envelopes = [ yes | no ]
- デフォルト
strict_rfc821_envelopes = no
strict_smtputf8
- 設定値
strict_smtputf8 = [ yes | no ]
- デフォルト
strict_smtputf8 = no
書き換え
enable_original_recipient
ヘッダ”X-Original-To”を有効にするかどうか。
ヘッダ”X-Original-To”とはメールが別の宛先アドレスに変更して転送された際に、元々の宛先アドレスを格納する。
複数の受信者のメールボックスが存在する場合には有効でなければならない。
- 設定値
enable_original_recipient = [ yes | no ]
- デフォルト
enable_original_recipient = yes
prepend_delivered_header
メールの配送先のアドレスを記載するヘッダ”Delivered-To”をローカル配送時に付加する場合を指定する。
- 設定値
prepend_delivered_header = { command | file | forward } , ...
- command
コマンドへの配送時 - file
ファイル(メールボックス)への配送時 - forward
メール転送時。
無効にすべきではない。
- command
- デフォルト
prepend_delivered_header = command, file, forward
recipient_canonical_classes
パラメータ”recipient_canonical_maps”による変換対象となるアドレス記載部分を指定する。
- 設定値
recipient_canonical_classes = envelope_recipient | header_recipient , ...
- envelope_recipient
エンベロープアドレス - header_recipient
ヘッダアドレス
- envelope_recipient
- デフォルト
recipient_canonical_classes = envelope_recipient, header_recipient
recipient_canonical_maps
エンベロープとヘッダにある受信者アドレスに対するアドレス変換データベースを指定する。
エンベロープアドレス、ヘッダアドレスのいずれか、またはその両方を変換対象にするかはパラメータ”recipient_canonical_classes”により指定する。
無効にする場合はこのパラメータを空にする。
- 設定値
recipient_canonical_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
recipient_canonical_maps =
propagate_unmatched_extensions
検索キーで拡張メールアドレスを指定した場合、検索結果の文字列が拡張メールアドレスの適用を受けていなければ、検索キーの拡張メールアドレスに置換することができる。
その置換処理をする場合を指定する。
- 設定値
propagate_unmatched_extensions = { canonical | virtual | alias | forward | include }, ...
- デフォルト
propagate_unmatched_extensions = canonical, virtual
recipient_bcc_maps
メール受信時に自動でBCCに付加するメールアドレスのデータベース。
受信者アドレスを検索キーとする。
- 設定値
recipient_bcc_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
recipient_bcc_maps =
resolve_dequoted_address
メールアドレスをRFC822に基づいた処理をせずに安全性に配慮したアドレス変換を行うかどうか。
この設定を有効にした場合、アドレス変換は不完全になるが、リレー攻撃を防ぐなどセキュリティは向上する。
- 設定値
resolve_dequoted_address = [ yes | no ]
- デフォルト
resolve_dequoted_address = yes
sender_bcc_maps
メールを受信した際、特定のメールアドレスが送信者である場合にBCCに付加するメールアドレスのデータベース。
- 設定値
sender_bcc_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
sender_bcc_maps =
swap_bangpath
“site!user”から”user@site”への書き換えを有効にする。
これはマシンがUUCP(Unix to Unix Copy Protocol)ネットワークに接続されている場合に必要です。
- 設定値
swap_bangpath = [ yes | no ]
- デフォルト
swap_bangpath = yes
その他
biff
biffコマンドによりメールを受信した際に通知する設定をしているユーザがいる場合、通知を許可するかどうか。
標準でbiffがそもそもインストールされていない場合もあり、その場合はnoで良い。
- biffがインストールされているか確認
which biff
or
find / -name biff
- 設定値
biff = [ yes | no ]
- デフォルト
biff = yes
hopcount_limit
受信したメールにあるReceived:の最大許容数。
この値を超えるとループが発生しているとみなしてバウンスメールを返す。
- 設定値
hopcount_limit = <ヘッダReceived最大数>
- デフォルト
hopcount_limit = 50
recipient_delimiter
ユーザ名と拡張アドレス (user+foo) の間の区切文字
- 設定値
recipient_delimiter = {<区切文字>}
- デフォルト
recipient_delimiter =
owner_request_special
メールアドレスのローカルパートが”owner-listname”、”listname-request”となっているものをパラメータ”recipient_delimiter”の値が”-“となっていても影響を受けないようにする。
メーリングリストでこの機能は有用である。
- 設定値
owner_request_special = [ yes | no ]
- デフォルト
owner_request_special = yes
send_cyrus_sasl_authzid
リモートのSMTP、LMTPサーバを認証する際に、SASL authoriZation ID (authzid)を送るかどうか。
- 設定値
send_cyrus_sasl_authzid = [ yes | no ]
- デフォルト
send_cyrus_sasl_authzid = no
sun_mailtool_compatibility
古いSUN mailtool互換機能を有効にするか。
この機能を使わずに代わりにパラメータ”mailbox_delivery_lock”に”dotlock”を設定するべき。
- 設定値
sun_mailtool_compatibility = [ yes | no ]
- デフォルト
sun_mailtool_compatibility = no
メール送受信全般
書き換え
local_header_rewrite_clients
不完全なドメインパートを持つローカルからのメールに対しドメイン名を付加することができる。
ここで指定したクライアントをローカルクライアントとし、そこから送信要求のあったメールのヘッダを置き換える。
実際の置き換え内容は別のパラメータで指定する。
ローカルクライアント以外のクライアントはリモートクライアントとし、remote_header_rewrite_domainパラメータで設定した内容のみ置き換える。
- 設定値
local_header_rewrite_clients = <クライアントタイプ>
- クライアントタイプ
クライアントIPアドレスが $inet_interfaces にマッチしたら、$myorigin または $mydomain のドメイン名を付加します。これはデフォルトで有効になっています。
- permit_mynetworks
クライアントIPアドレスが $mynetworks にリストアップされたネットワークもしくはネットワークアドレスのいずれかにマッチしたら、$myorigin または $mydomainのドメイン名を付加します。この設定はリモートクライアントからのメールが近隣システムによって転送された場合のメールヘッダアドレスの書き換えは妨げません。 - permit_sasl_authenticated
クライアントが RFC 2554 (AUTH) プロトコルでの認証に成功した場合に、$myorigin または $mydomain のドメイン名を付加します。 - permit_tls_clientcerts
クライアントTLS証明書の検証に成功し、クライアント証明書のフィンガープリントが $relay_clientcerts にリストアップされている場合に、$myorigin または $mydomain のドメイン名を付加します。 - permit_tls_all_clientcerts
クライアントTLS証明書の検証に成功した場合、それがサーバにリストアップされているかや認証局に関わらず、$myorigin または $mydomain のドメイン名を付加します。 - type:table
クライアントIPアドレスが指定された検索テーブルにマッチしたら、$myorigin または $mydomainのドメイン名を付加します。検索結果は無視され、またサブネット検索はおこなわれません。これは例えばpop-before-smtp検索テーブルに適しています。
- permit_mynetworks
- デフォルト
local_header_rewrite_clients = permit_inet_interfaces
always_add_missing_headers
メール送信時に”From:”、”To:”、”Date:”、”Message-ID”がない場合、自動で生成、挿入する。
これはパラメータ「local_header_rewrite_clients」で指定されたローカルクライアントからの転送要求のみしか行わない。
- 設定値
always_add_missing_headers = [ yes | no ]
- デフォルト
always_add_missing_headers = no
append_at_myorigin
ローカルからメール送信された際、”@”とドメインパートがない場合、これを補う。
これはパラメータ「local_header_rewrite_clients」で指定されたローカルクライアントからの転送要求のみしか行わない。
append_dot_mydomain
ローカルからメール送信された際、ドメインパートが一部しか記載されていなければ、これを置き換える。
これはパラメータ「local_header_rewrite_clients」で指定されたローカルクライアントからの転送要求のみしか行わない。
- 設定値
append_dot_mydomain = [ yes | no ]
- デフォルト
append_dot_mydomain = ${{$compatibility_level} < {1} ? {yes} : {no}}
remote_header_rewrite_domain
リモートからメール送信された際、ドメインパートが不完全であれば、これを置き換える。
これはパラメータ「local_header_rewrite_clients」で指定されたローカルクライアント以外のリモートクライアントからの転送要求のみしか行わない。
- 設定値
remote_header_rewrite_domain = {<ドメイン名>}
空の場合は置き換えは行わない。
- デフォルト
remote_header_rewrite_domain =
allow_percent_hack
メールアドレスの”@”が”%”で記されていた場合”@”に書き換える。
always_bcc =
転送するすべてのメールのBCCに指定したメールアドレスを付加する。
canonical_classes
送受信したメールの、変換するメールアドレスを指定する。
変換内容、または変換を行わない場合はパラメータ”canonical_maps”にて設定を行う。
- 設定値
canonical_classes = [ envelope_sender | envelope_recipient | header_sender | header_recipient ]{, ...}
- envelope_sender
エンベロープ送信者アドレス - envelope_recipient
エンベロープ受信者アドレス - header_sender
ヘッダ送信者アドレス - header_recipient
ヘッダ受信者アドレス
- envelope_sender
- デフォルト
canonical_classes = envelope_sender, envelope_recipient, header_sender, header_recipient
canonical_maps
送受信したメールの、変換するメールアドレスの変更内容を記載したデータベースを指定する。
- 設定値
canonical_maps = {<データベースタイプ>:<データベースパス>}
空白の場合、変換を行わない。
- デフォルト
canonical_maps =
sender_canonical_classes
パラメータ”sender_canonical_maps”の適用を受ける、送受信したメールの、変換する送信者メールアドレスを指定する。
変換内容、または変換を行わない場合はパラメータ”sender_canonical_maps”にて設定を行う。
- 設定値
sender_canonical_classes = [ envelope_sender | header_sender ]{, ...}
- envelope_sender
エンベロープ送信者アドレス - header_sender
ヘッダ送信者アドレス
- envelope_sender
- デフォルト
sender_canonical_classes = envelope_sender, header_sender
sender_canonical_maps
送受信したメールの、変換するメールアドレスの変更内容を記載したデータベースを指定する。
この設定による処理はパラメータ”canonical_maps”による同様の変換処理の前に行われる。
- 設定値
sender_canonical_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
sender_canonical_maps =
default_delivery_status_filter
メール配送結果のステータスを変換するルールを保存したデータベースを指定する。
特定の場合のみ有効な以下の他のフィルターがあれば、そちらの設定が優先される。
- lmtp_delivery_status_filter
- local_delivery_status_filter
- pipe_delivery_status_filter
- smtp_delivery_status_filter
- virtual_delivery_status_filter
- 設定値
default_delivery_status_filter = {<データベースタイプ>:<データベースパス>}
- デフォルト
default_delivery_status_filter =
empty_address_recipient
宛先メールアドレスが空であった場合に設定される受信者名
- 設定値
empty_address_recipient = <受信者名>
- デフォルト
empty_address_recipient = MAILER-DAEMON
message_drop_headers
メールのヘッダ部から削除されるヘッダの名前
- 設定値
message_drop_headers = {<ヘッダ名>, ...}
- デフォルト
message_drop_headers = bcc, content-length, resent-bcc, return-path
message_reject_characters
メール中に現れるとそのメールを拒否する文字。
C言語風エスケープシーケンスが認識する。
例: \a \b \f \n \r \t \v \ddd (最大3桁の8進数) \\
- 設定値
message_reject_characters = {<受取不能文字>}
- デフォルト
message_reject_characters =
message_strip_characters
メール中に現れるとPostfixが除去する文字。
C言語風エスケープシーケンスが認識する。
例: \a \b \f \n \r \t \v \ddd (最大3桁の8進数) \\
- 設定値
message_strip_characters = {<受取不能文字>}
- デフォルト
message_strip_characters =
resolve_numeric_domain
ドメインパートにIPアドレスを指定する場合は [] 内にIPアドレスを記載する必要があるが、この機能が有効な場合は [] がなくてもエラーとせずに [] があるように処理する。
- 設定値
resolve_numeric_domain = [ yes | no ]
- デフォルト
resolve_numeric_domain = no
エラー
bounce_notice_recipient
Postfixが送受信に失敗したメールのヘッダを通知するローカルのメールボックスのユーザ。
パラメータnotify_classesでbounceを有効にしないと通知されない。
- 設定値
bounce_notice_recipient = <ユーザ名>
- デフォルト
bounce_notice_recipient = postmaster
bounce_size_limit
配送に失敗したメールを通知する際に、そのメールのコピーを添付する最大サイズ。
- 設定値
bounce_size_limit = <最大サイズ(byte)>
- デフォルト
bounce_size_limit = 50000
MIME
detect_8bit_encoding_header
ヘッダ”Content-Transfer-Encoding”の値を見て8bit指定があるかどうかを確認する。
このオプションは無効にできない。
- 設定値
detect_8bit_encoding_header = yes
- デフォルト
detect_8bit_encoding_header = yes
disable_mime_input_processing
MIME処理を無効にする。
無効にした場合、MIMEヘッダは本文として扱われる。
- 設定値
disable_mime_input_processing = [ yes | no ]
- デフォルト
disable_mime_input_processing = no
disable_mime_output_conversion
配送先が8bit MIMEを無効にしている場合は通常7bit MIMEに変換するが、これを行わないようにする。
- 設定値
disable_mime_output_conversion = [ yes | no ]
- デフォルト
disable_mime_output_conversion = no
mime_header_checks
受信したメールのMIME関連のメールヘッダの検査を行うルールを記述したデータベースを指定する。
MIME関連以外のヘッダの検査はパラメータheader_checksに設定したデータベースにて行う。
- 設定値
mime_header_checks = {<データベースタイプ>:<データベースパス>}
- デフォルト
mime_header_checks = $header_checks
mime_nesting_limit
受信したメールのMIME処理においてネストした添付メールの最大ネスト数。
この値を超えたメールは破棄される。
- 設定値
mime_nesting_limit = <最大ネスト数>
- デフォルト
mime_nesting_limit = 100
mime_boundary_length_limit
MIMEマルチパート部分の最大長。
- 設定値
mime_boundary_length_limit = 2048
- デフォルト
mime_boundary_length_limit = 2048
notify_classes
管理者に通知されるエラーの種別のリスト。
- 設定値
notify_classes = {<エラークラス> , ...}
- エラークラス
- bounce (2bounceも含む)
バウンスされたメールのヘッダのコピーと、Postfixがメールを拒否したときのSMTPセッションの写しをポストマスターに送ります。
通知は bounce_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。 - 2bounce
配送できないバウンスメールをポストマスターに送ります。
通知は 2bounce_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。 - delay
遅延されたメールのヘッダのコピーをポストマスターに送ります。
通知は delay_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。 - policy
(UCE) ポリシーのためにクライアントが拒否されたときの SMTP セッションの写しをポストマスターに送ります。
通知は error_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。 - protocol
クライアントまたはサーバのプロトコルエラーの場合に SMTP セッションの写しをポストマスターに送ります。
通知は error_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。 - resource
リソースの問題でメールが配送されなかったことをポストマスターに通知します。
通知は error_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。 - software
ソフトウェアの問題でメールが配送されなかったことをポストマスターに通知します。
通知は error_notice_recipient 設定パラメータ (デフォルト: postmaster) で指定されたアドレスに送られます。
- bounce (2bounceも含む)
- エラークラス
- デフォルト
notify_classes = resource, software
SMTPUTF8
メールアドレスにUTF8を使用することができるようになる、SMTPUTF8の設定
smtputf8_autodetect_classes
- 設定値
smtputf8_autodetect_classes = sendmail, verify
- デフォルト
smtputf8_autodetect_classes = sendmail, verify
smtputf8_enable
- 設定値
smtputf8_enable = [ yes | no ]
- デフォルト
smtputf8_enable = no
その他
allow_min_user
メールアドレスの先頭が”-“で始まることを許可するかどうか。
一般的に”-“で始まるメールアドレスは無効であり、ミスである可能性が高い。
content_filter
メールがキューに入ってから行うフィルタリングのサービス名。
パラメータ”access”、”header_checks”、”body_checks”によるフィルタリングの後に行われることになる。
なお、キューに入る前に行うフィルタリングはSMTP配送に限り、パラメータ”smtpd_proxy_filter”似て行うことができる。
- 設定値
content_filter = {<サービス名(Transport名)>{:<次転送先>}}
空白の場合フィルタリングは行わない。
- デフォルト
content_filter =
default_filter_nexthop
パラメータ”content_filter”が未設定である場合に使用されるデフォルト値。
- 設定値
default_filter_nexthop = {<サービス名(Transport名)>{:<次転送先>}}
- デフォルト
default_filter_nexthop =
deliver_lock_attempts
mailboxファイルやbounceサービスのログファイルの排他ロックを獲得する最大試行回数
- 設定値
deliver_lock_attempts = <ロック獲得試行回数>
- デフォルト
deliver_lock_attempts = 20
deliver_lock_delay
mailboxファイルやbounceサービスのログファイルの排他ロックを獲得できなかった場合に次に獲得しようとするまでの待機時間
- 設定値
deliver_lock_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
deliver_lock_delay = 1s
enable_idna2003_compatibility
過去の国際化ドメイン名規格IDNA2003との互換性を維持するかどうか。
無効にした場合、最新の規格IDNA2008のみが使用可能となる。
参考:https://jprs.co.jp/idn/std.html
- 設定値
enable_idna2003_compatibility = [ yes | no ]
- デフォルト
enable_idna2003_compatibility = no
transport_maps
受信者アドレスをキーにして次の転送先サーバを指定するデータベース
- 設定値
transport_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
transport_maps =
エイリアス
受信したメールをローカル配送する際に利用するユーザ名の別名データベース。
自ドメイン向けの、指定した名前のユーザ宛のメールを受信すると設定したユーザのメールとして保存する。
alias_maps
ローカル配送で使用するエイリアス用のデータベースの種類とパスを指定する。
- 設定値
alias_maps = {<データベースタイプ>:<データベースパス>}{,...}
- デフォルト
alias_maps = hash:/etc/aliases, nis:mail.aliases
alias_database
エイリアス用のデータベースを更新するコマンドを実行した際に更新されるデータベースファイルのパス。
エイリアスを使用したローカル配送にはパラメータ”alias_maps”が使用されるので、そちらと合わせておけばよい。
- 設定値
alias_database = {<データベースタイプ>:<データベースパス>}
- デフォルト
alias_database = hash:/etc/aliases
expand_owner_alias
owner aliasを持つエイリアス宛のメールを受信した際、エンベロープ送信者アドレスに対応するowner aliasのメールアドレスを設定する。
- 設定値
expand_owner_alias = [ yes | no ]
- デフォルト
expand_owner_alias = no
frozen_delivered_to
メールの実際の届け先を表すDelivered-Toヘッダはローカル配送の開始時点で付加されるが、そのあと書き換えを行わないようにするかどうか。
例えば、エイリアスが設定されている場合や.forwardファイルで転送される場合は書き換えが行われるが、この設定を有効にしていると元のアドレスのままになる。
- 設定値
frozen_delivered_to = [ yes | no ]
- デフォルト
frozen_delivered_to = yes
reset_owner_alias
特殊扱いされるエイリアス、”owner-alias”エイリアスに更にエイリアスをネストして設定している際に、多段変換後のエイリアスデータが”owner-alias”エイリアス情報を持っていない場合に変換を行わないようにするかどうか。
- 設定値
reset_owner_alias = [ yes | no ]
- デフォルト
reset_owner_alias = no
メールアドレス検証
Postfixではメールのルーティングの際に宛先、送信元のメールアドレスが有効かどうかを検証し、無効であれば、ルーティングを行わないという機能を利用できる。
この検証はルーティングの際に送られる次の転送先メールサーバに「MAIL FROM」、「RCPT TO」コマンドを発行し、正常に完了するかどうかで行う。
ローカル配送で完了する場合は自身に向けて検証を行う。
この検証結果はデータベースにキャッシュし、送受信の際に当該メールアドレスが有効か無効かをそのデータベースより取得することもできる。
メールサーバによってはメールアドレスが無効であっても本文を入力して転送実行がされるまでエラーを返さないものがあったり、実際の転送は行わない接続を行うと接続元ホスト(自ホスト)をブラックリストに載せたりする場合があるので、メールアドレス検証を使用するかどうかは注意が必要である。
検証はverifyコマンドで行われる。
address_verify_cache_cleanup_interval
- 設定値
address_verify_cache_cleanup_interval = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
address_verify_cache_cleanup_interval = 12h
address_verify_default_transport
- 設定値
address_verify_default_transport = $default_transport
- デフォルト
address_verify_default_transport = $default_transport
address_verify_local_transport
- 設定値
address_verify_local_transport = $local_transport
- デフォルト
address_verify_local_transport = $local_transport
address_verify_map
- 設定値
address_verify_map = btree:$data_directory/verify_cache
- デフォルト
address_verify_map = btree:$data_directory/verify_cache
address_verify_negative_cache
- 設定値
address_verify_negative_cache = [ yes | no ]
- デフォルト
address_verify_negative_cache = yes
address_verify_negative_expire_time
- 設定値
address_verify_negative_expire_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
address_verify_negative_expire_time = 3d
address_verify_negative_refresh_time
- 設定値
address_verify_negative_refresh_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
address_verify_negative_refresh_time = 3h
address_verify_pending_request_limit
- 設定値
address_verify_pending_request_limit = 5000
- デフォルト
address_verify_pending_request_limit = 5000
address_verify_poll_count
- 設定値
address_verify_poll_count = ${stress?{1}:{3}}
- デフォルト
address_verify_poll_count = ${stress?{1}:{3}}
address_verify_poll_delay
- 設定値
address_verify_poll_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
address_verify_poll_delay = 3s
address_verify_positive_expire_time
- 設定値
address_verify_positive_expire_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
address_verify_positive_expire_time = 31d
address_verify_positive_refresh_time
- 設定値
address_verify_positive_refresh_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
address_verify_positive_refresh_time = 7d
address_verify_relay_transport
- 設定値
address_verify_relay_transport = $relay_transport
- デフォルト
address_verify_relay_transport = $relay_transport
address_verify_relayhost
- 設定値
address_verify_relayhost = $relayhost
- デフォルト
address_verify_relayhost = $relayhost
address_verify_sender
- 設定値
address_verify_sender = $double_bounce_sender
- デフォルト
address_verify_sender = $double_bounce_sender
address_verify_sender_dependent_default_transport_maps
- 設定値
address_verify_sender_dependent_default_transport_maps = $sender_dependent_default_transport_maps
- デフォルト
address_verify_sender_dependent_default_transport_maps = $sender_dependent_default_transport_maps
address_verify_sender_dependent_relayhost_maps
- 設定値
address_verify_sender_dependent_relayhost_maps = $sender_dependent_relayhost_maps
- デフォルト
address_verify_sender_dependent_relayhost_maps = $sender_dependent_relayhost_maps
address_verify_sender_ttl
- 設定値
address_verify_sender_ttl = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
address_verify_sender_ttl = 0s
address_verify_transport_maps
- 設定値
address_verify_transport_maps = $transport_maps
- デフォルト
address_verify_transport_maps = $transport_maps
address_verify_virtual_transport
- 設定値
address_verify_virtual_transport = $virtual_transport
- デフォルト
address_verify_virtual_transport = $virtual_transport
セキュリティ
anvilプログラム関連
anvil_rate_time_unit
anvilのプログラムで統計情報の計算に用いられる時間の単位。
- 設定値
anvil_rate_time_unit = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
anvil_rate_time_unit = 60s
anvil_status_update_time
anvilのプログラムが統計情報を更新する間隔
- 設定値
anvil_status_update_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
anvil_status_update_time = 600s
その他
postqueueコマンドによりキューのフラッシュ(キュー内のメールの配送開始・再試行)を行うことができるユーザのリストが保存されたデータベースを指定する。
- 設定値
authorized_flush_users = <データベースタイプ>:<テーブル>
- デフォルト
authorized_flush_users = static:anyone
キューの内容の閲覧を行えるユーザのリストが保存されたデータベースを指定する。
キューの内容の閲覧は以下のコマンドなどで行える。
postqueue -p
or
mailq
- 設定値
authorized_mailq_users = <データベースタイプ>:<テーブル>
- デフォルト
authorized_mailq_users = static:anyone
Postfixのコマンドからメール送信を行えるユーザのリストが保存されたデータベースを指定する。
対象となるコマンドはpostdropとsendmail。
- 設定値
authorized_submit_users = <データベースタイプ>:<テーブル>
- デフォルト
authorized_submit_users = static:anyone
メールフィルタ
postscreen
postscreen_access_list
- 設定値
postscreen_access_list = permit_mynetworks
- デフォルト
postscreen_access_list = permit_mynetworks
postscreen_bare_newline_action
- 設定値
postscreen_bare_newline_action = ignore
- デフォルト
postscreen_bare_newline_action = ignore
postscreen_bare_newline_enable
- 設定値
postscreen_bare_newline_enable = [ yes | no ]
- デフォルト
postscreen_bare_newline_enable = no
postscreen_bare_newline_ttl
- 設定値
postscreen_bare_newline_ttl = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_bare_newline_ttl = 30d
postscreen_blacklist_action
- 設定値
postscreen_blacklist_action = ignore
- デフォルト
postscreen_blacklist_action = ignore
postscreen_cache_cleanup_interval
- 設定値
postscreen_cache_cleanup_interval = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_cache_cleanup_interval = 12h
postscreen_cache_map
- 設定値
postscreen_cache_map = btree:$data_directory/postscreen_cache
- デフォルト
postscreen_cache_map = btree:$data_directory/postscreen_cache
postscreen_cache_retention_time
- 設定値
postscreen_cache_retention_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_cache_retention_time = 7d
postscreen_client_connection_count_limit
- 設定値
postscreen_client_connection_count_limit = $smtpd_client_connection_count_limit
- デフォルト
postscreen_client_connection_count_limit = $smtpd_client_connection_count_limit
postscreen_command_count_limit
- 設定値
postscreen_command_count_limit = 20
- デフォルト
postscreen_command_count_limit = 20
postscreen_command_filter
- 設定値
postscreen_command_filter = {<>}
- デフォルト
postscreen_command_filter =
postscreen_command_time_limit
- 設定値
postscreen_command_time_limit = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_command_time_limit = ${stress?{10}:{300}}s
postscreen_disable_vrfy_command
- 設定値
postscreen_disable_vrfy_command = $disable_vrfy_command
- デフォルト
postscreen_disable_vrfy_command = $disable_vrfy_command
postscreen_discard_ehlo_keyword_address_maps
- 設定値
postscreen_discard_ehlo_keyword_address_maps = $smtpd_discard_ehlo_keyword_address_maps
- デフォルト
postscreen_discard_ehlo_keyword_address_maps = $smtpd_discard_ehlo_keyword_address_maps
postscreen_discard_ehlo_keywords
- 設定値
postscreen_discard_ehlo_keywords = $smtpd_discard_ehlo_keywords
- デフォルト
postscreen_discard_ehlo_keywords = $smtpd_discard_ehlo_keywords
postscreen_dnsbl_action
- 設定値
postscreen_dnsbl_action = ignore
- デフォルト
postscreen_dnsbl_action = ignore
postscreen_dnsbl_max_ttl
- 設定値
postscreen_dnsbl_max_ttl = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_dnsbl_max_ttl = ${postscreen_dnsbl_ttl?{$postscreen_dnsbl_ttl}:{1}}h
postscreen_dnsbl_min_ttl
- 設定値
postscreen_dnsbl_min_ttl = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_dnsbl_min_ttl = 60s
postscreen_dnsbl_reply_map
- 設定値
postscreen_dnsbl_reply_map = {<>}
- デフォルト
postscreen_dnsbl_reply_map =
postscreen_dnsbl_sites
- 設定値
postscreen_dnsbl_sites = {<>}
- デフォルト
postscreen_dnsbl_sites =
postscreen_dnsbl_threshold
- 設定値
postscreen_dnsbl_threshold = 1
- デフォルト
postscreen_dnsbl_threshold = 1
postscreen_dnsbl_timeout
- 設定値
postscreen_dnsbl_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_dnsbl_timeout = 10s
postscreen_dnsbl_whitelist_threshold
- 設定値
postscreen_dnsbl_whitelist_threshold = 0
- デフォルト
postscreen_dnsbl_whitelist_threshold = 0
postscreen_enforce_tls
- 設定値
postscreen_enforce_tls = [ yes | no ]
- デフォルト
postscreen_enforce_tls = $smtpd_enforce_tls
postscreen_expansion_filter
- 設定値
postscreen_expansion_filter = $smtpd_expansion_filter
- デフォルト
postscreen_expansion_filter = $smtpd_expansion_filter
postscreen_forbidden_commands
- 設定値
postscreen_forbidden_commands = $smtpd_forbidden_commands
- デフォルト
postscreen_forbidden_commands = $smtpd_forbidden_commands
postscreen_greet_action
- 設定値
postscreen_greet_action = ignore
- デフォルト
postscreen_greet_action = ignore
- 設定値
postscreen_greet_banner = $smtpd_banner
- デフォルト
postscreen_greet_banner = $smtpd_banner
postscreen_greet_ttl
- 設定値
postscreen_greet_ttl = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_greet_ttl = 1d
postscreen_greet_wait
- 設定値
postscreen_greet_wait = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_greet_wait = ${stress?{2}:{6}}s
postscreen_helo_required
- 設定値
postscreen_helo_required = $smtpd_helo_required
- デフォルト
postscreen_helo_required = $smtpd_helo_required
postscreen_non_smtp_command_action
- 設定値
postscreen_non_smtp_command_action = drop
- デフォルト
postscreen_non_smtp_command_action = drop
postscreen_non_smtp_command_enable
- 設定値
postscreen_non_smtp_command_enable = [ yes | no ]
- デフォルト
postscreen_non_smtp_command_enable = no
postscreen_non_smtp_command_ttl
- 設定値
postscreen_non_smtp_command_ttl = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_non_smtp_command_ttl = 30d
postscreen_pipelining_action
- 設定値
postscreen_pipelining_action = enforce
- デフォルト
postscreen_pipelining_action = enforce
postscreen_pipelining_enable
- 設定値
postscreen_pipelining_enable = [ yes | no ]
- デフォルト
postscreen_pipelining_enable = no
postscreen_pipelining_ttl
- 設定値
postscreen_pipelining_ttl = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_pipelining_ttl = 30d
postscreen_post_queue_limit
- 設定値
postscreen_post_queue_limit = $default_process_limit
- デフォルト
postscreen_post_queue_limit = $default_process_limit
postscreen_pre_queue_limit
- 設定値
postscreen_pre_queue_limit = $default_process_limit
- デフォルト
postscreen_pre_queue_limit = $default_process_limit
- 設定値
postscreen_reject_footer = $smtpd_reject_footer
- デフォルト
postscreen_reject_footer = $smtpd_reject_footer
postscreen_tls_security_level
- 設定値
postscreen_tls_security_level = { may | encrypt }
- may
STARTTLSを使用できることを接続したクライアントに通知する。
ただし、使用するかどうかは任意である。 - encrypt
STARTTLSを使用できることを接続したクライアントに通知する。
STARTTLSを使用しなければ接続を拒否する。
この設定では、他のメールサーバからメールを受信できなくなる可能性があるので注意。
次の設定と同じである。ただし、こちらは今後非推奨である。
smtpd_enforce_tls = yes
- 空
TLSを使用することはできるが接続元に通知は行わない。
- may
- デフォルト
postscreen_tls_security_level = $smtpd_tls_security_level
postscreen_upstream_proxy_protocol
- 設定値
postscreen_upstream_proxy_protocol = {<>}
- デフォルト
postscreen_upstream_proxy_protocol =
postscreen_upstream_proxy_timeout
- 設定値
postscreen_upstream_proxy_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_upstream_proxy_timeout = 5s
postscreen_use_tls
- 設定値
postscreen_use_tls = $smtpd_use_tls
- デフォルト
postscreen_use_tls = $smtpd_use_tls
postscreen_watchdog_timeout
- 設定値
postscreen_watchdog_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
postscreen_watchdog_timeout = 10s
postscreen_whitelist_interfaces
- 設定値
postscreen_whitelist_interfaces = static:all
- デフォルト
postscreen_whitelist_interfaces = static:all
Milter
Milterとはメールフィルタ機能のことで、ウイルスチェックやスパムメールチェックを行える
milter_command_timeout
- 設定値
milter_command_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
milter_command_timeout = 30s
milter_connect_macros
- 設定値
milter_connect_macros = j {daemon_name} {daemon_addr} v
- デフォルト
milter_connect_macros = j {daemon_name} {daemon_addr} v
milter_connect_timeout
- 設定値
milter_connect_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
milter_connect_timeout = 30s
milter_content_timeout
- 設定値
milter_content_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
milter_content_timeout = 300s
milter_data_macros
- 設定値
milter_data_macros = i
- デフォルト
milter_data_macros = i
milter_default_action
- 設定値
milter_default_action = tempfail
- デフォルト
milter_default_action = tempfail
milter_end_of_data_macros
- 設定値
milter_end_of_data_macros = i
- デフォルト
milter_end_of_data_macros = i
milter_end_of_header_macros
- 設定値
milter_end_of_header_macros = i
- デフォルト
milter_end_of_header_macros = i
milter_header_checks
- 設定値
milter_header_checks = {<>}
- デフォルト
milter_header_checks =
milter_helo_macros
- 設定値
milter_helo_macros = {tls_version} {cipher} {cipher_bits} {cert_subject} {cert_issuer}
- デフォルト
milter_helo_macros = {tls_version} {cipher} {cipher_bits} {cert_subject} {cert_issuer}
milter_macro_daemon_name
- 設定値
milter_macro_daemon_name = $myhostname
- デフォルト
milter_macro_daemon_name = $myhostname
milter_macro_defaults
- 設定値
milter_macro_defaults = {<>}
- デフォルト
milter_macro_defaults =
milter_macro_v
- 設定値
milter_macro_v = $mail_name $mail_version
- デフォルト
milter_macro_v = $mail_name $mail_version
milter_mail_macros
- 設定値
milter_mail_macros = i {auth_type} {auth_authen} {auth_author} {mail_addr} {mail_host} {mail_mailer}
- デフォルト
milter_mail_macros = i {auth_type} {auth_authen} {auth_author} {mail_addr} {mail_host} {mail_mailer}
milter_protocol
- 設定値
milter_protocol = 6
- デフォルト
milter_protocol = 6
milter_rcpt_macros
- 設定値
milter_rcpt_macros = i {rcpt_addr} {rcpt_host} {rcpt_mailer}
- デフォルト
milter_rcpt_macros = i {rcpt_addr} {rcpt_host} {rcpt_mailer}
milter_unknown_command_macros
- 設定値
milter_unknown_command_macros = {<>}
- デフォルト
milter_unknown_command_macros =
non_smtpd_milters
- 設定値
non_smtpd_milters = {<>}
- デフォルト
non_smtpd_milters =
パフォーマンス
application_event_drain_time
postkickプログラムが他のプログラムにリクエストを送る際のタイムアウト時間。
- 設定値
application_event_drain_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
application_event_drain_time = 100s
daemon_timeout
1つの子プロセスの最大動作時間。
一般的に1接続の最大使用可能時間として利用される。
ただし、通常は他のパラメータにより、より短い時間に制限される。
- 設定値
daemon_timeout = 18000s
- デフォルト
daemon_timeout = 18000s
18000sは5時間
default_destination_concurrency_limit
同一の宛先へ同時に配送できる上限。
この設定値はデフォルトとして扱われ、各転送方法における個別の設定値を<トランスポート>_destination_concurrency_limitの各パラメータで設定する。
- 設定値
1以上の値を指定する。
default_destination_concurrency_limit = <同時接続数>
- デフォルト
default_destination_concurrency_limit = 20
default_destination_concurrency_negative_feedback
配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数から減らす。
同時接続可能数は0まで減ることはない。
この設定値はデフォルトとして扱われ、各転送方法における個別の設定値を<トランスポート>_destination_concurrency_negative_feedbackの各パラメータで設定する。
- 設定値
default_destination_concurrency_negative_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
default_destination_concurrency_negative_feedback = 1
default_destination_concurrency_positive_feedback
配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数に加算する。
同時接続可能数は最大でもパラメータ”XXX_destination_recipient_limit”(XXXはトランスポート)の値までしか増えない。
この設定値はデフォルトとして扱われ、各転送方法における個別の設定値を<トランスポート>_destination_concurrency_positive_feedbackの各パラメータで設定する。
- 設定値
default_destination_concurrency_positive_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
default_destination_concurrency_positive_feedback = 1
default_destination_rate_delay
同一の接続先サーバにおいて、配送が一度完了した後に連続して配送する場合、すぐに配送をせずにどの程度の時間待機するかを設定する。
この設定値はデフォルトとして扱われ、各転送方法における個別の設定値を<トランスポート>_destination_rate_delayの各パラメータで設定する。
- 設定値
default_destination_rate_delay = <待機時間>
<時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
default_destination_rate_delay = 0s
default_destination_recipient_limit
同一ドメインに対し、並列して送れるメールの数。
ただし、同じ宛先ユーザのメールは1配送として扱われる。
この設定値はデフォルトとして扱われ、各転送方法における個別の設定値を<トランスポート>_destination_recipient_limitの各パラメータで設定する。
- 設定値
default_destination_recipient_limit = <並列送信最大数>
1にした場合、同一ドメインに対し並列して送れるメールの数の制限はなくなるが、同一ドメイン中の同一宛先ユーザのメールは並列して送れなくなる。
- デフォルト
default_destination_recipient_limit = 50
default_extra_recipient_limit
メールキューに割り込みメールが入った際に使用される、メモリの予備領域のメール保存可能件数。
この設定値はデフォルトとして扱われ、各転送方法における個別の設定値を<トランスポート>_extra_recipient_limitの各パラメータで設定する。
- 設定値
default_extra_recipient_limit = <保存可能件数>
- デフォルト
default_extra_recipient_limit = 1000
default_minimum_delivery_slots
一度にキューから取り出して配送処理するメールの最低数。
つまり、ここで設定した値分処理するまで割り込みされることはなくなる。
- 設定値
default_minimum_delivery_slots = <メール処理数>
- デフォルト
default_minimum_delivery_slots = 3
default_process_limit
Postfixが生成する子プロセスの上限。
設定ファイルmaster.cfにて設定したプロセス数がこの値を超えた場合、master.cfの設定が優先される。
- 設定値
default_process_limit = <プロセス数>
- デフォルト
default_process_limit = 100
default_recipient_limit
メモリ内に保持できる受信者メールアドレス情報の数。
この設定値はデフォルトとして扱われ、各転送方法における個別の設定値を<トランスポート>_recipient_limitの各パラメータで設定する。
- 設定値
default_recipient_limit = <受信者情報数>
- デフォルト
default_recipient_limit = 20000
default_recipient_refill_delay
メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、次の受信者情報を追加読み出しするまでの待機時間。
この設定値はデフォルトとして扱われ、各転送方法における個別の設定値を<トランスポート>_recipient_refill_delayの各パラメータで設定する。
- 設定値
default_recipient_refill_delay = <受信者情報読み出し間隔>
<時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
default_recipient_refill_delay = 5s
default_recipient_refill_limit
メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、一度に追加読み出しできる受信者情報の上限数。
この設定値はデフォルトとして扱われ、各転送方法における個別の設定値を<トランスポート>_recipient_refill_limitの各パラメータで設定する。
- 設定値
default_recipient_refill_limit = <読み出し受信者情報数>
- デフォルト
default_recipient_refill_limit = 100
default_transport_rate_delay
同一内容のメールを複数の宛先に配送する際にそれぞれの配送間に設ける待機時間を設定する。
この設定値はデフォルトとして扱われ、各転送方法における個別の設定値を<トランスポート>_transport_rate_delayの各パラメータで設定する。
- 設定値
default_transport_rate_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
default_transport_rate_delay = 0s
duplicate_filter_limit
aliases、virtual、showq等の各プログラムでメールアドレスを展開する際に重複メールアドレスを排除するために展開したメールアドレスを記憶するが、その最大数。
- 設定値
duplicate_filter_limit = <記憶メールアドレス数>
- デフォルト
duplicate_filter_limit = 1000
default_destination_concurrency_failed_cohort_limit
何度転送先への接続に失敗したら当該接続先が接続不能状態であると判断するか。
内部でカウンタを持ち、接続に連続して失敗するたびにカウンタが増加し、途中接続に成功するとカウンタがリセットされる。
この設定値はデフォルトとして扱われ、各転送方法における個別の設定値を<トランスポート>_destination_concurrency_failed_cohort_limitの各パラメータで設定する。
- 設定値
default_destination_concurrency_failed_cohort_limit = <転送失敗回数上限>
- 0
無効
- 0
- デフォルト
default_destination_concurrency_failed_cohort_limit = 1
fork_attempts
子プロセスを生成する際に失敗した場合、再試行する回数
- 設定値
fork_attempts = <再試行回数>
- デフォルト
fork_attempts = 5
fork_delay
子プロセスを生成する際に失敗した場合、再試行前に待機する時間
- 設定値
fork_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
fork_delay = 1s
hash_queue_names
キュー管理用のディレクトリを作成する際に、内部にサブディレクトリを作成して分割して管理するキューの名前。
キューの分割はハッシュ化して行われる。
- 設定値
hash_queue_names = <キュー名> {, ...}
- デフォルト
hash_queue_names = deferred, defer
hash_queue_depth
パラメータ”hash_queue_names”で指定したサブディレクトリを作成するキューにおいて、そのサブディレクトリの深さ。
ディレクトリ階層が増えるにつれ、各ディレクトリ内のファイル数が減るのでディレクトリアクセスのパフォーマンスが向上する。
反面、Postfixの起動が遅くなる。
- 設定値
hash_queue_depth = <サブディレクトリ階層数>
- デフォルト
hash_queue_depth = 1
in_flow_delay
1秒あたりのメールの配送要求数がメール配送完了数を超えた場合に新たな配送要求を停止する時間。
パラメータ”default_process_limit”で指定した数、またはSMTPプロセス数を個別に設定した場合はその値分の配送要求をここで指定した時間内に受け取ることができるようになる。
例えば、default_process_limit=100、in_flow_delay=1の場合、毎秒最大100配送要求を受け取ることができる。
- 設定値
in_flow_delay = <時間>{s}
sは秒を示すが、デフォルトで秒であり、本パラメータは秒以外は指定できないので省略で良い。
0-10sの値を指定でき、0の場合は本機能は無効となる。
- デフォルト
in_flow_delay = 1s
initial_destination_concurrency
同一宛先へメールを配送する際の並列処理できる最大値の初期値。
- 設定値
initial_destination_concurrency = <同時配送最大数初期値>
- デフォルト
initial_destination_concurrency = 5
line_length_limit
Postfixとの通信において文字列を入力する際にここで指定した数より長い文字列は分割される。
ただし、転送時には再連結される。
- 設定値
line_length_limit = <最大文字列長>
- デフォルト
line_length_limit = 2048
max_idle
使用されていないPostfixの子プロセスが自動終了するまでの最大の待機時間。
キュー管理プロセスは自動終了しない。
- 設定値
max_idle = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
max_idle = 100s
max_use
Postfixの子プロセスは一定数の要求を受け取り後は自動終了するが、その最大要求数。
キュー管理プロセスやその他一部のプロセスはこの適用を受けない。
- 設定値
max_use = <最大処理要求数>
- デフォルト
max_use = 100
minimal_backoff_time
遅延メッセージの再配送を試行する最小の時間間隔。
- 設定値
minimal_backoff_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
minimal_backoff_time = 300s
maximal_backoff_time
遅延メッセージの再配送を試行する最大の時間間隔。
パラメータ”minimal_backoff_time”以上の値を指定しなければならない。
- 設定値
maximal_backoff_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
maximal_backoff_time = 4000s
maximal_queue_lifetime
配送不能と判断するまでの、メールがキュー内で留置されている最大の時間。
- 設定値
maximal_queue_lifetime = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
0を指定した場合、再試行は行われない。
- デフォルト
maximal_queue_lifetime = 5d
service_throttle_time
Postfixのサーバプロセスの子プロセスが異常状態にあるとmasterプロセスが検知した際、新しくプロセスを生成するまでの待機時間。
- 設定値
service_throttle_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
service_throttle_time = 60s
stale_lock_time
メールボックス形式でのローカル配信で使用される、排他的ロックファイルが強制的に取り除かれるまでの時間。
- 設定値
stale_lock_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
stale_lock_time = 500s
stress
高負荷時に有効にすることで、各パラメータの許容値を緩やかにする。
このパラメータ自体に効果はなく、他のパラメータの一斉変更のために使用される。
参考:http://www.postfix.org/STRESS_README.html
- 設定値
stress = { yes }
- デフォルト
stress =
transport_retry_time
Postfixキューマネージャが異常な状態にある配送を再試行させるまでの待機時間。
- 設定値
transport_retry_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
transport_retry_time = 60s
trigger_timeout
pickupやqmgrデーモンのようなPostfixデーモンにトリガーを送る制限時間。
- 設定値
trigger_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
trigger_timeout = 10s
クライアント間キャッシュ
connection_cache_protocol_timeout
Postfixに接続するクライアント間との通信におけるキャッシュを用いた接続の制限時間。
- 設定値
connection_cache_protocol_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
connection_cache_protocol_timeout = 5s
connection_cache_status_update_time
プログラム”scache”がキャッシュの情報をログに記録する時間間隔。
出力ログはsyslogである。
- 設定値
connection_cache_status_update_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
connection_cache_status_update_time = 600s
connection_cache_ttl_limit
Postfixに接続するクライアント間との通信における未使用のキャッシュの生存時間の最大値。
この時間を超える時間をTTLとして要求されると、強制的にこの設定時間に変更される。
- 設定値
connection_cache_ttl_limit = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
connection_cache_ttl_limit = 2s
IPC
外部プログラムとのプロセス間通信における各種制限時間の設定。
SMTPクライアントからの接続で、Postfixがサーバとなるプロセス間通信がある。
Postfixがクライアントとなる接続には例えば、アドレス解決やDBMS、LDAP等に接続する為にプロセス間通信がある。
ipc_idle
アイドル状態になったIPC接続を閉じるまでの時間。
- 設定値
ipc_idle = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
ipc_idle = 5s
ipc_timeout
使用中のIPC接続の利用制限時間。
この時間までに送受信が完了しなければ、何らかの問題が発生したとみなされて、強制終了される。
主にRDBMS接続のデッドロック対策として利用されるパラメータである。
- 設定値
ipc_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
ipc_timeout = 3600s
ipc_ttl
PostfixにIPC接続したクライアントが接続を閉じた後、その接続をキャッシュしておく時間。
- 設定値
ipc_ttl = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
ipc_ttl = 1000s
データベース
default_database_type
newaliasesコマンドやpostaliasコマンド、postmapコマンド等で利用するデータベースのデフォルト形式。
初期構築の後は変更できないので、変更する場合はすべてのデータベースを作り直さなければならない。
- 設定値
default_database_type = <データベースタイプ>
- デフォルト
default_database_type = hash
berkeley_db_create_buffer_size
データベースタイプbdb、btreeを作成する際のテーブルごとのI/Oバッファサイズ。
- 設定値
berkeley_db_create_buffer_size = <バッファサイズ(byte)>
- デフォルト
berkeley_db_create_buffer_size = 16777216
berkeley_db_read_buffer_size
データベースタイプbdb、btreeを読み込む際のテーブルごとのI/Oバッファサイズ。
- 設定値
berkeley_db_read_buffer_size = <バッファサイズ(byte)>
- デフォルト
berkeley_db_read_buffer_size = 131072
lmdb_map_size
OpenLDAPをデータベースに使用している場合のLMDBの初期サイズ。
初期サイズに達した後は容量は2倍になる。
- 設定値
lmdb_map_size = <初期サイズ>
- デフォルト
lmdb_map_size = 16777216
proxy_read_maps
データベースをパラメータに指定する際に、読み取り専用としてproxymapサービスを利用することができるパラメータのリスト。
proxymapサービスを利用する場合はデータベース名の接頭辞として”proxy:”を指定する。
proxymapサービスは例えば、Postfixがchroot制限を受けている場合、chroot制限を受けないようにしたproxymapサービスからchroot外の検索ファイルを読み取る為に使用したり、接続数制限があるデータベースシステムに複数のPostfixインスタンスからアクセスする場合に使用したりできる。
- 設定値
proxy_read_maps = {<パラメータ>} ...
- デフォルト
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $sender_bcc_maps $recipient_bcc_maps $smtp_generic_maps $lmtp_generic_maps $alias_maps $smtpd_client_restrictions $smtpd_helo_restrictions $smtpd_sender_restrictions $smtpd_relay_restrictions $smtpd_recipient_restrictions
proxy_write_maps
データベースをパラメータに指定する際に、読み書き可能状態でproxymapサービスを利用することができるパラメータのリスト。
proxymapサービスを利用する場合はデータベース名の接頭辞として”proxy:”を指定する。
proxymapサービスは例えば、Postfixがchroot制限を受けている場合、chroot制限を受けないようにしたproxymapサービスからchroot外の検索ファイルを読み取る為に使用したり、接続数制限があるデータベースシステムに複数のPostfixインスタンスからアクセスする場合に使用したりできる。
- 設定値
proxy_write_maps = {<パラメータ>} ...
- デフォルト
proxy_write_maps = $smtp_sasl_auth_cache_name $lmtp_sasl_auth_cache_name $address_verify_map $postscreen_cache_map
バーチャルドメイン
virtual_alias_address_length_limit
- 設定値
virtual_alias_address_length_limit = 1000
- デフォルト
virtual_alias_address_length_limit = 1000
virtual_alias_domains
バーチャルドメインと実ドメインとの関連付けを保存したデータベース
- 設定値
virtual_alias_domains = {<データベースタイプ>:<データベースパス>}
- デフォルト
virtual_alias_domains = $virtual_alias_maps
virtual_alias_expansion_limit
- 設定値
virtual_alias_expansion_limit = 1000
- デフォルト
virtual_alias_expansion_limit = 1000
virtual_alias_maps
バーチャルメールアドレスのユーザと実在のローカルユーザ、または転送先アドレスの対応付けを保存したデータベース
- 設定値
virtual_alias_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
virtual_alias_maps = $virtual_maps
virtual_alias_recursion_limit
- 設定値
virtual_alias_recursion_limit = 1000
- デフォルト
virtual_alias_recursion_limit = 1000
virtual_delivery_slot_cost
- 設定値
virtual_delivery_slot_cost = $default_delivery_slot_cost
0の場合、割り込みは無効
- デフォルト
virtual_delivery_slot_cost = $default_delivery_slot_cost
virtual_delivery_slot_discount
- 設定値
virtual_delivery_slot_discount = $default_delivery_slot_discount
- デフォルト
virtual_delivery_slot_discount = $default_delivery_slot_discount
virtual_delivery_slot_loan
- 設定値
virtual_delivery_slot_loan = $default_delivery_slot_loan
- デフォルト
virtual_delivery_slot_loan = $default_delivery_slot_loan
virtual_delivery_status_filter
バーチャルメール配送結果のステータスを変換するルールを保存したデータベースを指定する。
- 設定値
virtual_delivery_status_filter = {<データベースタイプ>:<データベースパス>}
- デフォルト
virtual_delivery_status_filter = $default_delivery_status_filter
virtual_destination_concurrency_failed_cohort_limit
virtualトランスポートを使用した際に、何度転送先への接続に失敗したら当該接続先が接続不能状態であると判断するか。
内部でカウンタを持ち、接続に連続して失敗するたびにカウンタが増加し、途中接続に成功するとカウンタがリセットされる。
- 設定値
virtual_destination_concurrency_failed_cohort_limit = <転送失敗回数上限>
- デフォルト
virtual_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
virtual_destination_concurrency_limit
virtualトランスポートで配送する際に同一の宛先へ同時に配送できる上限。
- 設定値
virtual_destination_concurrency_limit = $default_destination_concurrency_limit
- デフォルト
virtual_destination_concurrency_limit = $default_destination_concurrency_limit
virtual_destination_concurrency_negative_feedback
virtualトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数から減らす。
同時接続可能数は0まで減ることはない。
- 設定値
virtual_destination_concurrency_negative_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
virtual_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
virtual_destination_concurrency_positive_feedback
virtualトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数に加算する。
同時接続可能数は最大でもパラメータ”virtual_destination_recipient_limit”の値までしか増えない。
- 設定値
virtual_destination_concurrency_positive_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
virtual_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
virtual_destination_rate_delay
virtualトランスポートを使用した場合に、同一の接続先サーバにおいて、配送が一度完了した後に連続して配送する場合、すぐに配送をせずにどの程度の時間待機するかを設定する。
- 設定値
virtual_destination_rate_delay = <待機時間>
- デフォルト
virtual_destination_rate_delay = $default_destination_rate_delay
virtual_destination_recipient_limit
virtualトランスポートを使用した場合に、同一ドメインに対し、並列して送れるメールの数。
ただし、同じ宛先ユーザのメールは1配送として扱われる。
- 設定値
virtual_destination_recipient_limit = <並列送信最大数>
- デフォルト
virtual_destination_recipient_limit = $default_destination_recipient_limit
virtual_extra_recipient_limit
virtualトランスポートを使用した場合に、メールキューに割り込みメールが入った際に使用される、メモリの予備領域のメール保存可能件数。
- 設定値
virtual_extra_recipient_limit = $default_extra_recipient_limit
- デフォルト
virtual_extra_recipient_limit = $default_extra_recipient_limit
virtual_gid_maps
- 設定値
virtual_gid_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
virtual_gid_maps =
virtual_initial_destination_concurrency
- 設定値
virtual_initial_destination_concurrency = $initial_destination_concurrency
- デフォルト
virtual_initial_destination_concurrency = $initial_destination_concurrency
virtual_mailbox_base
バーチャルメールボックスの保存先のパス。
絶対パスで指定する。
通常の保存先と同じ場合は次で設定するとよい。
virtual_mailbox_base = $mail_spool_directory
- 設定値
virtual_mailbox_base = {<パス>}
- デフォルト
virtual_mailbox_base =
virtual_mailbox_domains
バーチャルメールで使用するドメイン。
パラメータ”mydestination”と重複するドメインを記載した場合、mydestinationが優先されるので注意。
- 設定値
virtual_mailbox_domains = <ドメイン> {, ...}
- デフォルト
virtual_mailbox_domains = $virtual_mailbox_maps
virtual_mailbox_limit
- 設定値
virtual_mailbox_limit = 51200000
- デフォルト
virtual_mailbox_limit = 51200000
virtual_mailbox_lock
- 設定値
virtual_mailbox_lock = fcntl, dotlock
- デフォルト
virtual_mailbox_lock = fcntl, dotlock
virtual_mailbox_maps
バーチャルメールと保存パスの対応付けデータを保存したデータベース。
パスの末尾が”/”で終了する場合はMaildir形式で保存され、そうでない場合はMailbox形式で保存される。
- 設定値
virtual_mailbox_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
virtual_mailbox_maps =
virtual_minimum_delivery_slots
- 設定値
virtual_minimum_delivery_slots = $default_minimum_delivery_slots
- デフォルト
virtual_minimum_delivery_slots = $default_minimum_delivery_slots
virtual_minimum_uid
- 設定値
virtual_minimum_uid = 100
- デフォルト
virtual_minimum_uid = 100
virtual_recipient_limit
virtualトランスポートを使用した場合に、メモリ内に保持できる受信者メールアドレス情報の数。
- 設定値
virtual_recipient_limit = <受信者情報数>
- デフォルト
virtual_recipient_limit = $default_recipient_limit
virtual_recipient_refill_delay
virtualトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、次の受信者情報を追加読み出しするまでの待機時間。
- 設定値
virtual_recipient_refill_delay = <受信者情報読み出し間隔>
- デフォルト
virtual_recipient_refill_delay = $default_recipient_refill_delay
virtual_recipient_refill_limit
virtualトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、一度に追加読み出しできる受信者情報の上限数。
- 設定値
virtual_recipient_refill_limit = <読み出し受信者情報数>
- デフォルト
virtual_recipient_refill_limit = $default_recipient_refill_limit
virtual_transport
- 設定値
virtual_transport = virtual
- デフォルト
virtual_transport = virtual
virtual_transport_rate_delay
virtualトランスポートを使用した場合に、同一内容のメールを複数の宛先に配送する際にそれぞれの配送間に設ける待機時間を設定する。
- 設定値
virtual_transport_rate_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
virtual_transport_rate_delay = $default_transport_rate_delay
virtual_uid_maps
バーチャルメールボックス使用時にメールファイルを書き込むユーザIDを保存したデータベース。
バーチャルメールアドレスのユーザと書き込みユーザのユーザIDとの対応付けを記録する。
- 設定値
virtual_uid_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
virtual_uid_maps =
LMTP
lmtp_address_preference
- 設定値
lmtp_address_preference = any
- デフォルト
lmtp_address_preference = any
lmtp_address_verify_target
- 設定値
lmtp_address_verify_target = rcpt
- デフォルト
lmtp_address_verify_target = rcpt
lmtp_assume_final
- 設定値
lmtp_assume_final = [ yes | no ]
- デフォルト
lmtp_assume_final = no
lmtp_bind_address
- 設定値
lmtp_bind_address = {<>}
- デフォルト
lmtp_bind_address =
lmtp_bind_address6
- 設定値
lmtp_bind_address6 = {<>}
- デフォルト
lmtp_bind_address6 =
lmtp_body_checks
- 設定値
lmtp_body_checks = {<>}
- デフォルト
lmtp_body_checks =
lmtp_cname_overrides_servername
- 設定値
lmtp_cname_overrides_servername = [ yes | no ]
- デフォルト
lmtp_cname_overrides_servername = no
lmtp_connect_timeout
- 設定値
lmtp_connect_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_connect_timeout = 0s
lmtp_connection_cache_destinations
- 設定値
lmtp_connection_cache_destinations = {<>}
- デフォルト
lmtp_connection_cache_destinations =
lmtp_connection_cache_on_demand
- 設定値
lmtp_connection_cache_on_demand = [ yes | no ]
- デフォルト
lmtp_connection_cache_on_demand = yes
lmtp_connection_cache_time_limit
- 設定値
lmtp_connection_cache_time_limit = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_connection_cache_time_limit = 2s
lmtp_connection_reuse_count_limit
- 設定値
lmtp_connection_reuse_count_limit = 0
- デフォルト
lmtp_connection_reuse_count_limit = 0
lmtp_connection_reuse_time_limit
- 設定値
lmtp_connection_reuse_time_limit = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_connection_reuse_time_limit = 300s
lmtp_data_done_timeout
- 設定値
lmtp_data_done_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_data_done_timeout = 600s
lmtp_data_init_timeout
- 設定値
lmtp_data_init_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_data_init_timeout = 120s
lmtp_data_xfer_timeout
- 設定値
lmtp_data_xfer_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_data_xfer_timeout = 180s
lmtp_defer_if_no_mx_address_found
- 設定値
lmtp_defer_if_no_mx_address_found = [ yes | no ]
- デフォルト
lmtp_defer_if_no_mx_address_found = no
lmtp_delivery_slot_cost
- 設定値
lmtp_delivery_slot_cost = $default_delivery_slot_cost
0の場合、割り込みは無効
- デフォルト
lmtp_delivery_slot_cost = $default_delivery_slot_cost
lmtp_delivery_slot_discount
- 設定値
lmtp_delivery_slot_discount = $default_delivery_slot_discount
- デフォルト
lmtp_delivery_slot_discount = $default_delivery_slot_discount
lmtp_delivery_slot_loan
- 設定値
lmtp_delivery_slot_loan = $default_delivery_slot_loan
- デフォルト
lmtp_delivery_slot_loan = $default_delivery_slot_loan
lmtp_delivery_status_filter
lmtpによるメール配送結果のステータスを変換するルールを保存したデータベースを指定する。
- 設定値
lmtp_delivery_status_filter = {<データベースタイプ>:<データベースパス>}
- デフォルト
lmtp_delivery_status_filter = $default_delivery_status_filter
lmtp_destination_concurrency_failed_cohort_limit
lmtpトランスポートを使用した際に、何度転送先への接続に失敗したら当該接続先が接続不能状態であると判断するか。
内部でカウンタを持ち、接続に連続して失敗するたびにカウンタが増加し、途中接続に成功するとカウンタがリセットされる。
- 設定値
lmtp_destination_concurrency_failed_cohort_limit = <転送失敗回数上限>
- デフォルト
lmtp_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
lmtp_destination_concurrency_limit
lmtpトランスポートで配送する際に同一の宛先へ同時に配送できる上限。
- 設定値
lmtp_destination_concurrency_limit = $default_destination_concurrency_limit
- デフォルト
lmtp_destination_concurrency_limit = $default_destination_concurrency_limit
lmtp_destination_concurrency_negative_feedback
lmtpトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数から減らす。
同時接続可能数は0まで減ることはない。
- 設定値
lmtp_destination_concurrency_negative_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
lmtp_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
lmtp_destination_concurrency_positive_feedback
lmtpトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数に加算する。
同時接続可能数は最大でもパラメータ”lmtp_destination_recipient_limit”の値までしか増えない。
- 設定値
lmtp_destination_concurrency_positive_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
lmtp_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
lmtp_destination_rate_delay
lmtpトランスポートを使用した場合に、同一の接続先サーバにおいて、配送が一度完了した後に連続して配送する場合、すぐに配送をせずにどの程度の時間待機するかを設定する。
- 設定値
lmtp_destination_rate_delay = <待機時間>
- デフォルト
lmtp_destination_rate_delay = $default_destination_rate_delay
lmtp_destination_recipient_limit
lmtpトランスポートを使用した場合に、同一ドメインに対し、並列して送れるメールの数。
ただし、同じ宛先ユーザのメールは1配送として扱われる。
- 設定値
lmtp_destination_recipient_limit = <並列送信最大数>
- デフォルト
lmtp_destination_recipient_limit = $default_destination_recipient_limit
lmtp_discard_lhlo_keyword_address_maps
- 設定値
lmtp_discard_lhlo_keyword_address_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
lmtp_discard_lhlo_keyword_address_maps =
lmtp_discard_lhlo_keywords
- 設定値
lmtp_discard_lhlo_keywords = {<>}
- デフォルト
lmtp_discard_lhlo_keywords =
lmtp_dns_reply_filter
- 設定値
lmtp_dns_reply_filter = {<>}
- デフォルト
lmtp_dns_reply_filter =
lmtp_dns_resolver_options
- 設定値
lmtp_dns_resolver_options = {<>}
- デフォルト
lmtp_dns_resolver_options =
lmtp_dns_support_level
- 設定値
lmtp_dns_support_level = {<>}
- デフォルト
lmtp_dns_support_level =
lmtp_enforce_tls
- 設定値
lmtp_enforce_tls = [ yes | no ]
- デフォルト
lmtp_enforce_tls = no
lmtp_extra_recipient_limit
lmtpトランスポートを使用した場合に、メールキューに割り込みメールが入った際に使用される、メモリの予備領域のメール保存可能件数。
- 設定値
lmtp_extra_recipient_limit = $default_extra_recipient_limit
- デフォルト
lmtp_extra_recipient_limit = $default_extra_recipient_limit
lmtp_fallback_relay
- 設定値
lmtp_fallback_relay = {<>}
- デフォルト
lmtp_fallback_relay =
lmtp_generic_maps
- 設定値
lmtp_generic_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
lmtp_generic_maps =
lmtp_header_checks
- 設定値
lmtp_header_checks = {<>}
- デフォルト
lmtp_header_checks =
lmtp_host_lookup
- 設定値
lmtp_host_lookup = dns
- デフォルト
lmtp_host_lookup = dns
lmtp_initial_destination_concurrency
- 設定値
lmtp_initial_destination_concurrency = $initial_destination_concurrency
- デフォルト
lmtp_initial_destination_concurrency = $initial_destination_concurrency
lmtp_lhlo_name
- 設定値
lmtp_lhlo_name = $myhostname
- デフォルト
lmtp_lhlo_name = $myhostname
lmtp_lhlo_timeout
- 設定値
lmtp_lhlo_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_lhlo_timeout = 300s
lmtp_line_length_limit
- 設定値
lmtp_line_length_limit = 998
- デフォルト
lmtp_line_length_limit = 998
lmtp_mail_timeout
- 設定値
lmtp_mail_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_mail_timeout = 300s
lmtp_mime_header_checks
- 設定値
lmtp_mime_header_checks = {<>}
- デフォルト
lmtp_mime_header_checks =
lmtp_minimum_delivery_slots
- 設定値
lmtp_minimum_delivery_slots = $default_minimum_delivery_slots
- デフォルト
lmtp_minimum_delivery_slots = $default_minimum_delivery_slots
lmtp_mx_address_limit
- 設定値
lmtp_mx_address_limit = 5
- デフォルト
lmtp_mx_address_limit = 5
lmtp_mx_session_limit
- 設定値
lmtp_mx_session_limit = 2
- デフォルト
lmtp_mx_session_limit = 2
lmtp_nested_header_checks
- 設定値
lmtp_nested_header_checks = {<>}
- デフォルト
lmtp_nested_header_checks =
lmtp_per_record_deadline
- 設定値
lmtp_per_record_deadline = [ yes | no ]
- デフォルト
lmtp_per_record_deadline = no
lmtp_pix_workaround_delay_time
- 設定値
lmtp_pix_workaround_delay_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_pix_workaround_delay_time = 10s
lmtp_pix_workaround_maps
- 設定値
lmtp_pix_workaround_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
lmtp_pix_workaround_maps =
lmtp_pix_workaround_threshold_time
- 設定値
lmtp_pix_workaround_threshold_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_pix_workaround_threshold_time = 500s
lmtp_pix_workarounds
- 設定値
lmtp_pix_workarounds = disable_esmtp,delay_dotcrlf
- デフォルト
lmtp_pix_workarounds = disable_esmtp,delay_dotcrlf
lmtp_quit_timeout
- 設定値
lmtp_quit_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_quit_timeout = 300s
lmtp_quote_rfc821_envelope
- 設定値
lmtp_quote_rfc821_envelope = [ yes | no ]
- デフォルト
lmtp_quote_rfc821_envelope = yes
lmtp_randomize_addresses
- 設定値
lmtp_randomize_addresses = [ yes | no ]
- デフォルト
lmtp_randomize_addresses = yes
lmtp_rcpt_timeout
- 設定値
lmtp_rcpt_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_rcpt_timeout = 300s
lmtp_recipient_limit
lmtpトランスポートを使用した場合に、メモリ内に保持できる受信者メールアドレス情報の数。
- 設定値
lmtp_recipient_limit = <受信者情報数>
- デフォルト
lmtp_recipient_limit = $default_recipient_limit
lmtp_recipient_refill_delay
lmtpトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、次の受信者情報を追加読み出しするまでの待機時間。
- 設定値
lmtp_recipient_refill_delay = <受信者情報読み出し間隔>
- デフォルト
lmtp_recipient_refill_delay = $default_recipient_refill_delay
lmtp_recipient_refill_limit
lmtpトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、一度に追加読み出しできる受信者情報の上限数。
- 設定値
lmtp_recipient_refill_limit = <読み出し受信者情報数>
- デフォルト
lmtp_recipient_refill_limit = $default_recipient_refill_limit
lmtp_reply_filter
- 設定値
lmtp_reply_filter = {<>}
- デフォルト
lmtp_reply_filter =
lmtp_rset_timeout
- 設定値
lmtp_rset_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_rset_timeout = 20s
lmtp_sasl_auth_cache_name
- 設定値
lmtp_sasl_auth_cache_name = {<>}
- デフォルト
lmtp_sasl_auth_cache_name =
lmtp_sasl_auth_cache_time
- 設定値
lmtp_sasl_auth_cache_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_sasl_auth_cache_time = 90d
lmtp_sasl_auth_enable
- 設定値
lmtp_sasl_auth_enable = [ yes | no ]
- デフォルト
lmtp_sasl_auth_enable = no
lmtp_sasl_auth_soft_bounce
- 設定値
lmtp_sasl_auth_soft_bounce = [ yes | no ]
- デフォルト
lmtp_sasl_auth_soft_bounce = yes
lmtp_sasl_mechanism_filter
- 設定値
lmtp_sasl_mechanism_filter = {<>}
- デフォルト
lmtp_sasl_mechanism_filter =
lmtp_sasl_password_maps
- 設定値
lmtp_sasl_password_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
lmtp_sasl_password_maps =
lmtp_sasl_path
- 設定値
lmtp_sasl_path = {<>}
- デフォルト
lmtp_sasl_path =
lmtp_sasl_security_options
- 設定値
lmtp_sasl_security_options = noplaintext, noanonymous
- デフォルト
lmtp_sasl_security_options = noplaintext, noanonymous
lmtp_sasl_tls_security_options
- 設定値
lmtp_sasl_tls_security_options = $lmtp_sasl_security_options
- デフォルト
lmtp_sasl_tls_security_options = $lmtp_sasl_security_options
lmtp_sasl_tls_verified_security_options
- 設定値
lmtp_sasl_tls_verified_security_options = $lmtp_sasl_tls_security_options
- デフォルト
lmtp_sasl_tls_verified_security_options = $lmtp_sasl_tls_security_options
lmtp_sasl_type
- 設定値
lmtp_sasl_type = cyrus
- デフォルト
lmtp_sasl_type = cyrus
lmtp_send_dummy_mail_auth
- 設定値
lmtp_send_dummy_mail_auth = [ yes | no ]
- デフォルト
lmtp_send_dummy_mail_auth = no
lmtp_send_xforward_command
- 設定値
lmtp_send_xforward_command = [ yes | no ]
- デフォルト
lmtp_send_xforward_command = no
lmtp_sender_dependent_authentication
- 設定値
lmtp_sender_dependent_authentication = [ yes | no ]
- デフォルト
lmtp_sender_dependent_authentication = no
lmtp_skip_5xx_greeting
- 設定値
lmtp_skip_5xx_greeting = [ yes | no ]
- デフォルト
lmtp_skip_5xx_greeting = yes
lmtp_skip_quit_response
- 設定値
lmtp_skip_quit_response = [ yes | no ]
- デフォルト
lmtp_skip_quit_response = no
lmtp_starttls_timeout
- 設定値
lmtp_starttls_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_starttls_timeout = 300s
lmtp_tcp_port
- 設定値
lmtp_tcp_port = 24
- デフォルト
lmtp_tcp_port = 24
lmtp_tls_CAfile
- 設定値
lmtp_tls_CAfile = {<>}
- デフォルト
lmtp_tls_CAfile =
lmtp_tls_CApath
- 設定値
lmtp_tls_CApath = {<>}
- デフォルト
lmtp_tls_CApath =
lmtp_tls_block_early_mail_reply
- 設定値
lmtp_tls_block_early_mail_reply = [ yes | no ]
- デフォルト
lmtp_tls_block_early_mail_reply = no
lmtp_tls_cert_file
- 設定値
lmtp_tls_cert_file = {<>}
- デフォルト
lmtp_tls_cert_file =
lmtp_tls_ciphers
- 設定値
lmtp_tls_ciphers = medium
- デフォルト
lmtp_tls_ciphers = medium
lmtp_tls_dcert_file
- 設定値
lmtp_tls_dcert_file = {<>}
- デフォルト
lmtp_tls_dcert_file =
lmtp_tls_dkey_file
- 設定値
lmtp_tls_dkey_file = $lmtp_tls_dcert_file
- デフォルト
lmtp_tls_dkey_file = $lmtp_tls_dcert_file
lmtp_tls_eccert_file
- 設定値
lmtp_tls_eccert_file = {<>}
- デフォルト
lmtp_tls_eccert_file =
lmtp_tls_eckey_file
- 設定値
lmtp_tls_eckey_file = $lmtp_tls_eccert_file
- デフォルト
lmtp_tls_eckey_file = $lmtp_tls_eccert_file
lmtp_tls_enforce_peername
- 設定値
lmtp_tls_enforce_peername = [ yes | no ]
- デフォルト
lmtp_tls_enforce_peername = yes
lmtp_tls_exclude_ciphers
- 設定値
lmtp_tls_exclude_ciphers = {<>}
- デフォルト
lmtp_tls_exclude_ciphers =
lmtp_tls_fingerprint_cert_match
- 設定値
lmtp_tls_fingerprint_cert_match = {<>}
- デフォルト
lmtp_tls_fingerprint_cert_match =
lmtp_tls_fingerprint_digest
- 設定値
lmtp_tls_fingerprint_digest = md5
- デフォルト
lmtp_tls_fingerprint_digest = md5
lmtp_tls_force_insecure_host_tlsa_lookup
- 設定値
lmtp_tls_force_insecure_host_tlsa_lookup = [ yes | no ]
- デフォルト
lmtp_tls_force_insecure_host_tlsa_lookup = no
lmtp_tls_key_file
- 設定値
lmtp_tls_key_file = $lmtp_tls_cert_file
- デフォルト
lmtp_tls_key_file = $lmtp_tls_cert_file
lmtp_tls_loglevel
- 設定値
lmtp_tls_loglevel = 0
- デフォルト
lmtp_tls_loglevel = 0
lmtp_tls_mandatory_ciphers
- 設定値
lmtp_tls_mandatory_ciphers = medium
- デフォルト
lmtp_tls_mandatory_ciphers = medium
lmtp_tls_mandatory_exclude_ciphers
- 設定値
lmtp_tls_mandatory_exclude_ciphers = {<>}
- デフォルト
lmtp_tls_mandatory_exclude_ciphers =
lmtp_tls_mandatory_protocols
- 設定値
lmtp_tls_mandatory_protocols = !SSLv2, !SSLv3
- デフォルト
lmtp_tls_mandatory_protocols = !SSLv2, !SSLv3
lmtp_tls_note_starttls_offer
- 設定値
lmtp_tls_note_starttls_offer = [ yes | no ]
- デフォルト
lmtp_tls_note_starttls_offer = no
lmtp_tls_per_site
- 設定値
lmtp_tls_per_site = {<>}
- デフォルト
lmtp_tls_per_site =
lmtp_tls_policy_maps
- 設定値
lmtp_tls_policy_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
lmtp_tls_policy_maps =
lmtp_tls_protocols
- 設定値
lmtp_tls_protocols = !SSLv2, !SSLv3
- デフォルト
lmtp_tls_protocols = !SSLv2, !SSLv3
lmtp_tls_scert_verifydepth
- 設定値
lmtp_tls_scert_verifydepth = 9
- デフォルト
lmtp_tls_scert_verifydepth = 9
lmtp_tls_secure_cert_match
- 設定値
lmtp_tls_secure_cert_match = nexthop
- デフォルト
lmtp_tls_secure_cert_match = nexthop
lmtp_tls_security_level
- 設定値
lmtp_tls_security_level = {<>}
- デフォルト
lmtp_tls_security_level =
lmtp_tls_session_cache_database
- 設定値
lmtp_tls_session_cache_database = {<>}
- デフォルト
lmtp_tls_session_cache_database =
lmtp_tls_session_cache_timeout
- 設定値
lmtp_tls_session_cache_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_tls_session_cache_timeout = 3600s
lmtp_tls_trust_anchor_file
- 設定値
lmtp_tls_trust_anchor_file = {<>}
- デフォルト
lmtp_tls_trust_anchor_file =
lmtp_tls_verify_cert_match
- 設定値
lmtp_tls_verify_cert_match = hostname
- デフォルト
lmtp_tls_verify_cert_match = hostname
lmtp_tls_wrappermode
- 設定値
lmtp_tls_wrappermode = [ yes | no ]
- デフォルト
lmtp_tls_wrappermode = no
lmtp_transport_rate_delay
lmtpトランスポートを使用した場合に、同一内容のメールを複数の宛先に配送する際にそれぞれの配送間に設ける待機時間を設定する。
- 設定値
lmtp_transport_rate_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_transport_rate_delay = $default_transport_rate_delay
lmtp_use_tls
- 設定値
lmtp_use_tls = [ yes | no ]
- デフォルト
lmtp_use_tls = no
lmtp_xforward_timeout
- 設定値
lmtp_xforward_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
lmtp_xforward_timeout = 300s
キュー管理
qmgr_clog_warn_time
- 設定値
qmgr_clog_warn_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
qmgr_clog_warn_time = 300s
qmgr_daemon_timeout
- 設定値
qmgr_daemon_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
qmgr_daemon_timeout = 1000s
qmgr_fudge_factor
- 設定値
qmgr_fudge_factor = 100
- デフォルト
qmgr_fudge_factor = 100
qmgr_ipc_timeout
- 設定値
qmgr_ipc_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
qmgr_ipc_timeout = 60s
qmgr_message_active_limit
- 設定値
qmgr_message_active_limit = 20000
- デフォルト
qmgr_message_active_limit = 20000
qmgr_message_recipient_limit
- 設定値
qmgr_message_recipient_limit = 20000
- デフォルト
qmgr_message_recipient_limit = 20000
qmgr_message_recipient_minimum
- 設定値
qmgr_message_recipient_minimum = 10
- デフォルト
qmgr_message_recipient_minimum = 10
queue_file_attribute_count_limit
- 設定値
queue_file_attribute_count_limit = 100
- デフォルト
queue_file_attribute_count_limit = 100
queue_minfree
- 設定値
queue_minfree = 0
- デフォルト
queue_minfree = 0
queue_run_delay
遅延メールを管理するdeferredキューがキューマネージャによってスキャンされる時間間隔。
パラメータ”minimal_backoff_time”以上の値を指定しなければならない。
- 設定値
queue_run_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
queue_run_delay = 300s
delay_warning_time
配送が完了せずに一定時間キュー内にメールがとどまった場合に通知するまでの時間。
- 設定値
delay_warning_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
0の場合は、通知は行わない。
- デフォルト
delay_warning_time = 0h
delay_notice_recipient
パラメータ”delay_warning_time”で指定した時間以内にキューから除去されなかったメールがあった場合に通知するユーザ名
- 設定値
delay_notice_recipient = <ユーザ名>
- デフォルト
delay_notice_recipient = postmaster
SMTPコード変更
access_map_defer_code
[[SMTP>https://tools.ietf.org/html/rfc5321]により規定される、要求されたコマンドが負荷などで一時使用不能な時に返すコード番号を指定する。
他のSMTPサーバとずれるので、原則変更してはいけない。
- 設定値
access_map_defer_code = <コード番号>
- デフォルト
access_map_defer_code = 450
access_map_reject_code
[[SMTP>https://tools.ietf.org/html/rfc5321]により規定される、現在サーバを使用できない時に返すコード番号を指定する。
他のSMTPサーバとずれるので、原則変更してはいけない。
- 設定値
access_map_reject_code = <コード番号>
- デフォルト
access_map_reject_code = 554
defer_code
SMTPクライアントにメールボックスが一時使用不可状態であるエラーを応答する際のエラーコード。
通常450番である(https://tools.ietf.org/html/rfc5321)。
- 設定値
defer_code = <コード番号>
- デフォルト
defer_code = 450
unknown_address_reject_code
- 設定値
unknown_address_reject_code = <コード番号>
- デフォルト
unknown_address_reject_code = 450
unknown_client_reject_code
- 設定値
unknown_client_reject_code = <コード番号>
- デフォルト
unknown_client_reject_code = 450
unknown_hostname_reject_code
- 設定値
unknown_hostname_reject_code = <コード番号>
- デフォルト
unknown_hostname_reject_code = 450
unknown_local_recipient_reject_code
- 設定値
unknown_local_recipient_reject_code = <コード番号>
- デフォルト
unknown_local_recipient_reject_code = 550
unknown_relay_recipient_reject_code
- 設定値
unknown_relay_recipient_reject_code = <コード番号>
- デフォルト
unknown_relay_recipient_reject_code = 550
unknown_virtual_alias_reject_code
- 設定値
unknown_virtual_alias_reject_code = <コード番号>
- デフォルト
unknown_virtual_alias_reject_code = 550
unknown_virtual_mailbox_reject_code
- 設定値
unknown_virtual_mailbox_reject_code = <コード番号>
- デフォルト
unknown_virtual_mailbox_reject_code = 550
unverified_recipient_defer_code
- 設定値
unverified_recipient_defer_code = <コード番号>
- デフォルト
unverified_recipient_defer_code = 450
unverified_recipient_reject_code
- 設定値
unverified_recipient_reject_code = <コード番号>
- デフォルト
unverified_recipient_reject_code = 450
unverified_sender_defer_code
- 設定値
unverified_sender_defer_code = <コード番号>
- デフォルト
unverified_sender_defer_code = 450
unverified_sender_reject_code
- 設定値
unverified_sender_reject_code = <コード番号>
- デフォルト
unverified_sender_reject_code = 450
invalid_hostname_reject_code
- 設定値
invalid_hostname_reject_code = <コード番号>
- デフォルト
invalid_hostname_reject_code = 501
maps_rbl_reject_code
- 設定値
maps_rbl_reject_code = <コード番号>
- デフォルト
maps_rbl_reject_code = 554
multi_recipient_bounce_reject_code
- 設定値
multi_recipient_bounce_reject_code = <コード番号>
- デフォルト
multi_recipient_bounce_reject_code = 550
non_fqdn_reject_code
- 設定値
non_fqdn_reject_code = <コード番号>
- デフォルト
non_fqdn_reject_code = 504
plaintext_reject_code
- 設定値
plaintext_reject_code = <コード番号>
- デフォルト
plaintext_reject_code = 450
reject_code
- 設定値
reject_code = <コード番号>
- デフォルト
reject_code = 554
relay_domains_reject_code
- 設定値
relay_domains_reject_code = <コード番号>
- デフォルト
relay_domains_reject_code = 554
postmulti
postmulti_control_commands
- 設定値
postmulti_control_commands = reload flush
- デフォルト
postmulti_control_commands = reload flush
postmulti_start_commands
- 設定値
postmulti_start_commands = start
- デフォルト
postmulti_start_commands = start
postmulti_stop_commands
- 設定値
postmulti_stop_commands = stop abort drain quick-stop
- デフォルト
postmulti_stop_commands = stop abort drain quick-stop
multi_instance_directories
- 設定値
multi_instance_directories = {<>}
- デフォルト
multi_instance_directories =
multi_instance_enable
- 設定値
multi_instance_enable = [ yes | no ]
- デフォルト
multi_instance_enable = no
multi_instance_group
- 設定値
multi_instance_group = {<>}
- デフォルト
multi_instance_group =
multi_instance_name
- 設定値
multi_instance_name = {<>}
- デフォルト
multi_instance_name =
multi_instance_wrapper
- 設定値
multi_instance_wrapper = {<>}
- デフォルト
multi_instance_wrapper =
遅延再送
fast_flush_domains
メール転送が遅延している場合に、自動で再送を試みる宛先のリスト。
指定されなかった宛先のメールは手動で再送(フラッシュ)する必要がある。
- 設定値
fast_flush_domains = { [ ホスト名 | IPアドレス | ファイルパス | <データベースタイプ>:<データベースパス> ] ... }
空白にすることでこの機能を無効にできる。
- デフォルト
fast_flush_domains = $relay_domains
fast_flush_purge_time
宛先ごとに作成される”fast flush”(自動再送)用の、再送後に空になったログファイルが削除されるまでの時間。
- 設定値
fast_flush_purge_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
fast_flush_purge_time = 7d
fast_flush_refresh_time
宛先ごとに作成される”fast flush”(自動再送)用のログに記録された遅延メールを再送する間隔。
既に再送が完了しており、ログの内容が空の場合はこの処理の対象から外される。
- 設定値
fast_flush_refresh_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
fast_flush_refresh_time = 12h
エラー再送
retry_delivery_slot_cost
- 設定値
retry_delivery_slot_cost = $default_delivery_slot_cost
0の場合、割り込みは無効
- デフォルト
retry_delivery_slot_cost = $default_delivery_slot_cost
retry_delivery_slot_discount
- 設定値
retry_delivery_slot_discount = $default_delivery_slot_discount
- デフォルト
retry_delivery_slot_discount = $default_delivery_slot_discount
retry_delivery_slot_loan
- 設定値
retry_delivery_slot_loan = $default_delivery_slot_loan
- デフォルト
retry_delivery_slot_loan = $default_delivery_slot_loan
retry_destination_concurrency_failed_cohort_limit
- 設定値
retry_destination_concurrency_failed_cohort_limit = <転送失敗回数上限>
- デフォルト
retry_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
retry_destination_concurrency_limit
retryトランスポートで配送する際に同一の宛先へ同時に配送できる上限。
- 設定値
retry_destination_concurrency_limit = $default_destination_concurrency_limit
- デフォルト
retry_destination_concurrency_limit = $default_destination_concurrency_limit
retry_destination_concurrency_negative_feedback
retryトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数から減らす。
同時接続可能数は0まで減ることはない。
- 設定値
retry_destination_concurrency_negative_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
retry_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
retry_destination_concurrency_positive_feedback
retryトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数に加算する。
同時接続可能数は最大でもパラメータ”retry_destination_recipient_limit”の値までしか増えない。
- 設定値
retry_destination_concurrency_positive_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
retry_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
retry_destination_rate_delay
retryトランスポートを使用した場合に、同一の接続先サーバにおいて、配送が一度完了した後に連続して配送する場合、すぐに配送をせずにどの程度の時間待機するかを設定する。
- 設定値
retry_destination_rate_delay = <待機時間>
- デフォルト
retry_destination_rate_delay = $default_destination_rate_delay
retry_destination_recipient_limit
retryトランスポートを使用した場合に、同一ドメインに対し、並列して送れるメールの数。
ただし、同じ宛先ユーザのメールは1配送として扱われる。
- 設定値
retry_destination_recipient_limit = <並列送信最大数>
- デフォルト
retry_destination_recipient_limit = $default_destination_recipient_limit
retry_extra_recipient_limit
retryトランスポートを使用した場合に、メールキューに割り込みメールが入った際に使用される、メモリの予備領域のメール保存可能件数。
- 設定値
retry_extra_recipient_limit = <保存可能件数>
- デフォルト
retry_extra_recipient_limit = $default_extra_recipient_limit
retry_initial_destination_concurrency
- 設定値
retry_initial_destination_concurrency = $initial_destination_concurrency
- デフォルト
retry_initial_destination_concurrency = $initial_destination_concurrency
retry_minimum_delivery_slots
- 設定値
retry_minimum_delivery_slots = $default_minimum_delivery_slots
- デフォルト
retry_minimum_delivery_slots = $default_minimum_delivery_slots
retry_recipient_limit
retryトランスポートを使用した場合に、メモリ内に保持できる受信者メールアドレス情報の数。
- 設定値
retry_recipient_limit = <受信者情報数>
- デフォルト
retry_recipient_limit = $default_recipient_limit
retry_recipient_refill_delay
retryトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、次の受信者情報を追加読み出しするまでの待機時間。
- 設定値
retry_recipient_refill_delay = <受信者情報読み出し間隔>
- デフォルト
retry_recipient_refill_delay = $default_recipient_refill_delay
retry_recipient_refill_limit
retryトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、一度に追加読み出しできる受信者情報の上限数。
- 設定値
retry_recipient_refill_limit = <読み出し受信者情報数>
- デフォルト
retry_recipient_refill_limit = $default_recipient_refill_limit
retry_transport_rate_delay
retryトランスポートを使用した場合に、同一内容のメールを複数の宛先に配送する際にそれぞれの配送間に設ける待機時間を設定する。
- 設定値
retry_transport_rate_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
retry_transport_rate_delay = $default_transport_rate_delay
TLS全般
openssl_path
- 設定値
openssl_path = <パス>
- デフォルト
openssl_path = openssl
tls_append_default_CA
- 設定値
tls_append_default_CA = [ yes | no ]
- デフォルト
tls_append_default_CA = no
tls_daemon_random_bytes
- 設定値
tls_daemon_random_bytes = 32
- デフォルト
tls_daemon_random_bytes = 32
tls_dane_digest_agility
- 設定値
tls_dane_digest_agility = on
- デフォルト
tls_dane_digest_agility = on
tls_dane_digests
- 設定値
tls_dane_digests = sha512 sha256
- デフォルト
tls_dane_digests = sha512 sha256
tls_dane_trust_anchor_digest_enable
- 設定値
tls_dane_trust_anchor_digest_enable = [ yes | no ]
- デフォルト
tls_dane_trust_anchor_digest_enable = yes
tls_disable_workarounds
- 設定値
tls_disable_workarounds = {<>}
- デフォルト
tls_disable_workarounds =
tls_eecdh_auto_curves
- 設定値
tls_eecdh_auto_curves = {<>}
- デフォルト
tls_eecdh_auto_curves =
tls_eecdh_strong_curve
- 設定値
tls_eecdh_strong_curve = prime256v1
- デフォルト
tls_eecdh_strong_curve = prime256v1
tls_eecdh_ultra_curve
- 設定値
tls_eecdh_ultra_curve = secp384r1
- デフォルト
tls_eecdh_ultra_curve = secp384r1
tls_export_cipherlist
- 設定値
tls_export_cipherlist = HIGH:MEDIUM:LOW:EXPORT:+RC4:@STRENGTH
- デフォルト
tls_export_cipherlist = HIGH:MEDIUM:LOW:EXPORT:+RC4:@STRENGTH
tls_high_cipherlist
- 設定値
tls_high_cipherlist = HIGH:@STRENGTH
- デフォルト
tls_high_cipherlist = HIGH:@STRENGTH
tls_legacy_public_key_fingerprints
- 設定値
tls_legacy_public_key_fingerprints = [ yes | no ]
- デフォルト
tls_legacy_public_key_fingerprints = no
tls_low_cipherlist
- 設定値
tls_low_cipherlist = HIGH:MEDIUM:LOW:+RC4:@STRENGTH
- デフォルト
tls_low_cipherlist = HIGH:MEDIUM:LOW:+RC4:@STRENGTH
tls_medium_cipherlist
- 設定値
tls_medium_cipherlist = HIGH:MEDIUM:+RC4:@STRENGTH
- デフォルト
tls_medium_cipherlist = HIGH:MEDIUM:+RC4:@STRENGTH
tls_null_cipherlist
- 設定値
tls_null_cipherlist = eNULL:!aNULL
- デフォルト
tls_null_cipherlist = eNULL:!aNULL
tls_preempt_cipherlist
- 設定値
tls_preempt_cipherlist = [ yes | no ]
- デフォルト
tls_preempt_cipherlist = no
tls_random_bytes
- 設定値
tls_random_bytes = 32
- デフォルト
tls_random_bytes = 32
tls_random_exchange_name
- 設定値
tls_random_exchange_name = ${data_directory}/prng_exch
- デフォルト
tls_random_exchange_name = ${data_directory}/prng_exch
tls_random_prng_update_period
- 設定値
tls_random_prng_update_period = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
tls_random_prng_update_period = 3600s
tls_random_reseed_period
- 設定値
tls_random_reseed_period = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
tls_random_reseed_period = 3600s
tls_random_source
- 設定値
tls_random_source = dev:/dev/urandom
- デフォルト
tls_random_source = dev:/dev/urandom
tls_session_ticket_cipher
- 設定値
tls_session_ticket_cipher = aes-256-cbc
- デフォルト
tls_session_ticket_cipher = aes-256-cbc
tls_ssl_options
- 設定値
tls_ssl_options = {<>}
- デフォルト
tls_ssl_options =
tls_wildcard_matches_multiple_labels
- 設定値
tls_wildcard_matches_multiple_labels = [ yes | no ]
- デフォルト
tls_wildcard_matches_multiple_labels = yes
tlsproxy_enforce_tls
- 設定値
tlsproxy_enforce_tls = [ yes | no ]
- デフォルト
tlsproxy_enforce_tls = $smtpd_enforce_tls
tlsproxy_tls_CAfile
- 設定値
tlsproxy_tls_CAfile = $smtpd_tls_CAfile
- デフォルト
tlsproxy_tls_CAfile = $smtpd_tls_CAfile
tlsproxy_tls_CApath
- 設定値
tlsproxy_tls_CApath = $smtpd_tls_CApath
- デフォルト
tlsproxy_tls_CApath = $smtpd_tls_CApath
tlsproxy_tls_always_issue_session_ids
- 設定値
tlsproxy_tls_always_issue_session_ids = $smtpd_tls_always_issue_session_ids
- デフォルト
tlsproxy_tls_always_issue_session_ids = $smtpd_tls_always_issue_session_ids
tlsproxy_tls_ask_ccert
- 設定値
tlsproxy_tls_ask_ccert = $smtpd_tls_ask_ccert
- デフォルト
tlsproxy_tls_ask_ccert = $smtpd_tls_ask_ccert
tlsproxy_tls_ccert_verifydepth
- 設定値
tlsproxy_tls_ccert_verifydepth = $smtpd_tls_ccert_verifydepth
- デフォルト
tlsproxy_tls_ccert_verifydepth = $smtpd_tls_ccert_verifydepth
tlsproxy_tls_cert_file
- 設定値
tlsproxy_tls_cert_file = $smtpd_tls_cert_file
- デフォルト
tlsproxy_tls_cert_file = $smtpd_tls_cert_file
tlsproxy_tls_ciphers
- 設定値
tlsproxy_tls_ciphers = $smtpd_tls_ciphers
- デフォルト
tlsproxy_tls_ciphers = $smtpd_tls_ciphers
tlsproxy_tls_dcert_file
- 設定値
tlsproxy_tls_dcert_file = $smtpd_tls_dcert_file
- デフォルト
tlsproxy_tls_dcert_file = $smtpd_tls_dcert_file
tlsproxy_tls_dh1024_param_file
- 設定値
tlsproxy_tls_dh1024_param_file = $smtpd_tls_dh1024_param_file
- デフォルト
tlsproxy_tls_dh1024_param_file = $smtpd_tls_dh1024_param_file
tlsproxy_tls_dh512_param_file
- 設定値
tlsproxy_tls_dh512_param_file = $smtpd_tls_dh512_param_file
- デフォルト
tlsproxy_tls_dh512_param_file = $smtpd_tls_dh512_param_file
tlsproxy_tls_dkey_file
- 設定値
tlsproxy_tls_dkey_file = $smtpd_tls_dkey_file
- デフォルト
tlsproxy_tls_dkey_file = $smtpd_tls_dkey_file
tlsproxy_tls_eccert_file
- 設定値
tlsproxy_tls_eccert_file = $smtpd_tls_eccert_file
- デフォルト
tlsproxy_tls_eccert_file = $smtpd_tls_eccert_file
tlsproxy_tls_eckey_file
- 設定値
tlsproxy_tls_eckey_file = $smtpd_tls_eckey_file
- デフォルト
tlsproxy_tls_eckey_file = $smtpd_tls_eckey_file
tlsproxy_tls_eecdh_grade
- 設定値
tlsproxy_tls_eecdh_grade = $smtpd_tls_eecdh_grade
- デフォルト
tlsproxy_tls_eecdh_grade = $smtpd_tls_eecdh_grade
tlsproxy_tls_exclude_ciphers
- 設定値
tlsproxy_tls_exclude_ciphers = $smtpd_tls_exclude_ciphers
- デフォルト
tlsproxy_tls_exclude_ciphers = $smtpd_tls_exclude_ciphers
tlsproxy_tls_fingerprint_digest
- 設定値
tlsproxy_tls_fingerprint_digest = $smtpd_tls_fingerprint_digest
- デフォルト
tlsproxy_tls_fingerprint_digest = $smtpd_tls_fingerprint_digest
tlsproxy_tls_key_file
- 設定値
tlsproxy_tls_key_file = $smtpd_tls_key_file
- デフォルト
tlsproxy_tls_key_file = $smtpd_tls_key_file
tlsproxy_tls_loglevel
- 設定値
tlsproxy_tls_loglevel = $smtpd_tls_loglevel
- デフォルト
tlsproxy_tls_loglevel = $smtpd_tls_loglevel
tlsproxy_tls_mandatory_ciphers
- 設定値
tlsproxy_tls_mandatory_ciphers = $smtpd_tls_mandatory_ciphers
- デフォルト
tlsproxy_tls_mandatory_ciphers = $smtpd_tls_mandatory_ciphers
tlsproxy_tls_mandatory_exclude_ciphers
- 設定値
tlsproxy_tls_mandatory_exclude_ciphers = $smtpd_tls_mandatory_exclude_ciphers
- デフォルト
tlsproxy_tls_mandatory_exclude_ciphers = $smtpd_tls_mandatory_exclude_ciphers
tlsproxy_tls_mandatory_protocols
- 設定値
tlsproxy_tls_mandatory_protocols = $smtpd_tls_mandatory_protocols
- デフォルト
tlsproxy_tls_mandatory_protocols = $smtpd_tls_mandatory_protocols
tlsproxy_tls_protocols
- 設定値
tlsproxy_tls_protocols = $smtpd_tls_protocols
- デフォルト
tlsproxy_tls_protocols = $smtpd_tls_protocols
tlsproxy_tls_req_ccert
- 設定値
tlsproxy_tls_req_ccert = $smtpd_tls_req_ccert
- デフォルト
tlsproxy_tls_req_ccert = $smtpd_tls_req_ccert
tlsproxy_tls_security_level
- 設定値
tlsproxy_tls_security_level = { may | encrypt }
- may
STARTTLSを使用できることを接続したクライアントに通知する。
ただし、使用するかどうかは任意である。 - encrypt
STARTTLSを使用できることを接続したクライアントに通知する。
STARTTLSを使用しなければ接続を拒否する。
この設定では、他のメールサーバからメールを受信できなくなる可能性があるので注意。
次の設定と同じである。ただし、こちらは今後非推奨である。
smtpd_enforce_tls = yes
- 空
TLSを使用することはできるが接続元に通知は行わない。
- may
- デフォルト
tlsproxy_tls_security_level = $smtpd_tls_security_level
tlsproxy_use_tls
- 設定値
tlsproxy_use_tls = $smtpd_use_tls
- デフォルト
tlsproxy_use_tls = $smtpd_use_tls
tlsproxy_watchdog_timeout
- 設定値
tlsproxy_watchdog_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
tlsproxy_watchdog_timeout = 10s
SMTPクライアント
smtp_address_preference
- 設定値
smtp_address_preference = any
- デフォルト
smtp_address_preference = any
smtp_address_verify_target
- 設定値
smtp_address_verify_target = rcpt
- デフォルト
smtp_address_verify_target = rcpt
smtp_always_send_ehlo
SMTPセッションの最初に、常にEHLOを送るかどうか。
送らない場合は、接続サーバのグリーティングバナーに”ESMTP”という単語が現れたときのみEHLOを送る。
- 設定値
smtp_always_send_ehlo = [ yes | no ]
- デフォルト
smtp_always_send_ehlo = yes
smtp_bind_address
- 設定値
smtp_bind_address = {<>}
- デフォルト
smtp_bind_address =
smtp_bind_address6
- 設定値
smtp_bind_address6 = {<>}
- デフォルト
smtp_bind_address6 =
smtp_body_checks
- 設定値
smtp_body_checks = {<>}
- デフォルト
smtp_body_checks =
smtp_cname_overrides_servername
- 設定値
smtp_cname_overrides_servername = [ yes | no ]
- デフォルト
smtp_cname_overrides_servername = no
smtp_connect_timeout
- 設定値
smtp_connect_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_connect_timeout = 30s
smtp_connection_cache_destinations
- 設定値
smtp_connection_cache_destinations = {<>}
- デフォルト
smtp_connection_cache_destinations =
smtp_connection_cache_on_demand
- 設定値
smtp_connection_cache_on_demand = [ yes | no ]
- デフォルト
smtp_connection_cache_on_demand = yes
smtp_connection_cache_time_limit
- 設定値
smtp_connection_cache_time_limit = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_connection_cache_time_limit = 2s
smtp_connection_reuse_count_limit
- 設定値
smtp_connection_reuse_count_limit = 0
- デフォルト
smtp_connection_reuse_count_limit = 0
smtp_connection_reuse_time_limit
- 設定値
smtp_connection_reuse_time_limit = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_connection_reuse_time_limit = 300s
smtp_data_done_timeout
- 設定値
smtp_data_done_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_data_done_timeout = 600s
smtp_data_init_timeout
- 設定値
smtp_data_init_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_data_init_timeout = 120s
smtp_data_xfer_timeout
- 設定値
smtp_data_xfer_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_data_xfer_timeout = 180s
smtp_defer_if_no_mx_address_found
- 設定値
smtp_defer_if_no_mx_address_found = [ yes | no ]
- デフォルト
smtp_defer_if_no_mx_address_found = no
smtp_delivery_slot_cost
- 設定値
smtp_delivery_slot_cost = $default_delivery_slot_cost
0の場合、割り込みは無効
- デフォルト
smtp_delivery_slot_cost = $default_delivery_slot_cost
smtp_delivery_slot_discount
- 設定値
smtp_delivery_slot_discount = $default_delivery_slot_discount
- デフォルト
smtp_delivery_slot_discount = $default_delivery_slot_discount
smtp_delivery_slot_loan
- 設定値
smtp_delivery_slot_loan = $default_delivery_slot_loan
- デフォルト
smtp_delivery_slot_loan = $default_delivery_slot_loan
smtp_delivery_status_filter
smtpによるメール配送結果のステータスを変換するルールを保存したデータベースを指定する。
- 設定値
smtp_delivery_status_filter = {<データベースタイプ>:<データベースパス>}
- デフォルト
smtp_delivery_status_filter = $default_delivery_status_filter
smtp_destination_concurrency_failed_cohort_limit
- 設定値
smtp_destination_concurrency_failed_cohort_limit = <転送失敗回数上限>
- デフォルト
smtp_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
smtp_destination_concurrency_limit
smtpトランスポートで配送する際に同一の宛先へ同時に配送できる上限。
- 設定値
smtp_destination_concurrency_limit = $default_destination_concurrency_limit
- デフォルト
smtp_destination_concurrency_limit = $default_destination_concurrency_limit
smtp_destination_concurrency_negative_feedback
smtpトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数から減らす。
同時接続可能数は0まで減ることはない。
- 設定値
smtp_destination_concurrency_negative_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
smtp_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
smtp_destination_concurrency_positive_feedback
smtpトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数に加算する。
同時接続可能数は最大でもパラメータ”smtp_destination_recipient_limit”の値までしか増えない。
- 設定値
smtp_destination_concurrency_positive_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
smtp_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
smtp_destination_rate_delay
smtpトランスポートを使用した場合に、同一の接続先サーバにおいて、配送が一度完了した後に連続して配送する場合、すぐに配送をせずにどの程度の時間待機するかを設定する。
- 設定値
smtp_destination_rate_delay = <待機時間>
- デフォルト
smtp_destination_rate_delay = $default_destination_rate_delay
smtp_destination_recipient_limit
smtpトランスポートを使用した場合に、同一ドメインに対し、並列して送れるメールの数。
ただし、同じ宛先ユーザのメールは1配送として扱われる。
- 設定値
smtp_destination_recipient_limit = <並列送信最大数>
- デフォルト
smtp_destination_recipient_limit = $default_destination_recipient_limit
smtp_discard_ehlo_keyword_address_maps
- 設定値
smtp_discard_ehlo_keyword_address_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
smtp_discard_ehlo_keyword_address_maps =
smtp_discard_ehlo_keywords
- 設定値
smtp_discard_ehlo_keywords = {<>}
- デフォルト
smtp_discard_ehlo_keywords =
smtp_dns_reply_filter
- 設定値
smtp_dns_reply_filter = {<>}
- デフォルト
smtp_dns_reply_filter =
smtp_dns_resolver_options
- 設定値
smtp_dns_resolver_options = {<>}
- デフォルト
smtp_dns_resolver_options =
smtp_dns_support_level
- 設定値
smtp_dns_support_level = {<>}
- デフォルト
smtp_dns_support_level =
smtp_enforce_tls
- 設定値
smtp_enforce_tls = [ yes | no ]
- デフォルト
smtp_enforce_tls = no
smtp_extra_recipient_limit
smtpトランスポートを使用した場合に、メールキューに割り込みメールが入った際に使用される、メモリの予備領域のメール保存可能件数。
- 設定値
smtp_extra_recipient_limit = <保存可能件数>
- デフォルト
smtp_extra_recipient_limit = $default_extra_recipient_limit
smtp_fallback_relay
- 設定値
smtp_fallback_relay = $fallback_relay
- デフォルト
smtp_fallback_relay = $fallback_relay
smtp_generic_maps
- 設定値
smtp_generic_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
smtp_generic_maps =
smtp_header_checks
- 設定値
smtp_header_checks = {<>}
- デフォルト
smtp_header_checks =
smtp_helo_name
- 設定値
smtp_helo_name = $myhostname
- デフォルト
smtp_helo_name = $myhostname
smtp_helo_timeout
- 設定値
smtp_helo_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_helo_timeout = 300s
smtp_host_lookup
- 設定値
smtp_host_lookup = dns
- デフォルト
smtp_host_lookup = dns
smtp_initial_destination_concurrency
- 設定値
smtp_initial_destination_concurrency = $initial_destination_concurrency
- デフォルト
smtp_initial_destination_concurrency = $initial_destination_concurrency
smtp_line_length_limit
- 設定値
smtp_line_length_limit = 998
- デフォルト
smtp_line_length_limit = 998
smtp_mail_timeout
- 設定値
smtp_mail_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_mail_timeout = 300s
smtp_mime_header_checks
- 設定値
smtp_mime_header_checks = {<>}
- デフォルト
smtp_mime_header_checks =
smtp_minimum_delivery_slots
- 設定値
smtp_minimum_delivery_slots = $default_minimum_delivery_slots
- デフォルト
smtp_minimum_delivery_slots = $default_minimum_delivery_slots
smtp_mx_address_limit
- 設定値
smtp_mx_address_limit = 5
- デフォルト
smtp_mx_address_limit = 5
smtp_mx_session_limit
- 設定値
smtp_mx_session_limit = 2
- デフォルト
smtp_mx_session_limit = 2
smtp_nested_header_checks
- 設定値
smtp_nested_header_checks = {<>}
- デフォルト
smtp_nested_header_checks =
smtp_never_send_ehlo
- 設定値
smtp_never_send_ehlo = [ yes | no ]
- デフォルト
smtp_never_send_ehlo = no
smtp_per_record_deadline
- 設定値
smtp_per_record_deadline = [ yes | no ]
- デフォルト
smtp_per_record_deadline = no
smtp_pix_workaround_delay_time
- 設定値
smtp_pix_workaround_delay_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_pix_workaround_delay_time = 10s
smtp_pix_workaround_maps
- 設定値
smtp_pix_workaround_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
smtp_pix_workaround_maps =
smtp_pix_workaround_threshold_time
- 設定値
smtp_pix_workaround_threshold_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_pix_workaround_threshold_time = 500s
smtp_pix_workarounds
- 設定値
smtp_pix_workarounds = disable_esmtp,delay_dotcrlf
- デフォルト
smtp_pix_workarounds = disable_esmtp,delay_dotcrlf
smtp_quit_timeout
- 設定値
smtp_quit_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_quit_timeout = 300s
smtp_quote_rfc821_envelope
- 設定値
smtp_quote_rfc821_envelope = [ yes | no ]
- デフォルト
smtp_quote_rfc821_envelope = yes
smtp_randomize_addresses
- 設定値
smtp_randomize_addresses = [ yes | no ]
- デフォルト
smtp_randomize_addresses = yes
smtp_rcpt_timeout
- 設定値
smtp_rcpt_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_rcpt_timeout = 300s
smtp_recipient_limit
smtpトランスポートを使用した場合に、メモリ内に保持できる受信者メールアドレス情報の数。
- 設定値
smtp_recipient_limit = <受信者情報数>
- デフォルト
smtp_recipient_limit = $default_recipient_limit
smtp_recipient_refill_delay
smtpトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、次の受信者情報を追加読み出しするまでの待機時間。
- 設定値
smtp_recipient_refill_delay = <受信者情報読み出し間隔>
- デフォルト
smtp_recipient_refill_delay = $default_recipient_refill_delay
smtp_recipient_refill_limit
smtpトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、一度に追加読み出しできる受信者情報の上限数。
- 設定値
smtp_recipient_refill_limit = <読み出し受信者情報数>
- デフォルト
smtp_recipient_refill_limit = $default_recipient_refill_limit
smtp_reply_filter
- 設定値
smtp_reply_filter = {<>}
- デフォルト
smtp_reply_filter =
smtp_rset_timeout
- 設定値
smtp_rset_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_rset_timeout = 20s
smtp_sasl_auth_cache_name
- 設定値
smtp_sasl_auth_cache_name = {<>}
- デフォルト
smtp_sasl_auth_cache_name =
smtp_sasl_auth_cache_time
- 設定値
smtp_sasl_auth_cache_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_sasl_auth_cache_time = 90d
smtp_sasl_auth_enable
- 設定値
smtp_sasl_auth_enable = [ yes | no ]
- デフォルト
smtp_sasl_auth_enable = no
smtp_sasl_auth_soft_bounce
- 設定値
smtp_sasl_auth_soft_bounce = [ yes | no ]
- デフォルト
smtp_sasl_auth_soft_bounce = yes
smtp_sasl_mechanism_filter
- 設定値
smtp_sasl_mechanism_filter = {<>}
- デフォルト
smtp_sasl_mechanism_filter =
smtp_sasl_password_maps
- 設定値
smtp_sasl_password_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
smtp_sasl_password_maps =
smtp_sasl_path
- 設定値
smtp_sasl_path = {<>}
- デフォルト
smtp_sasl_path =
smtp_sasl_security_options
- 設定値
smtp_sasl_security_options = noplaintext, noanonymous
- デフォルト
smtp_sasl_security_options = noplaintext, noanonymous
smtp_sasl_tls_security_options
- 設定値
smtp_sasl_tls_security_options = $smtp_sasl_security_options
- デフォルト
smtp_sasl_tls_security_options = $smtp_sasl_security_options
smtp_sasl_tls_verified_security_options
- 設定値
smtp_sasl_tls_verified_security_options = $smtp_sasl_tls_security_options
- デフォルト
smtp_sasl_tls_verified_security_options = $smtp_sasl_tls_security_options
smtp_sasl_type
- 設定値
smtp_sasl_type = cyrus
- デフォルト
smtp_sasl_type = cyrus
smtp_send_dummy_mail_auth
- 設定値
smtp_send_dummy_mail_auth = [ yes | no ]
- デフォルト
smtp_send_dummy_mail_auth = no
smtp_send_xforward_command
- 設定値
smtp_send_xforward_command = [ yes | no ]
- デフォルト
smtp_send_xforward_command = no
smtp_sender_dependent_authentication
- 設定値
smtp_sender_dependent_authentication = [ yes | no ]
- デフォルト
smtp_sender_dependent_authentication = no
smtp_skip_5xx_greeting
- 設定値
smtp_skip_5xx_greeting = [ yes | no ]
- デフォルト
smtp_skip_5xx_greeting = yes
smtp_skip_quit_response
- 設定値
smtp_skip_quit_response = [ yes | no ]
- デフォルト
smtp_skip_quit_response = yes
smtp_starttls_timeout
- 設定値
smtp_starttls_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_starttls_timeout = 300s
smtp_tcp_port
- 設定値
smtp_tcp_port = smtp
- デフォルト
smtp_tcp_port = smtp
smtp_tls_CAfile
- 設定値
smtp_tls_CAfile = {<>}
- デフォルト
smtp_tls_CAfile =
smtp_tls_CApath
- 設定値
smtp_tls_CApath = {<>}
- デフォルト
smtp_tls_CApath =
smtp_tls_block_early_mail_reply
- 設定値
smtp_tls_block_early_mail_reply = [ yes | no ]
- デフォルト
smtp_tls_block_early_mail_reply = no
smtp_tls_cert_file
- 設定値
smtp_tls_cert_file = {<>}
- デフォルト
smtp_tls_cert_file =
smtp_tls_ciphers
- 設定値
smtp_tls_ciphers = medium
- デフォルト
smtp_tls_ciphers = medium
smtp_tls_dane_insecure_mx_policy
- 設定値
smtp_tls_dane_insecure_mx_policy = dane
- デフォルト
smtp_tls_dane_insecure_mx_policy = dane
smtp_tls_dcert_file
- 設定値
smtp_tls_dcert_file = {<>}
- デフォルト
smtp_tls_dcert_file =
smtp_tls_dkey_file
- 設定値
smtp_tls_dkey_file = $smtp_tls_dcert_file
- デフォルト
smtp_tls_dkey_file = $smtp_tls_dcert_file
smtp_tls_eccert_file
- 設定値
smtp_tls_eccert_file = {<>}
- デフォルト
smtp_tls_eccert_file =
smtp_tls_eckey_file
- 設定値
smtp_tls_eckey_file = $smtp_tls_eccert_file
- デフォルト
smtp_tls_eckey_file = $smtp_tls_eccert_file
smtp_tls_enforce_peername
- 設定値
smtp_tls_enforce_peername = [ yes | no ]
- デフォルト
smtp_tls_enforce_peername = yes
smtp_tls_exclude_ciphers
- 設定値
smtp_tls_exclude_ciphers = {<>}
- デフォルト
smtp_tls_exclude_ciphers =
smtp_tls_fingerprint_cert_match
- 設定値
smtp_tls_fingerprint_cert_match = {<>}
- デフォルト
smtp_tls_fingerprint_cert_match =
smtp_tls_fingerprint_digest
- 設定値
smtp_tls_fingerprint_digest = md5
- デフォルト
smtp_tls_fingerprint_digest = md5
smtp_tls_force_insecure_host_tlsa_lookup
- 設定値
smtp_tls_force_insecure_host_tlsa_lookup = [ yes | no ]
- デフォルト
smtp_tls_force_insecure_host_tlsa_lookup = no
smtp_tls_key_file
- 設定値
smtp_tls_key_file = $smtp_tls_cert_file
- デフォルト
smtp_tls_key_file = $smtp_tls_cert_file
smtp_tls_loglevel
- 設定値
smtp_tls_loglevel = 0
- デフォルト
smtp_tls_loglevel = 0
smtp_tls_mandatory_ciphers
- 設定値
smtp_tls_mandatory_ciphers = medium
- デフォルト
smtp_tls_mandatory_ciphers = medium
smtp_tls_mandatory_exclude_ciphers
- 設定値
smtp_tls_mandatory_exclude_ciphers = {<>}
- デフォルト
smtp_tls_mandatory_exclude_ciphers =
smtp_tls_mandatory_protocols
- 設定値
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
- デフォルト
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_note_starttls_offer
- 設定値
smtp_tls_note_starttls_offer = [ yes | no ]
- デフォルト
smtp_tls_note_starttls_offer = no
smtp_tls_per_site
- 設定値
smtp_tls_per_site = {<>}
- デフォルト
smtp_tls_per_site =
smtp_tls_policy_maps
- 設定値
smtp_tls_policy_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
smtp_tls_policy_maps =
smtp_tls_protocols
- 設定値
smtp_tls_protocols = !SSLv2, !SSLv3
- デフォルト
smtp_tls_protocols = !SSLv2, !SSLv3
smtp_tls_scert_verifydepth
- 設定値
smtp_tls_scert_verifydepth = 9
- デフォルト
smtp_tls_scert_verifydepth = 9
smtp_tls_secure_cert_match
- 設定値
smtp_tls_secure_cert_match = nexthop, dot-nexthop
- デフォルト
smtp_tls_secure_cert_match = nexthop, dot-nexthop
smtp_tls_security_level
- 設定値
smtp_tls_security_level = {<>}
- デフォルト
smtp_tls_security_level =
smtp_tls_session_cache_database
- 設定値
smtp_tls_session_cache_database = {<>}
- デフォルト
smtp_tls_session_cache_database =
smtp_tls_session_cache_timeout
- 設定値
smtp_tls_session_cache_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_tls_session_cache_timeout = 3600s
smtp_tls_trust_anchor_file
- 設定値
smtp_tls_trust_anchor_file = {<>}
- デフォルト
smtp_tls_trust_anchor_file =
smtp_tls_verify_cert_match
- 設定値
smtp_tls_verify_cert_match = hostname
- デフォルト
smtp_tls_verify_cert_match = hostname
smtp_tls_wrappermode
- 設定値
smtp_tls_wrappermode = [ yes | no ]
- デフォルト
smtp_tls_wrappermode = no
smtp_transport_rate_delay
smtpトランスポートを使用した場合に、同一内容のメールを複数の宛先に配送する際にそれぞれの配送間に設ける待機時間を設定する。
- 設定値
smtp_transport_rate_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_transport_rate_delay = $default_transport_rate_delay
smtp_use_tls
- 設定値
smtp_use_tls = [ yes | no ]
- デフォルト
smtp_use_tls = no
smtp_xforward_timeout
- 設定値
smtp_xforward_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtp_xforward_timeout = 300s
disable_dns_lookups
SMTPクライアント、LMTPクライアントとして動作するとき、配送のためにDNS解決を行うことを禁止する。
このオプションを有効にすると/etc/hosts内に記載したドメインしか解決できなくなる。
- 設定値
disable_dns_lookups = [ yes | no ]
- デフォルト
disable_dns_lookups = no
SMTPサーバ
- 設定値
smtpd_authorized_xclient_hosts = {<>}
- デフォルト
smtpd_authorized_xclient_hosts =
- 設定値
smtpd_authorized_xforward_hosts = {<>}
- デフォルト
smtpd_authorized_xforward_hosts =
- 設定値
smtpd_banner = $myhostname ESMTP $mail_name
- デフォルト
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_auth_rate_limit
- 設定値
smtpd_client_auth_rate_limit = 0
- デフォルト
smtpd_client_auth_rate_limit = 0
smtpd_client_connection_count_limit
- 設定値
smtpd_client_connection_count_limit = 50
- デフォルト
smtpd_client_connection_count_limit = 50
smtpd_client_connection_rate_limit
- 設定値
smtpd_client_connection_rate_limit = 0
- デフォルト
smtpd_client_connection_rate_limit = 0
smtpd_client_event_limit_exceptions
- 設定値
smtpd_client_event_limit_exceptions = ${smtpd_client_connection_limit_exceptions:$mynetworks}
- デフォルト
smtpd_client_event_limit_exceptions = ${smtpd_client_connection_limit_exceptions:$mynetworks}
smtpd_client_message_rate_limit
- 設定値
smtpd_client_message_rate_limit = 0
- デフォルト
smtpd_client_message_rate_limit = 0
smtpd_client_new_tls_session_rate_limit
- 設定値
smtpd_client_new_tls_session_rate_limit = 0
- デフォルト
smtpd_client_new_tls_session_rate_limit = 0
smtpd_client_port_logging
- 設定値
smtpd_client_port_logging = [ yes | no ]
- デフォルト
smtpd_client_port_logging = no
smtpd_client_recipient_rate_limit
- 設定値
smtpd_client_recipient_rate_limit = 0
- デフォルト
smtpd_client_recipient_rate_limit = 0
smtpd_client_restrictions
サーバに接続可能なクライアントの制限を指定する。
- 設定値
smtpd_client_restrictions = {<制限事項>}
空白の場合、制限は行わない。
- デフォルト
smtpd_client_restrictions =
relay_clientcerts
パラメータ”smtpd_client_restrictions”で”permit_tls_clientcerts”の値を設定した際にチェックするSMTPクライアントの証明書のデータベース。
- 設定値
relay_clientcerts = {<データベースタイプ>:<データベースパス>}
- デフォルト
relay_clientcerts =
smtpd_command_filter
- 設定値
smtpd_command_filter = {<>}
- デフォルト
smtpd_command_filter =
smtpd_data_restrictions
- 設定値
smtpd_data_restrictions = {<>}
- デフォルト
smtpd_data_restrictions =
smtpd_delay_open_until_valid_rcpt
- 設定値
smtpd_delay_open_until_valid_rcpt = [ yes | no ]
- デフォルト
smtpd_delay_open_until_valid_rcpt = yes
smtpd_delay_reject
- 設定値
smtpd_delay_reject = [ yes | no ]
- デフォルト
smtpd_delay_reject = yes
smtpd_discard_ehlo_keyword_address_maps
- 設定値
smtpd_discard_ehlo_keyword_address_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
smtpd_discard_ehlo_keyword_address_maps =
smtpd_discard_ehlo_keywords
- 設定値
smtpd_discard_ehlo_keywords = {<>}
- デフォルト
smtpd_discard_ehlo_keywords =
smtpd_dns_reply_filter
- 設定値
smtpd_dns_reply_filter = {<>}
- デフォルト
smtpd_dns_reply_filter =
smtpd_end_of_data_restrictions
- 設定値
smtpd_end_of_data_restrictions = {<>}
- デフォルト
smtpd_end_of_data_restrictions =
smtpd_enforce_tls
TLS接続を必須とするかどうかを指定する。
必須とする場合、他のメールサーバからメールを受信できなくなる可能性があるので注意。
今後はパラメータ”smtpd_tls_security_level”を使用するべきである。
- 設定値
smtpd_enforce_tls = [ yes | no ]
- デフォルト
smtpd_enforce_tls = no
smtpd_error_sleep_time
- 設定値
smtpd_error_sleep_time = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtpd_error_sleep_time = 1s
smtpd_etrn_restrictions
- 設定値
smtpd_etrn_restrictions = {<>}
- デフォルト
smtpd_etrn_restrictions =
smtpd_expansion_filter
- 設定値
smtpd_expansion_filter = \t\40!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~
- デフォルト
smtpd_expansion_filter = \t\40!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~
smtpd_forbidden_commands
- 設定値
smtpd_forbidden_commands = CONNECT GET POST
- デフォルト
smtpd_forbidden_commands = CONNECT GET POST
smtpd_hard_error_limit
- 設定値
smtpd_hard_error_limit = ${stress?{1}:{20}}
- デフォルト
smtpd_hard_error_limit = ${stress?{1}:{20}}
smtpd_helo_required
- 設定値
smtpd_helo_required = [ yes | no ]
- デフォルト
smtpd_helo_required = no
smtpd_helo_restrictions
- 設定値
smtpd_helo_restrictions = {<>}
- デフォルト
smtpd_helo_restrictions =
smtpd_history_flush_threshold
- 設定値
smtpd_history_flush_threshold = 100
- デフォルト
smtpd_history_flush_threshold = 100
smtpd_junk_command_limit
- 設定値
smtpd_junk_command_limit = ${stress?{1}:{100}}
- デフォルト
smtpd_junk_command_limit = ${stress?{1}:{100}}
smtpd_log_access_permit_actions
- 設定値
smtpd_log_access_permit_actions = {<>}
- デフォルト
smtpd_log_access_permit_actions =
smtpd_milter_maps
- 設定値
smtpd_milter_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
smtpd_milter_maps =
smtpd_milters
- 設定値
smtpd_milters = {<>}
- デフォルト
smtpd_milters =
smtpd_noop_commands
- 設定値
smtpd_noop_commands = {<>}
- デフォルト
smtpd_noop_commands =
smtpd_null_access_lookup_key
- 設定値
smtpd_null_access_lookup_key = <>
- デフォルト
smtpd_null_access_lookup_key = <>
smtpd_peername_lookup
- 設定値
smtpd_peername_lookup = [ yes | no ]
- デフォルト
smtpd_peername_lookup = yes
smtpd_per_record_deadline
- 設定値
smtpd_per_record_deadline = ${stress?{yes}:{no}}
- デフォルト
smtpd_per_record_deadline = ${stress?{yes}:{no}}
smtpd_policy_service_default_action
- 設定値
smtpd_policy_service_default_action = 451 4.3.5 Server configuration problem
- デフォルト
smtpd_policy_service_default_action = 451 4.3.5 Server configuration problem
smtpd_policy_service_max_idle
- 設定値
smtpd_policy_service_max_idle = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtpd_policy_service_max_idle = 300s
smtpd_policy_service_max_ttl
- 設定値
smtpd_policy_service_max_ttl = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtpd_policy_service_max_ttl = 1000s
smtpd_policy_service_policy_context
- 設定値
smtpd_policy_service_policy_context = {<>}
- デフォルト
smtpd_policy_service_policy_context =
smtpd_policy_service_request_limit
- 設定値
smtpd_policy_service_request_limit = 0
- デフォルト
smtpd_policy_service_request_limit = 0
smtpd_policy_service_retry_delay
- 設定値
smtpd_policy_service_retry_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtpd_policy_service_retry_delay = 1s
smtpd_policy_service_timeout
- 設定値
smtpd_policy_service_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtpd_policy_service_timeout = 100s
smtpd_policy_service_try_limit
- 設定値
smtpd_policy_service_try_limit = 2
- デフォルト
smtpd_policy_service_try_limit = 2
smtpd_proxy_ehlo
- 設定値
smtpd_proxy_ehlo = $myhostname
- デフォルト
smtpd_proxy_ehlo = $myhostname
smtpd_proxy_filter
- 設定値
smtpd_proxy_filter = {<>}
- デフォルト
smtpd_proxy_filter =
smtpd_proxy_options
- 設定値
smtpd_proxy_options = {<>}
- デフォルト
smtpd_proxy_options =
smtpd_proxy_timeout
- 設定値
smtpd_proxy_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtpd_proxy_timeout = 100s
smtpd_recipient_limit
- 設定値
smtpd_recipient_limit = 1000
- デフォルト
smtpd_recipient_limit = 1000
smtpd_recipient_overshoot_limit
- 設定値
smtpd_recipient_overshoot_limit = 1000
- デフォルト
smtpd_recipient_overshoot_limit = 1000
smtpd_recipient_restrictions
宛先(RCPT TO)に記載できる内容の制限を指定する。
複数記載した場合は前から評価され、マッチした時点で以降の評価は行われない。
- 設定値
smtpd_recipient_restrictions = {<制限事項>}{, ...}
- check_recipient_access type:table
Search the specified access(5) database for the resolved RCPT TO address, domain, parent domains, or localpart@, and execute the corresponding action. - check_recipient_a_access type:table
Search the specified access(5) database for the IP addresses for the RCPT TO domain, and execute the corresponding action. Note: a result of “OK” is not allowed for safety reasons. Instead, use DUNNO in order to exclude specific hosts from blacklists. This feature is available in Postfix 3.0 and later. - check_recipient_mx_access type:table
Search the specified access(5) database for the MX hosts for the RCPT TO domain, and execute the corresponding action. Note: a result of “OK” is not allowed for safety reasons. Instead, use DUNNO in order to exclude specific hosts from blacklists. This feature is available in Postfix 2.1 and later. - check_recipient_ns_access type:table
Search the specified access(5) database for the DNS servers for the RCPT TO domain, and execute the corresponding action. Note: a result of “OK” is not allowed for safety reasons. Instead, use DUNNO in order to exclude specific hosts from blacklists. This feature is available in Postfix 2.1 and later. - permit_auth_destination
Permit the request when one of the following is true:
Postfix is mail forwarder: the resolved RCPT TO domain matches $relay_domains or a subdomain thereof, and the address contains no sender-specified routing (user@elsewhere@domain),
Postfix is the final destination: the resolved RCPT TO domain matches $mydestination, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, or $virtual_mailbox_domains, and the address contains no sender-specified routing (user@elsewhere@domain). - permit_mx_backup
Permit the request when the local mail system is backup MX for the RCPT TO domain, or when the domain is an authorized destination (see permit_auth_destination for definition).
Safety: permit_mx_backup does not accept addresses that have sender-specified routing information (example: user@elsewhere@domain).
Safety: permit_mx_backup can be vulnerable to mis-use when access is not restricted with permit_mx_backup_networks.
Safety: as of Postfix version 2.3, permit_mx_backup no longer accepts the address when the local mail system is primary MX for the recipient domain. Exception: permit_mx_backup accepts the address when it specifies an authorized destination (see permit_auth_destination for definition).
Limitation: mail may be rejected in case of a temporary DNS lookup problem with Postfix prior to version 2.0. - reject_non_fqdn_recipient
Reject the request when the RCPT TO address specifies a domain that is not in fully-qualified domain form, as required by the RFC.
The non_fqdn_reject_code parameter specifies the response code for rejected requests (default: 504). - reject_rhsbl_recipient rbl_domain=d.d.d.d
Reject the request when the RCPT TO domain is listed with the A record “d.d.d.d” under rbl_domain (Postfix version 2.1 and later only). Each “d” is a number, or a pattern inside “[]” that contains one or more “;”-separated numbers or number..number ranges (Postfix version 2.8 and later). If no “=d.d.d.d” is specified, reject the request when the RCPT TO domain is listed with any A record under rbl_domain.
The maps_rbl_reject_code parameter specifies the response code for rejected requests (default: 554); the default_rbl_reply parameter specifies the default server reply; and the rbl_reply_maps parameter specifies tables with server replies indexed by rbl_domain. This feature is available in Postfix version 2.0 and later. - reject_unauth_destination
Reject the request unless one of the following is true:
Postfix is mail forwarder: the resolved RCPT TO domain matches $relay_domains or a subdomain thereof, and contains no sender-specified routing (user@elsewhere@domain),
Postfix is the final destination: the resolved RCPT TO domain matches $mydestination, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, or $virtual_mailbox_domains, and contains no sender-specified routing (user@elsewhere@domain).
The relay_domains_reject_code parameter specifies the response code for rejected requests (default: 554). - defer_unauth_destination
Reject the same requests as reject_unauth_destination, with a non-permanent error code. This feature is available in Postfix 2.10 and later. - reject_unknown_recipient_domain
Reject the request when Postfix is not final destination for the recipient domain, and the RCPT TO domain has 1) no DNS MX and no DNS A record or 2) a malformed MX record such as a record with a zero-length MX hostname.
The reply is specified with the unknown_address_reject_code parameter (default: 450), unknown_address_tempfail_action (default: defer_if_permit), or 556 (nullmx, Postfix 3.0 and later). See the respective parameter descriptions for details. - reject_unlisted_recipient (with Postfix version 2.0: check_recipient_maps)
Reject the request when the RCPT TO address is not listed in the list of valid recipients for its domain class. See the smtpd_reject_unlisted_recipient parameter description for details. This feature is available in Postfix 2.1 and later. - reject_unverified_recipient
Reject the request when mail to the RCPT TO address is known to bounce, or when the recipient address destination is not reachable. Address verification information is managed by the verify(8) server; see the ADDRESS_VERIFICATION_README file for details.
The unverified_recipient_reject_code parameter specifies the numerical response code when an address is known to bounce (default: 450, change into 550 when you are confident that it is safe to do so).
The unverified_recipient_defer_code parameter specifies the numerical response code when an address probe failed due to a temporary problem (default: 450).
The unverified_recipient_tempfail_action parameter specifies the action after address probe failure due to a temporary problem (default: defer_if_permit).
This feature breaks for aliased addresses with “enable_original_recipient = no” (Postfix ? 3.2).
- check_recipient_access type:table
- デフォルト
smtpd_recipient_restrictions =
permit_mx_backup_networks
パラメータ”smtpd_recipient_restrictions”で”permit_mx_backup”が指定されている場合、指定のドメインのプライマリーメールサーバのみにSMTPアクセスを許可するようにする。
- 設定値
permit_mx_backup_networks = <ネットワークアドレス> | !<IPアドレス> | <データベースタイプ>:<データベースパス> | <ファイルパス>
- !<IPアドレス>
指定されたIPアドレスは除外する - <ファイルパス>
指定されたファイルを読み込み、本パラメータに設定する。
- !<IPアドレス>
- デフォルト
permit_mx_backup_networks =
- 設定値
smtpd_reject_footer = {<>}
- デフォルト
smtpd_reject_footer =
smtpd_reject_unlisted_recipient
- 設定値
smtpd_reject_unlisted_recipient = [ yes | no ]
- デフォルト
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender
- 設定値
smtpd_reject_unlisted_sender = [ yes | no ]
- デフォルト
smtpd_reject_unlisted_sender = no
smtpd_relay_restrictions
- 設定値
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination
- デフォルト
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination
smtpd_restriction_classes
- 設定値
smtpd_restriction_classes = {<>}
- デフォルト
smtpd_restriction_classes =
smtpd_sasl_auth_enable
- 設定値
smtpd_sasl_auth_enable = [ yes | no ]
- デフォルト
smtpd_sasl_auth_enable = no
smtpd_sasl_authenticated_header
ReceivedメッセージヘッダにSASLログイン名を記載するかどうか。
- 設定値
smtpd_sasl_authenticated_header = [ yes | no ]
- デフォルト
smtpd_sasl_authenticated_header = no
smtpd_sasl_exceptions_networks
SASL認証を不要とするネットワーク。
- 設定値
smtpd_sasl_exceptions_networks = { <IPアドレス> | <ネットワークアドレス> }{, ...}
- デフォルト
smtpd_sasl_exceptions_networks =
smtpd_sasl_local_domain
ローカルでのSASL認証時に使用されるレルム名。
- 設定値
smtpd_sasl_local_domain = {<レルム名>}
- デフォルト
smtpd_sasl_local_domain =
smtpd_sasl_path
SASL認証を行うプラグインのパス。
Postfixキューディレクトリのパスの相対パスとして記述する。
- 設定値
smtpd_sasl_path = [ <パス> | inet:<IPアドレス>:<ポート番号> ]
- デフォルト
smtpd_sasl_path = smtpd
smtpd_sasl_security_options
SASLを使用するにあたってのセキュリティオプション
- 設定値
smtpd_sasl_security_options = {<セキュリティオプション>}{, ...}
- noplaintext
Disallow methods that use plaintext passwords. - noactive
Disallow methods subject to active (non-dictionary) attack. - nodictionary
Disallow methods subject to passive (dictionary) attack. - noanonymous
Disallow methods that allow anonymous authentication. - forward_secrecy
Only allow methods that support forward secrecy (Dovecot only). - mutual_auth
Only allow methods that provide mutual authentication (not available with Cyrus SASL version 1).
- noplaintext
- デフォルト
smtpd_sasl_security_options = noanonymous
smtpd_sasl_service
SASLを利用するプログラム名
- 設定値
smtpd_sasl_service = <プログラム名>
- デフォルト
smtpd_sasl_service = smtp
smtpd_sasl_tls_security_options
- 設定値
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
- デフォルト
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_type
- 設定値
smtpd_sasl_type = cyrus
- デフォルト
smtpd_sasl_type = cyrus
smtpd_sender_login_maps
- 設定値
smtpd_sender_login_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
smtpd_sender_login_maps =
smtpd_sender_restrictions
メールを転送する際に指定された送信者に対して何らかの制約を行う。
例えば、特定の送信者のメールを拒否することができる。
- 設定値
smtpd_sender_restrictions = {<制約オプション> [,...]}
- 制約オプション
- check_sender_access <データベースタイプ>:<データベースパス>
指定されたデータベースで MAIL FROM アドレスやドメイン、 親ドメイン、localpart@ を検索し、対応する action を実行します。 - check_sender_mx_access <データベースタイプ>:<データベースパス>
指定された access(5) データベースで MAIL FROM アドレスの MX ホストを 検索し、対応する action を実行します。注意: 安全上の理由から “OK” という結果は許されません。特定のホストをブラックリストから外すには、 代わりに DUNNO を使ってください。この機能は Postfix 2.1 以降で使えます。 - check_sender_ns_access <データベースタイプ>:<データベースパス>
指定された access(5) データベースで MAIL FROM アドレスの DNS サーバを検索し、対応する action を実行します。注意: 安全上の理由から “OK” という結果は許されません。特定のホストをブラックリストから 外すには、代わりに DUNNO を使ってください。この機能は Postfix 2.1 以降で使えます。 - reject_authenticated_sender_login_mismatch
認証されたクライアントのみに reject_sender_login_mismatch 制限を 強制します。この機能は Postfix 2.1 以降で使えます。 - reject_non_fqdn_sender
MAIL FROM アドレスが RFC で要求されているような完全修飾ドメイン 形式ではない場合に、要求を拒否します。
non_fqdn_reject_code パラメータには拒否された要求に対する応答コードを指定します (デフォルト: 504)。 - reject_rhsbl_sender rbl_domain=d.d.d.d
MAIL FROM ドメインが rbl_domain 以下の A レコード Id.d.d.d” でリストアップされている場合に、要求を拒否します (Postfix バージョン 2.1 以降のみ)。”=d.d.d.d” が 指定されていないと、逆にしたクライアントネットワークアドレスが rbl_domain 以下のいずれかの A レコードでリストアップされている 場合に、要求を拒否します。 .br maps_rbl_reject_code パラメータには要求を拒否する際の応答コードを (デフォルト: 554)、default_rbl_reply にはデフォルトのサーバ応答を、 そして rbl_reply_maps パラメータには rbl_domain でインデックス化 されたサーバ応答を持つテーブルを指定します。この機能は Postfix 2.0 以降で使えます。 - reject_sender_login_mismatch
$smtpd_sender_login_maps が MAIL FROM アドレスの所有者を指定して いるが、クライアントが MAIL FROM アドレスの所有者として (SASL) ログインしていない場合に、要求を拒否します; または、クライアントが (SASL) ログインしたものの、クライアントのログイン名が $smtpd_sender_login_maps に一致する MAIL FROM アドレスを所有していない 場合に、要求を拒否します。 - reject_unauthenticated_sender_login_mismatch
認証されていないクライアントのみに reject_sender_login_mismatch 制限を強制します。この機能は Postfix 2.1 以降で使えます。 - reject_unknown_sender_domain
MAIL FROM アドレスに DNS A または MX レコードがなく、Postfix がその 送信者アドレスの最終配送先ではない場合に、要求を拒否します。
unknown_address_reject_code パラメータには、拒否された要求に対する 応答コードを指定します (デフォルト: 450)。一時的な DNS エラーの 場合には、応答は常に 450 です。 - reject_unlisted_sender
MAIL FROM アドレスがドメインクラスに対する有効な受信者リストにない 場合に、要求を拒否します。詳細は smtpd_reject_unlisted_sender の 記述を参照してください。この機能は Postfix 2.1 以降で使えます。 - reject_unverified_sender
MAIL FROM アドレスがバウンスするとわかっている場合や、送信者 アドレスの配送先に到達できない場合に、要求を拒否します。アドレス 検証情報は verify(8) サーバによって管理されます; 詳細は ADDRESS_VERIFICATION_README ファイルを参照してください。
unverified_sender_reject_code パラメータには、アドレスがバウンス するとわかっている場合の応答を指定します (デフォルト: 450, 変えても安全だという自信がある場合には 550 に変えてください)。 Postfix は一時的な問題でプローブが失敗した場合には 450 で応答します。
- check_sender_access <データベースタイプ>:<データベースパス>
- デフォルト
smtpd_sender_restrictions =
unverified_recipient_reject_reason
パラメータ”smtpd_sender_restrictions”で”reject_unverified_recipient”を設定していることによりメールが拒否された場合に通知する内容。
- 設定値
unverified_recipient_reject_reason = {<通知文>}
- デフォルト
unverified_recipient_reject_reason =
unverified_recipient_tempfail_action
パラメータ”smtpd_sender_restrictions”で”reject_unverified_recipient”を設定している場合に、該当するメールに対し行う処理を指定する
- 設定値
unverified_recipient_tempfail_action = {<処理方法>, ...}
- check_policy_service servername
指定されたポリシーサーバに問い合わせます。 - defer
要求を遅延します。クライアントは後で再び試すように言われます。この制限は、デフォルトのポリシーを明示的にするために制限リストの最後に置くと便利です。
defer_code パラメータにはSMTP サーバ応答コードを指定します (デフォルト: 450)。 - defer_if_permit
以降の制限で結果が明示的もしくは暗黙のうちに PERMIT アクションになる場合、要求を遅延します。これは一時的な問題でブラックリスト機能が失敗したときに便利です。 - defer_if_reject
以降の制限で結果が REJECT アクションになる場合、要求を遅延します。これは一時的な問題でホワイトリスト機能が失敗したときに便利です。 - permit
要求を許可します。この制限は、デフォルトのポリシーを明示的にするために制限リストの最後に置くと便利です。 - reject_multi_recipient_bounce
エンベロープ送信者が null アドレスで、かつエンベロープ受信者が複数の場合に要求を拒否します。この利用はまれですが、正しい応用方法です: ある条件下で、DSNオプションの NOTIFY=NEVER がついた状態で投函された複数の宛先を持つメールは null 送信者アドレスで転送されることがあります。
注意: SMTP対話の初期の段階では受信者の総数がわからないため、この制限は smtpd_data_restrictions または smtpd_end_of_data_restrictions で使われるときしか正確には働きません。RCPT の場面で使うと、2番目などの受信者のみを拒否します。
multi_recipient_bounce_reject_code パラメータには要求を拒否する際の応答コードを指定します (デフォルト: 550)。この機能はPostfix 2.1以降で使えます。 - reject_plaintext_session
接続が暗号化されていない場合に要求を拒否します。このコマンドは、クライアントが AUTH もしくは STARTTLS コマンドでネゴシエートする機会を持つ前に使うべきではありません。
plaintext_reject_code パラメータには、拒否された要求に対する応答コードを指定します (デフォルト: 450) - reject_unauth_pipelining
前もってコマンドを送ることが許されない場所でクライアントがSMTP コマンドを前もって送ったり、Postfixが実際にESMTPコマンドパイプラインをサポートしているかどうかを知らずにクライアントが前もってSMTPコマンドを送った場合に、要求を拒否します。これは配送をスピードアップするために ESMTPコマンドパイプラインの間違った使い方をするバルクメールソフトウェアからのメールを止めます。
注意: reject_unauth_pipelining は 1) クライアントがESMTP (HELOの代わりに EHLO) を使い、 2) “smtpd_delay_reject = yes” (デフォルト) となっている場合には、smtpd_data_restrictions 以外では役に立ちません。そのため、この制限の場面以外で reject_unauth_pipelining を使うことは推奨しません。 - reject
要求を拒否します。この制限は、デフォルトのポリシーを明示的にするために制限リストの最後に置くと便利です。reject_code 設定パラメータには要求を拒否する際の応答コードを指定します (デフォルト: 554)。 - sleep seconds
指定された秒数だけ一時休止し、リストの次の制限があればそれを処理します。これを次のように使うと、ゾンビメールを止められます:
smtpd_client_restrictions = sleep 1, reject_unauth_pipelining smtpd_delay_reject = no
- warn_if_reject
次の制限の意味を変え、要求を拒否する代わりに警告をログに記録するようにします (“reject_warning” を含むログファイルの記録を探してください)。これは動いている環境で、不用意にメールを失うリスクを冒さずに新しい制限をテストするのに便利です。
- check_policy_service servername
- デフォルト
unverified_recipient_tempfail_action = $reject_tempfail_action
unverified_sender_reject_reason
パラメータ”smtpd_sender_restrictions”で”reject_unverified_sender”を設定していることによりメールが拒否された場合に通知する内容。
- 設定値
unverified_sender_reject_reason = {<通知文>}
- デフォルト
unverified_sender_reject_reason =
unverified_sender_tempfail_action
パラメータ”smtpd_sender_restrictions”で”reject_unverified_sender”を設定している場合に、該当するメールに対し行う処理を指定する
- 設定値
unverified_sender_tempfail_action = {<処理方法>, …}
- check_policy_service servername
指定されたポリシーサーバに問い合わせます。 - defer
要求を遅延します。クライアントは後で再び試すように言われます。この制限は、デフォルトのポリシーを明示的にするために制限リストの最後に置くと便利です。
defer_code パラメータにはSMTP サーバ応答コードを指定します (デフォルト: 450)。 - defer_if_permit
以降の制限で結果が明示的もしくは暗黙のうちに PERMIT アクションになる場合、要求を遅延します。これは一時的な問題でブラックリスト機能が失敗したときに便利です。 - defer_if_reject
以降の制限で結果が REJECT アクションになる場合、要求を遅延します。これは一時的な問題でホワイトリスト機能が失敗したときに便利です。 - permit
要求を許可します。この制限は、デフォルトのポリシーを明示的にするために制限リストの最後に置くと便利です。 - reject_multi_recipient_bounce
エンベロープ送信者が null アドレスで、かつエンベロープ受信者が複数の場合に要求を拒否します。この利用はまれですが、正しい応用方法です: ある条件下で、DSNオプションの NOTIFY=NEVER がついた状態で投函された複数の宛先を持つメールは null 送信者アドレスで転送されることがあります。
注意: SMTP対話の初期の段階では受信者の総数がわからないため、この制限は smtpd_data_restrictions または smtpd_end_of_data_restrictions で使われるときしか正確には働きません。RCPT の場面で使うと、2番目などの受信者のみを拒否します。
multi_recipient_bounce_reject_code パラメータには要求を拒否する際の応答コードを指定します (デフォルト: 550)。この機能はPostfix 2.1以降で使えます。 - reject_plaintext_session
接続が暗号化されていない場合に要求を拒否します。このコマンドは、クライアントが AUTH もしくは STARTTLS コマンドでネゴシエートする機会を持つ前に使うべきではありません。
plaintext_reject_code パラメータには、拒否された要求に対する応答コードを指定します (デフォルト: 450) - reject_unauth_pipelining
前もってコマンドを送ることが許されない場所でクライアントがSMTP コマンドを前もって送ったり、Postfixが実際にESMTPコマンドパイプラインをサポートしているかどうかを知らずにクライアントが前もってSMTPコマンドを送った場合に、要求を拒否します。これは配送をスピードアップするために ESMTPコマンドパイプラインの間違った使い方をするバルクメールソフトウェアからのメールを止めます。
注意: reject_unauth_pipelining は 1) クライアントがESMTP (HELOの代わりに EHLO) を使い、 2) “smtpd_delay_reject = yes” (デフォルト) となっている場合には、smtpd_data_restrictions 以外では役に立ちません。そのため、この制限の場面以外で reject_unauth_pipelining を使うことは推奨しません。 - reject
要求を拒否します。この制限は、デフォルトのポリシーを明示的にするために制限リストの最後に置くと便利です。reject_code 設定パラメータには要求を拒否する際の応答コードを指定します (デフォルト: 554)。 - sleep seconds
指定された秒数だけ一時休止し、リストの次の制限があればそれを処理します。これを次のように使うと、ゾンビメールを止められます:
smtpd_client_restrictions = sleep 1, reject_unauth_pipelining smtpd_delay_reject = no
- warn_if_reject
次の制限の意味を変え、要求を拒否する代わりに警告をログに記録するようにします (“reject_warning” を含むログファイルの記録を探してください)。これは動いている環境で、不用意にメールを失うリスクを冒さずに新しい制限をテストするのに便利です。
- check_policy_service servername
- デフォルト
unverified_sender_tempfail_action = $reject_tempfail_action
smtpd_soft_error_limit
- 設定値
smtpd_soft_error_limit = 10
- デフォルト
smtpd_soft_error_limit = 10
smtpd_starttls_timeout
- 設定値
smtpd_starttls_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtpd_starttls_timeout = ${stress?{10}:{300}}s
smtpd_timeout
- 設定値
smtpd_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtpd_timeout = ${stress?{10}:{300}}s
smtpd_tls_CAfile
- 設定値
smtpd_tls_CAfile = {<パス>}
- デフォルト
smtpd_tls_CAfile =
smtpd_tls_CApath
- 設定値
smtpd_tls_CApath = {<パス>}
- デフォルト
smtpd_tls_CApath =
smtpd_tls_always_issue_session_ids
- 設定値
smtpd_tls_always_issue_session_ids = [ yes | no ]
- デフォルト
smtpd_tls_always_issue_session_ids = yes
smtpd_tls_ask_ccert
- 設定値
smtpd_tls_ask_ccert = [ yes | no ]
- デフォルト
smtpd_tls_ask_ccert = no
smtpd_tls_auth_only
- 設定値
smtpd_tls_auth_only = [ yes | no ]
- デフォルト
smtpd_tls_auth_only = no
smtpd_tls_ccert_verifydepth
- 設定値
smtpd_tls_ccert_verifydepth = 9
- デフォルト
smtpd_tls_ccert_verifydepth = 9
smtpd_tls_cert_file
- 設定値
smtpd_tls_cert_file = {<パス>}
- デフォルト
smtpd_tls_cert_file =
smtpd_tls_ciphers
- 設定値
smtpd_tls_ciphers = medium
- デフォルト
smtpd_tls_ciphers = medium
smtpd_tls_dcert_file
- 設定値
smtpd_tls_dcert_file = {<パス>}
- デフォルト
smtpd_tls_dcert_file =
smtpd_tls_dh1024_param_file
- 設定値
smtpd_tls_dh1024_param_file = {<パス>}
- デフォルト
smtpd_tls_dh1024_param_file =
smtpd_tls_dh512_param_file
- 設定値
smtpd_tls_dh512_param_file = {<パス>}
- デフォルト
smtpd_tls_dh512_param_file =
smtpd_tls_dkey_file
- 設定値
smtpd_tls_dkey_file = {<パス>}
- デフォルト
smtpd_tls_dkey_file = $smtpd_tls_dcert_file
smtpd_tls_eccert_file
- 設定値
smtpd_tls_eccert_file = {<パス>}
- デフォルト
smtpd_tls_eccert_file =
smtpd_tls_eckey_file
- 設定値
smtpd_tls_eckey_file = {<パス>}
- デフォルト
smtpd_tls_eckey_file = $smtpd_tls_eccert_file
smtpd_tls_eecdh_grade
- 設定値
smtpd_tls_eecdh_grade = strong
- デフォルト
smtpd_tls_eecdh_grade = strong
smtpd_tls_exclude_ciphers
- 設定値
smtpd_tls_exclude_ciphers = {<>}
- デフォルト
smtpd_tls_exclude_ciphers =
smtpd_tls_fingerprint_digest
- 設定値
smtpd_tls_fingerprint_digest = md5
- デフォルト
smtpd_tls_fingerprint_digest = md5
smtpd_tls_key_file
- 設定値
smtpd_tls_key_file = {<パス>}
- デフォルト
smtpd_tls_key_file = $smtpd_tls_cert_file
smtpd_tls_loglevel
- 設定値
smtpd_tls_loglevel = 0
- デフォルト
smtpd_tls_loglevel = 0
smtpd_tls_mandatory_ciphers
- 設定値
smtpd_tls_mandatory_ciphers = medium
- デフォルト
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_exclude_ciphers
- 設定値
smtpd_tls_mandatory_exclude_ciphers = {<>}
- デフォルト
smtpd_tls_mandatory_exclude_ciphers =
smtpd_tls_mandatory_protocols
- 設定値
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
- デフォルト
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols
使用できるプロトコルを指定する。
もしくは使用できないプロトコルを指定する。
- 設定値
smtpd_tls_protocols = ({!}<プロトコル>) {, ...}
- デフォルト
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_received_header
- 設定値
smtpd_tls_received_header = [ yes | no ]
- デフォルト
smtpd_tls_received_header = no
smtpd_tls_req_ccert
- 設定値
smtpd_tls_req_ccert = [ yes | no ]
- デフォルト
smtpd_tls_req_ccert = no
smtpd_tls_security_level
TLSの使用をどの程度強制するかを指定する。
- 設定値
smtpd_tls_security_level = { may | encrypt }
- may
STARTTLSを使用できることを接続したクライアントに通知する。
ただし、使用するかどうかは任意である。 - encrypt
STARTTLSを使用できることを接続したクライアントに通知する。
STARTTLSを使用しなければ接続を拒否する。
この設定では、他のメールサーバからメールを受信できなくなる可能性があるので注意。
次の設定と同じである。ただし、こちらは今後非推奨である。
smtpd_enforce_tls = yes
- 空
TLSを使用することはできるが接続元に通知は行わない。
- may
- デフォルト
smtpd_tls_security_level =
smtpd_tls_session_cache_database
- 設定値
smtpd_tls_session_cache_database = {<>}
- デフォルト
smtpd_tls_session_cache_database =
smtpd_tls_session_cache_timeout
- 設定値
smtpd_tls_session_cache_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_wrappermode
- 設定値
smtpd_tls_wrappermode = [ yes | no ]
- デフォルト
smtpd_tls_wrappermode = no
smtpd_upstream_proxy_protocol
- 設定値
smtpd_upstream_proxy_protocol = {<>}
- デフォルト
smtpd_upstream_proxy_protocol =
smtpd_upstream_proxy_timeout
- 設定値
smtpd_upstream_proxy_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
smtpd_upstream_proxy_timeout = 5s
smtpd_use_tls
- 設定値
smtpd_use_tls = [ yes | no ]
- デフォルト
smtpd_use_tls = no
disable_vrfy_command
SMTP VRFYコマンドを無効にする。
これによってアカウントの有無を外部から調査できなくする。
- 設定値
disable_vrfy_command = [ yes | no ]
- デフォルト
disable_vrfy_command = no
エラー配送
error_delivery_slot_cost
- 設定値
error_delivery_slot_cost = $default_delivery_slot_cost
0の場合、割り込みは無効
- デフォルト
error_delivery_slot_cost = $default_delivery_slot_cost
error_delivery_slot_discount
- 設定値
error_delivery_slot_discount = $default_delivery_slot_discount
- デフォルト
error_delivery_slot_discount = $default_delivery_slot_discount
error_delivery_slot_loan
- 設定値
error_delivery_slot_loan = $default_delivery_slot_loan
- デフォルト
error_delivery_slot_loan = $default_delivery_slot_loan
error_destination_concurrency_failed_cohort_limit
errorトランスポートを使用した際に、何度転送先への接続に失敗したら当該接続先が接続不能状態であると判断するか。
内部でカウンタを持ち、接続に連続して失敗するたびにカウンタが増加し、途中接続に成功するとカウンタがリセットされる。
- 設定値
error_destination_concurrency_failed_cohort_limit = <転送失敗回数上限>
- デフォルト
error_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
error_destination_concurrency_limit
errorトランスポートで配送する際に同一の宛先へ同時に配送できる上限。
- 設定値
error_destination_concurrency_limit = $default_destination_concurrency_limit
- デフォルト
error_destination_concurrency_limit = $default_destination_concurrency_limit
error_destination_concurrency_negative_feedback
errorトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数から減らす。
同時接続可能数は0まで減ることはない。
- 設定値
error_destination_concurrency_negative_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
error_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
error_destination_concurrency_positive_feedback
errorトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数に加算する。
同時接続可能数は最大でもパラメータ”error_destination_recipient_limit”の値までしか増えない。
- 設定値
error_destination_concurrency_positive_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
error_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
error_destination_rate_delay
errorトランスポートを使用した場合に、同一の接続先サーバにおいて、配送が一度完了した後に連続して配送する場合、すぐに配送をせずにどの程度の時間待機するかを設定する。
- 設定値
error_destination_rate_delay = <待機時間>
- デフォルト
error_destination_rate_delay = $default_destination_rate_delay
error_destination_recipient_limit
errorトランスポートを使用した場合に、同一ドメインに対し、並列して送れるメールの数。
ただし、同じ宛先ユーザのメールは1配送として扱われる。
- 設定値
error_destination_recipient_limit = <並列送信最大数>
- デフォルト
error_destination_recipient_limit = $default_destination_recipient_limit
error_extra_recipient_limit
errorトランスポートを使用した場合に、メールキューに割り込みメールが入った際に使用される、メモリの予備領域のメール保存可能件数。
- 設定値
error_extra_recipient_limit = <保存可能件数>
- デフォルト
error_extra_recipient_limit = $default_extra_recipient_limit
error_initial_destination_concurrency
- 設定値
error_initial_destination_concurrency = $initial_destination_concurrency
- デフォルト
error_initial_destination_concurrency = $initial_destination_concurrency
error_minimum_delivery_slots
- 設定値
error_minimum_delivery_slots = $default_minimum_delivery_slots
- デフォルト
error_minimum_delivery_slots = $default_minimum_delivery_slots
error_notice_recipient
- 設定値
error_notice_recipient = postmaster
- デフォルト
error_notice_recipient = postmaster
error_recipient_limit
errorトランスポートを使用した場合に、メモリ内に保持できる受信者メールアドレス情報の数。
- 設定値
error_recipient_limit = <受信者情報数>
- デフォルト
error_recipient_limit = $default_recipient_limit
error_recipient_refill_delay
errorトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、次の受信者情報を追加読み出しするまでの待機時間。
- 設定値
error_recipient_refill_delay = <受信者情報読み出し間隔>
- デフォルト
error_recipient_refill_delay = $default_recipient_refill_delay
error_recipient_refill_limit
errorトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、一度に追加読み出しできる受信者情報の上限数。
- 設定値
error_recipient_refill_limit = <読み出し受信者情報数>
- デフォルト
error_recipient_refill_limit = $default_recipient_refill_limit
error_transport_rate_delay
errorトランスポートを使用した場合に、同一内容のメールを複数の宛先に配送する際にそれぞれの配送間に設ける待機時間を設定する。
- 設定値
error_transport_rate_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
error_transport_rate_delay = $default_transport_rate_delay
リレー
relay_delivery_slot_cost
- 設定値
relay_delivery_slot_cost = $default_delivery_slot_cost
0の場合、割り込みは無効
- デフォルト
relay_delivery_slot_cost = $default_delivery_slot_cost
relay_delivery_slot_discount
- 設定値
relay_delivery_slot_discount = $default_delivery_slot_discount
- デフォルト
relay_delivery_slot_discount = $default_delivery_slot_discount
relay_delivery_slot_loan
- 設定値
relay_delivery_slot_loan = $default_delivery_slot_loan
- デフォルト
relay_delivery_slot_loan = $default_delivery_slot_loan
relay_destination_concurrency_failed_cohort_limit
- 設定値
relay_destination_concurrency_failed_cohort_limit = <転送失敗回数上限>
- デフォルト
relay_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
relay_destination_concurrency_limit
relayトランスポートで配送する際に同一の宛先へ同時に配送できる上限。
- 設定値
relay_destination_concurrency_limit = $default_destination_concurrency_limit
- デフォルト
relay_destination_concurrency_limit = $default_destination_concurrency_limit
relay_destination_concurrency_negative_feedback
relayトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数から減らす。
同時接続可能数は0まで減ることはない。
- 設定値
relay_destination_concurrency_negative_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
relay_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
relay_destination_concurrency_positive_feedback
relayトランスポートを使用した場合に、配送先へ接続に成功した際、ここで設定した値をその配送先の同時接続可能数に加算する。
同時接続可能数は最大でもパラメータ”relay_destination_recipient_limit”の値までしか増えない。
- 設定値
relay_destination_concurrency_positive_feedback = <同時接続可能数変動値>
0か1、または0以上1以下の分数を指定できる。
0の場合は変化しない。
- デフォルト
relay_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
relay_destination_rate_delay
relayトランスポートを使用した場合に、同一の接続先サーバにおいて、配送が一度完了した後に連続して配送する場合、すぐに配送をせずにどの程度の時間待機するかを設定する。
- 設定値
relay_destination_rate_delay = <待機時間>
- デフォルト
relay_destination_rate_delay = $default_destination_rate_delay
relay_destination_recipient_limit
relayトランスポートを使用した場合に、同一ドメインに対し、並列して送れるメールの数。
ただし、同じ宛先ユーザのメールは1配送として扱われる。
- 設定値
relay_destination_recipient_limit = <並列送信最大数>
- デフォルト
relay_destination_recipient_limit = $default_destination_recipient_limit
relay_domains
- 設定値
relay_domains = ${{$compatibility_level} < {2} ? {$mydestination} : {}}
- デフォルト
relay_domains = ${{$compatibility_level} < {2} ? {$mydestination} : {}}
relay_extra_recipient_limit
relayトランスポートを使用した場合に、メールキューに割り込みメールが入った際に使用される、メモリの予備領域のメール保存可能件数。
- 設定値
relay_extra_recipient_limit = <保存可能件数>
- デフォルト
relay_extra_recipient_limit = $default_extra_recipient_limit
relay_initial_destination_concurrency
- 設定値
relay_initial_destination_concurrency = $initial_destination_concurrency
- デフォルト
relay_initial_destination_concurrency = $initial_destination_concurrency
relay_minimum_delivery_slots
- 設定値
relay_minimum_delivery_slots = $default_minimum_delivery_slots
- デフォルト
relay_minimum_delivery_slots = $default_minimum_delivery_slots
relay_recipient_limit
relayトランスポートを使用した場合に、メモリ内に保持できる受信者メールアドレス情報の数。
- 設定値
relay_recipient_limit = <受信者情報数>
- デフォルト
relay_recipient_limit = $default_recipient_limit
relay_recipient_maps
- 設定値
relay_recipient_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
relay_recipient_maps =
relay_recipient_refill_delay
relayトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、次の受信者情報を追加読み出しするまでの待機時間。
- 設定値
relay_recipient_refill_delay = <受信者情報読み出し間隔>
- デフォルト
relay_recipient_refill_delay = $default_recipient_refill_delay
relay_recipient_refill_limit
relayトランスポートを使用し、メール配送の際に全ての受信者情報を一度にメモリ上に展開できない場合に、一度に追加読み出しできる受信者情報の上限数。
- 設定値
relay_recipient_refill_limit = <読み出し受信者情報数>
- デフォルト
relay_recipient_refill_limit = $default_recipient_refill_limit
relay_transport
- 設定値
relay_transport = relay
- デフォルト
relay_transport = relay
relay_transport_rate_delay
relayトランスポートを使用した場合に、同一内容のメールを複数の宛先に配送する際にそれぞれの配送間に設ける待機時間を設定する。
- 設定値
relay_transport_rate_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
relay_transport_rate_delay = $default_transport_rate_delay
relayhost
外部へメールを転送する際に中継させるメールサーバ。
- 設定値
relayhost = {[ <ホスト名> | <IPアドレス> ]{:<ポート番号>}}
- デフォルト
relayhost =
sender_dependent_relayhost_maps
送信者アドレス毎にパラメータ”relayhost”の値を設定する為のデータベースを指定する。
ここで設定した値が検索結果として見つかれば、デフォルト値は上書きされる。
- 設定値
sender_dependent_relayhost_maps = {<データベースタイプ>:<データベースパス>}
- デフォルト
sender_dependent_relayhost_maps =
empty_address_relayhost_maps_lookup_key
パラメータ”sender_dependent_relayhost_maps”において検索する際に、検索キーとなる送信者アドレスが空であった場合に代わりに検索キーとして使用する文字列
- 設定値
empty_address_relayhost_maps_lookup_key = <検索キー>
- デフォルト
empty_address_relayhost_maps_lookup_key = <>
QMQP
QMQPはSMTPの代わりに使用できるメール交換プロトコルである。
QMQPサーバポートへの接続が許されるクライアント。
- 設定値
qmqpd_authorized_clients = {<>}
- デフォルト
qmqpd_authorized_clients =
qmqpd_client_port_logging
- 設定値
qmqpd_client_port_logging = [ yes | no ]
- デフォルト
qmqpd_client_port_logging = no
qmqpd_error_delay
- 設定値
qmqpd_error_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
qmqpd_error_delay = 1s
qmqpd_timeout
- 設定値
qmqpd_timeout = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
qmqpd_timeout = 300s
開発者用
debugger_command
Postfixを”-D”オプションをつけて実行した場合に同時に起動させるデバッガープログラムのパス
- 設定値
debugger_command = {<パス>}
- デフォルト
debugger_command =
fault_injection_code
再現が困難な特定の内部エラーを強制的に発生させる。
専らデバッグ用に使用する。
- 設定値
fault_injection_code = 0
- 0
エラーを発生させない - 1
src/global/mail_copy.c参照。(var_fault_inj_code == 1の行) - 2
src/global/mail_copy.c参照。(var_fault_inj_code == 2の行) - 3
src/global/mail_copy.c参照。(var_fault_inj_code == 3の行)
- 0
- デフォルト
fault_injection_code = 0
dns_ncache_ttl_fix_enable
将来のライブラリ”libc”の競合発生のために用意されたパラメータ。
PostfixはDNSのネガティブキャッシュの処理をres_query()、res_search()、res_send()に依拠しているが、これら関数が廃止された場合はyesにする。
- 設定値
dns_ncache_ttl_fix_enable = [ yes | no ]
- デフォルト
dns_ncache_ttl_fix_enable = no
dnsblog_reply_delay
DNS解決を指定の時間だけ遅らせる。
デバッグ用パラメータ。
- 設定値
dnsblog_reply_delay = <時間>{<単位>}
単位はs(秒)、m(分)、h(時)、d(日)、w(週)が利用可能。デフォルトはs。
- デフォルト
dnsblog_reply_delay = 0s
dont_remove
キュー内のメールを配送完了後に削除せずに”saved”メールキューに保存する。
デバッグ用パラメータ。
- 設定値
dont_remove = { 0, 0以外の数値}
- 0
キューから削除する - 0以外
“saved”メールキューに移す
- 0
- デフォルト
dont_remove = 0
その他
alternate_config_directories
通常の設定ファイルパスに代えて使用する設定ファイルのパス。
コマンドラインの”-c <設定ファイルパス>” で指定されたり環境変数MAIL_CONFIGで指定することでも設定可能だが、他のプログラムからPostfixプログラムを呼び出す場合はこれらを指定できないのでデフォルトパスにある設定ファイルにこのパラメータを記載することで、任意の設定ファイルを利用することができる。
設定ファイルをデフォルトパス以外に置く必要がなければ、このオプションは必要がない。
パッケージインストールした場合、一般的には/etc/postfix/main.cfがデフォルトパスとなるが、これを変更したい場合等に利用できる。(シンボリックリンクを配置することでも同様のことが可能)
- 設定値
alternate_config_directories = <設定ファイルのパス>
- デフォルト
alternate_config_directories =
backwards_bounce_logfile_compatibility
bounceプログラムが生成するログファイルの形式をPostfixバージョン2.0以前でも読める形式で出力する。
- 設定値
backwards_bounce_logfile_compatibility = [ yes | no ]
- デフォルト
backwards_bounce_logfile_compatibility = yes
broken_sasl_auth_clients
古いバージョンのAUTHコマンド(RFC2554)を有効にし、古いSMTPクライアントが接続できるようにする。
- 設定値
broken_sasl_auth_clients = [ yes | no ]
- デフォルト
broken_sasl_auth_clients = no
cyrus_sasl_config_path
Cyrus SASLを使用する際のCyrus SASLのインストールパス
- 設定値
cyrus_sasl_config_path = {<パス>}
- デフォルト
cyrus_sasl_config_path =
daemon_table_open_error_is_fatal
データベースを開けなかったときのエラー処理の方法
- 設定値
daemon_table_open_error_is_fatal = [ yes | no ]
- yes
ログを出力し、即座にデータベースを開こうとしたプロセスを異常終了させる
- no
データベースと無関係な処理を可能な限り進め、最終的にログを出力して終了する
- デフォルト
daemon_table_open_error_is_fatal = no
double_bounce_sender
Postfix管理者(postmaster)宛のメールを生成する際の送信者。
ここで指定したユーザ宛のメールは配送されずに破棄される。
- 設定値
double_bounce_sender = <ユーザ名>
- デフォルト
double_bounce_sender = double-bounce
export_environment
Postfixプロセスから非Postfixプロセスへ処理を移す際に渡す環境変数のリスト。
- 設定値
export_environment = { <環境変数名> ... }
- デフォルト
export_environment = TZ MAIL_CONFIG LANG
import_environment
Postfixが非Postfixのプロセスから受け取ることができる環境変数のリスト
- 設定値
import_environment = <環境変数> ...
- デフォルト
import_environment = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY LANG=C
maps_rbl_domains
現在は廃止されたパラメータ。
代わりに”reject_rbl_client”を使用する。
- 設定値
maps_rbl_domains =
- デフォルト
maps_rbl_domains =
sendmail_fix_line_endings
sendmailコマンドを使用する際に<CR><LF>を<LF>に変換する場合を指定する
- 設定値
sendmail_fix_line_endings = always
- always
常に変換する。 - strict
Convert message lines ending in <CR><LF> only if the first input line ends in <CR><LF>. This setting is backwards-compatible with Postfix 2.8 and earlier. - never
Never convert message lines ending in <CR><LF>. This setting exists for completeness only.
- always
- デフォルト
sendmail_fix_line_endings = always
ツール
一般コマンド
$POSTFIX_HOME配下にインストールされる、管理者が一般的に使用するコマンド類。
junk
postalias
バーチャルエイリアスを除くエイリアス用のデータベースの管理を行うプログラム。
バーチャルエイリアス及び、その他のデータベース全般の管理を行う場合は、postmapコマンドを使用する。
これは、postaliasコマンドはsendmail互換のエイリアスデータベース(エイリアステーブル)を出力できるためである。
- 参考:http://www.postfix.org/postalias.1.html
- 参考:http://www.postfix-jp.info/trans-2.3/jhtml/postalias.1.html
書式
postalias {<オプション>} {<データベースタイプ>:}<ファイルパス> {...}
データベースタイプを指定しない場合、パラメータ”default_database_type”の値が指定される。
パラメータ”default_database_type”の値は次のコマンドで確認できる。
postconf -d default_database_type
サポートしているデータベースタイプを調べる場合、次のコマンドを実行する。
postconf -m
指定するファイルパスはデータベースを作成する場合は、データベースのデータが記述されたテキストファイルを指定する。
このテキストファイルは”<キー>:<値>”の形式で一行につき一つのデータを記載する。
データベースを生成すると、データベースタイプに対応する拡張子が付与される。
データベースを生成する以外は、このコマンドにより作成されたデータベースファイルが利用されるが、この場合でも拡張子は記述しない。
例: キー:test、値:user1のデータベースを作成する場合。
echo test:user1 > db postconf db postconf -s sb # 出力結果 # @: @ # YP_LAST_MODIFIED: 1509800203 # YP_MASTER_NAME: <ホスト名> # test: aaa
オプション
- -c <パス>
デフォルトパスの設定ファイルの代わりに、指定されたディレクトリのmain.cf設定ファイルを読みこむ。 - -d <キー>
指定されたデータベースからキーを検索し、当該データを削除する。
指定されたデータが見つかった場合、コマンドは終了ステータス0を返す。
“-“というキーの値が指定すると、標準入力からキーを入力できる。 - -f
テーブルの作成時や検索時に検索キーを小文字にしない。 - -i
データベースを出力する際、追記モードにする。
このオプションが指定されない、デフォルト状態では、指定されたパスにデータベースを上書き保存する。 - -N
検索キーや値の終わりにあるNULL文字を無視しない。
デフォルトではホストのOSと同じように扱う。 - -n
検索キーや値の終わりにあるNULL文字を無視する。
デフォルトではホストのOSと同じように扱う。 - -o
指定された入力ファイルの所有者がrootでない場合でもroot権限で処理を行う。
デフォルトでは入力ファイルの所有者権限で処理が実行される。 - -p
新しいファイルを作る際に、入力ファイルからファイルのアクセス権限を継承しない。
代わりに新しいファイルをデフォルトのアクセス権限(モード 0644) で作成する。 - -q <キー>
指定されたキーで検索し、見つかった値を標準出力に出力する。
指定されたデータが見つかった場合、コマンドは終了ステータス0を返す。
“-“というキーの値が指定すると、標準入力からキーを入力できる。 - -r
データベースにデータを追加する際に、既に同じキーのデータが存在する場合に上書きする。 - -s
データベースのデータを全て出力する。
出力形式は一行ずつ、”key: value”となる。
要素はデータベースの格納順に表示されるが、これは必ずしも元の入力順とはならない。 - -v
ログの詳細度を上げる。
デバッグ目的で使用する。
このオプションを複数指定することで、詳細度を累加的に上げることができる。 - -w
データベースにデータを追加する際に、既に同じキーのデータが存在する場合に何もせず、警告も表示しない。
環境変数
コマンド実行時、以下の環境変数が利用される。
- MAIL_CONFIG
Postfix設定ファイルのディレクトリ
- MAIL_VERBOSE
この変数が設定されているとデバッグ目的の冗長ログモードを有効にする
postcat
examine Postfix queue file
postconf
設定ファイルに関するツール。
main.cf関連オプション
一般
-p
main.cfに関するコマンド実行であることを宣言する。
これは標準であり、省略可能。
設定確認系
-d
デフォルト設定を全て表示する
-f
長い設定行を、=の後で折り返し、人が読みやすいように表示する
例えば次のようになる
- 標準
smtpd_expansion_filter = \t\40!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~
- オプション指定
smtpd_expansion_filter = \t\40!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~
-h
設定の項目名を表示せず、値のみ表示する
-H
設定の値を表示せず、項目名のみ表示する
-n
設定ファイルに記載した設定のみを表示する
設定変更系
-o
指定した設定項目を変更する
- 書式
-o <項目名>=<値>
postconf [-dfhHnopvx] [-c config_dir] [-C class,...] [parameter ...]
postconf [-epv] [-c config_dir] parameter=value ...
postconf -# [-pv] [-c config_dir] parameter ...
postconf -X [-pv] [-c config_dir] parameter ...
master.cf関連オプション
一般
-P
master.cfに関するコマンド実行であることを宣言する。
main.cf関連と共用のオプションを使用する際はこのオプションが必要。
Managing master.cf service entries: postconf -M [-fovx] [-c config_dir] [service[/type] ...] postconf -M [-ev] [-c config_dir] service/type=value ... postconf -M# [-v] [-c config_dir] service/type ... postconf -MX [-v] [-c config_dir] service/type ... Managing master.cf service fields: postconf -F [-fhHovx] [-c config_dir] [service[/type[/field]] ...] postconf -F [-ev] [-c config_dir] service/type/field=value ... Managing master.cf service parameters: postconf -P [-fhHovx] [-c config_dir] [service[/type[/parameter]] ...] postconf -P [-ev] [-c config_dir] service/type/parameter=value ... postconf -PX [-v] [-c config_dir] service/type/parameter ... Managing bounce message templates: postconf -b [-v] [-c config_dir] [template_file] postconf -t [-v] [-c config_dir] [template_file] Managing TLS features: postconf -T mode [-v] [-c config_dir] Managing other configuration: postconf -a|-A|-l|-m [-v] [-c config_dir] DESCRIPTION By default, the postconf(1) command displays the values of main.cf configuration parameters, and warns about possible mis-typed parameter names (Postfix 2.9 and later). The command can also change main.cf configuration parameter values, or display other configuration infor- postconf -P [-ev] [-c config_dir] service/type/parameter=value ... postconf -PX [-v] [-c config_dir] service/type/parameter ... Managing bounce message templates: postconf -b [-v] [-c config_dir] [template_file] postconf -t [-v] [-c config_dir] [template_file] Managing TLS features: postconf -T mode [-v] [-c config_dir] Managing other configuration: postconf -a|-A|-l|-m [-v] [-c config_dir]
postdrop
postfix
Postfixを制御するプログラム。Postfixの起動や停止、ステータス確認などが行える。
実際は内部でpostfix-scriptシェルスクリプトを起動し、そちらで操作を行う。
サブコマンド
check
Warn about bad directory/file ownership or permissions, and create missing directories.
start
Start the Postfix mail system. This also runs the configuration check described above.
stop
Stop the Postfix mail system in an orderly fashion. If possible, running processes are allowed to terminate at their earliest convenience.
Note: in order to refresh the Postfix mail system after a configuration change, do not use the start and stop commands in succession. Use the
reload command instead.
abort
Stop the Postfix mail system abruptly. Running processes are signaled to stop immediately.
flush
Force delivery: attempt to deliver every message in the deferred mail queue. Normally, attempts to deliver delayed mail happen at regular inter-
Note: in order to refresh the Postfix mail system after a configuration change, do not use the start and stop commands in succession. Use the
reload command instead.
abort
Stop the Postfix mail system abruptly. Running processes are signaled to stop immediately.
flush
Force delivery: attempt to deliver every message in the deferred mail queue. Normally, attempts to deliver delayed mail happen at regular inter-
vals, the interval doubling after each failed attempt.
Warning: flushing undeliverable mail frequently will result in poor delivery performance of all other mail.
reload
Re-read configuration files. Running processes terminate at their earliest convenience.
status
Indicate if the Postfix mail system is currently running.
set-permissions
set-permissions [name=value …]
Set the ownership and permissions of Postfix related files and directories, as specified in the postfix-files file.
Specify name=value to override and update specific main.cf configuration parameters. Use this, for example, to change the mail_owner or set-
gid_group setting for an already installed Postfix system.
This feature is available in Postfix 2.1 and later. With Postfix 2.0 and earlier, use “$config_directory/post-install set-permissions”.
tls
tls subcommand
Enable opportunistic TLS in the Postfix SMTP client or server, and manage Postfix SMTP server TLS private keys and certificates. See post-
fix-tls(1) for documentation.
This feature is available in Postfix 3.1 and later.
upgrade-configuration
upgrade-configuration [name=value …]
Update the main.cf and master.cf files with information that Postfix needs in order to run: add or update services, and add or update configura-
tion parameter settings.
Specify name=value to override and update specific main.cf configuration parameters.
This feature is available in Postfix 2.1 and later. With Postfix 2.0 and earlier, use “$config_directory/post-install upgrade-configuration”.
オプション
-c config_dir
-c config_dir
Read the main.cf and master.cf configuration files in the named directory instead of the default configuration directory. Use this to distinguish
between multiple Postfix instances on the same host.
With Postfix 2.6 and later, this option forces the postfix(1) command to operate on the specified Postfix instance only. This behavior is inher-
ited by postfix(1) commands that run as a descendant of the current process.
-D
-D (with postfix start only)
Run each Postfix daemon under control of a debugger as specified via the debugger_command configuration parameter.
-v
-v Enable verbose logging for debugging purposes. Multiple -v options make the software increasingly verbose.
postkick
デーモンプロセスが他のプログラムのプロセスと情報をやり取りするためにプロセス間通信(IPC)を行う。
postlock
Postfix-compatible locking
postlog
指定したテキストをPostfixのログ処理機構を用いてログに出力する。
ログの出力先は原則syslogで標準エラー出力が利用されている場合のみ、そちらにも出力される。
書式
postlog {<オプション>} <ログテキスト>
postmap
データベースの管理を行うプログラム。
データベース全般の管理を行えるが、エイリアス用のデータベースを管理する場合のみ、postaliasコマンドを使用する。
ただしバーチャルエイリアスのみpostmapコマンドを使用する。
これは、postaliasコマンドはsendmail互換のエイリアスデータベース(エイリアステーブル)を出力できるためである。
postmulti
Postfix multi-instance manager
postqueue
キューの管理を行う。
キュー内のメールの削除等、重要な処理はpostsuperコマンドを使用する。
オプション
- -f
キュー内の全てのメールの再配送を試みる - -i <キュー内メールID>
キュー内の指定したメールのみ再配送を試みる - -s <宛先ドメインパート>
キュー内の指定したドメインパートを宛先に持つメールのみ再配送を試みる - -p
キュー内のメール一覧をsendmail形式で表示する - -j
キュー内のメール一覧をjson形式で表示する - -v
詳細情報を表示する。
他のオプションと併せて使用する。
postsuper
キューの管理を行う。
キュー内のメールの確認等、重要でない処理はpostqueueコマンドを使用する。
オプション
- -d <キューID>
指定のIDのメールをキューから削除する。
- -d ALL
全てのメールをキューから削除する。
postsuper -d ALL
mailq
Sendmail互換用プログラムで、メールキューの管理を行う。
内部的にはpostqueueコマンドが呼び出される。
newaliases
Sendmail互換用プログラムで、エイリアスデータベースを初期化する。
内部的にはpostaliasコマンドが呼び出される。
newaliasesコマンドはデフォルトパスにあるデータベースファイルをデフォルトでは使用するので、postaliasコマンドと違い、引数を指定せずに実行できる。
sendmail
Sendmail compatibility interface
postfix-tls-script
Postfix TLS management
内部プログラム
$POSTFIX_HOME/lib/配下にインストールした、専らサーバ内部で使用されるコマンド類。
ここに配置される各プログラムはコンソールからは呼び出せない。
anvil
このプログラムはクライアントの接続数や時間当たりの要求数の統計情報を管理する。
この情報を多量にアクセスを行うクライアントに対する制限のために使用することができる。
bounce
メールの配送状態情報をログファイルとして保存するプログラム。
このログは一時的なもので、配送が完了すると削除される。
保存先パスはキューディレクトリ直下のbounce、defer、traceのいずれかで本環境では以下となる。
$POSTFIX_HOME/queue/bounce $POSTFIX_HOME/queue/defer $POSTFIX_HOME/queue/trace
cleanup
送受信したメールのメールアドレス書き換えを行う。
アドレス書き換えにはcanonical系とvirtual系がある。
discard
dnsblog
error
エラーメール、リトライメール専用の配送エージェント。
flush
lmtp
SMTP、LMTPクライアント。
smtpコマンドと全く同じプログラムであるが、実体を持つ。
[root@postfix postfix]# ll lib/*mtp -rwxr-xr-x. 2 root root 187909 Jun 12 15:03 lib/lmtp -rwxr-xr-x. 2 root root 187909 Jun 12 15:03 lib/smtp [root@postfix postfix]# file lib/*mtp lib/lmtp: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped lib/smtp: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped [root@postfix postfix]# sha256sum lib/*mtp 91e2aed11b2276f51879444938b82e3b746e245633dd8326e5ef9180c701f299 lib/lmtp 91e2aed11b2276f51879444938b82e3b746e245633dd8326e5ef9180c701f299 lib/smtp
local
ローカル配送を行うプログラム
master
nqmgr
oqmgr
pickup
pipe
ローカル配送をlocalプログラムから他のPostfix外部プログラムへ委ねる時にその外部プログラムを呼び出すコマンド。
postfix-script
postfix-tls-script
postfix-wrapper
post-install
postmulti-script
postscreen
SMTPサーバにスパムメールフィルタ機能を提供する。
参考:http://www.postfix.org/postscreen.8.html
proxymap
データベースアクセスを代行するプロキシサービス。
proxymapサービスを利用する場合はパラメータの値に、データベース名の接頭辞として”proxy:”を指定する。
proxymapサービスは例えば、Postfixがchroot制限を受けている場合、chroot制限を受けないようにしたproxymapサービスからchroot外の検索ファイルを読み取る為に使用したり、接続数制限があるデータベースシステムに複数のPostfixインスタンスからアクセスする場合に使用したりできる。
qmgr
qmqpd
QMQP(Quick Mail Queueing Protocol)のサーバ。
QMQPはSMTPの代わりに使用できるメール交換プロトコルである。
参考:http://www.postfix.org/qmqpd.8.html
scache
他のホストとの接続のキャッシュを管理する。
showq
smtp
SMTP、LMTPクライアント。
smtpd
spawn
tlsmgr
tlsproxy
trivial-rewrite
verify
virtual
バーチャルドメイン専用のローカル配送プログラム
Tips
フィルタリング
参考
- Before-Queue Content Filter(http://www.postfix.org/SMTPD_PROXY_README.html)
- Postfix After-Queue Content Filter(http://www.postfix.org/FILTER_README.html)
smtpd_proxy_filter
特定送信者の拒否
新規設定
- 設定ファイルを変更する
vi $POSTFIX_HOME/conf/main.cf
- 送信者制約を設定する
smtpd_sender_restrictions = check_sender_access hash:/usr/local/postfix/conf/sender_restrictions
- 送信者制約を設定する
- 制約データベースを作成する
vi /usr/local/postfix/conf/sender_restrictions
特定アドレスを拒否する場合
example@example.com DISCARD
特定ドメインを拒否する場合
example.com DISCARD
※DISCARDをREJECTにすると拒否した旨、送信元に返す - データベースファイルを生成する
postmap /usr/local/postfix/conf/sender_restrictions # /usr/local/postfix/conf/sender_restrictions.dbが生成される
- 設定を反映する
起動時に使用した種類のコマンドを使用すること。
postfix reload
or
systemctl reload postfix
追加設定
- 制約データベースを更新する
vi /usr/local/postfix/conf/sender_restrictions
特定アドレスを拒否する場合
example@example.com DISCARD
特定ドメインを拒否する場合
example.com DISCARD
※DISCARDをREJECTにすると拒否した旨、送信元に返す - データベースファイルを更新する
postmap /usr/local/postfix/conf/sender_restrictions # /usr/local/postfix/conf/sender_restrictions.dbが生成される
VERPの使用
- 参考:http://www.postfix.org/VERP_README.html
- 参考:http://www.postfix-jp.info/trans-2.3/jhtml/VERP_README.html
owner alias (オーナーエイリアス)
エイリアスのアドレスの先頭に”owner-“と付けることで、それ以降の部分の文字列に対応するメールアドレスに関するオーナーエイリアスとして認識される。
バーチャルメール
共有ドメイン(バーチャルドメイン)
バーチャルエイリアス
バーチャルメールボックス
データベース
バーチャルメールアドレスと保存場所の対応付けを行うデータベースを作成する
cd <任意のパス> # 例 # cd $POSTFIX_HOME/conf mv virtual virtual.old # データベースを退避する。作成していなければ存在しない。 vi virtual # 任意の内容を記述する。 # 書式は以下。 # <ユーザ名> <パス>/ # or # <メールアドレス> <パス>/ # ユーザ名のみ記載した場合はあらゆるドメインで対象となる。 # メールアドレスを記載した場合は指定のドメインでのみ対象となる。 # パスは共通の保存パス(パラメータ"virtual_mailbox_base")からの相対パスとなる。 postmap virtual # virtual.dbが生成される。
MDAユーザ作成
MDA(Mail Delivery Agent)用のユーザを作成する。
Postfixを含めてメールプログラムでメールを読み書きする共通ユーザである。
useradd --user-group --no-create-home --shell /sbin/nologin mda chown -R mda:mda /usr/local/data/mail
設定変更
設定に以下を加える。
パラメータ”mydestination”についてはサーバの実際のドメインをバーチャルメールとして利用するために、実際のドメインを削除する意図である。
従って、バーチャルメールとして利用しないならば、変更の必要はない。
既存の設定ファイルを上書きする場合は以下で良い。
cat > $POSTFIX_HOME/conf/main.cf << EOT compatibility_level = 2 mydestination = localhost # Virtual Mail virtual_mailbox_base = \$mail_spool_directory virtual_uid_maps = static:`id -u mda` virtual_gid_maps = static:`getent group mda | sed -e "s/[a-zA-Z:]//g"` virtual_mailbox_maps = hash:/usr/local/postfix/conf/virtual virtual_mailbox_domains = <サーバの実ドメイン>{, <バーチャルドメイン>}{, ...} EOT
設定反映
起動時に使用した種類のコマンドを使用すること。
postfix reload
or
systemctl reload postfix
エイリアス(メール受信時のスクリプトの実行)
エイリアスを指定することで、受信したメールのローカルパートを別のローカルパートに割り当てることができる。
また、エイリアスによって特定のローカルパート宛のメールを受信した際に指定したスクリプトを実行することができる。
データベースの作成
エイリアス用のローカルパートと実際のローカルパートの対応付けを行うデータベースを作成する。
もしくはエイリアス用のローカルパートと受信時に実行するスクリプトとの対応付けを行う。
cd <任意のパス> # 例 # cd $POSTFIX_HOME/conf
mv aliases aliases.old # データベースを退避する。作成していなければ存在しない。
vi aliases
任意の内容を記述する。
書式は以下。
<ユーザ名>: <ユーザ名>
or
<ユーザ名>: <メールアドレス>[, ...]
or
<ユーザ名>: |<スクリプトパス>
ユーザ名、メールアドレスのみ記載した場合は通常のエイリアスとなる。
記述するユーザ名は実際には存在していなくても良い。
バーティカルバー(|)を記載した場合はコマンド実行になる。
スクリプトパスを指定した場合はメール配信がされない。また、エイリアスユーザ名とスクリプトの両方を同時に書くことはできない。その為、メール受信とスクリプト実行の両方をしたい場合は次のように記載する。
ここで、userAはメールを受信するユーザ名である。userA_mail@XXX宛にメールを送ることとなる。
userA_mail: userA@localhost,userA_script@localhost userA_script: |<スクリプトパス>
postalias aliases # aliases.dbが生成される。
設定変更
設定に以下を加える。
パラメータ”mydestination”についてはサーバの実際のドメインをバーチャルメールとして利用するために、実際のドメインを削除する意図である。
従って、バーチャルメールとして利用しないならば、変更の必要はない。
既存の設定ファイルを上書きする場合は以下で良い。
cat >> $POSTFIX_HOME/conf/main.cf << EOT # Alias alias_maps = hash:/usr/local/postfix/conf/aliases alias_database = $alias_maps EOT
設定反映
起動時に使用した種類のコマンドを使用すること。
postfix reload
or
systemctl reload postfix
スクリプトサンプル
#!/bin/bash MAIL_PATH=`mktemp` OUT_PATH=/tmp/test IFS=$'\n' cat - > $MAIL_PATH mailTo=`cat $MAIL_PATH | grep "^To:" | sed -e "s/.*<//" -e "s/@.*//"` mailSubject=`cat $MAIL_PATH | grep "^Subject:" | sed "s/.*: //"` mailHeadEnd=`cat $MAIL_PATH | grep -n "^$" | head -n 1 | sed "s/://"` mailBody=`cat $MAIL_PATH | sed "1,${mailHeadEnd}d" | nkf -mB` date > $OUT_PATH echo $mailTo >> $OUT_PATH echo $mailSubject >> $OUT_PATH echo $mailBody >> $OUT_PATH rm $MAIL_PATH
SASL
- 参考:http://www.postfix.org/SASL_README.html
- 参考:http://www.postfix-jp.info/trans-2.3/jhtml/SASL_README.html
Dovecot
Postfix設定
SASLでDovecotを使用するにはmake makefiles時に次のオプションを付与しなければならない。
make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"'
有効になっていると次のコマンドでdovecotと表示される。
postconf -a
以下を設定ファイル”main.cf”に追加する。
smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination
パラメータ”smtpd_recipient_restrictions”による制限内容は以下である。
- 宛先が自サーバ宛である場合は受け取る
- 送信者が認証を通過していれば送信する
- 拒否する
上記の場合、reject_unauth_destinationの代わりにrejectでも良さそうだが、rejectだと外部からメールを受け取れなくなる。
自サーバのユーザから自サーバのユーザへメール送信がされる場合は認証が不要となる点には留意する。これを認証必須とすることはできない。
permit_sasl_authenticatedを指定することで、permit_mynetworksも有効になるので、別途指定は不要。
パラメータ”smtpd_recipient_restrictions”の代わりにパラメータ”smtpd_client_restrictions”を使用した場合でも挙動は同じになる。
設定完了後、設定を再読み込みする。
起動時に使用した種類のコマンドを使用すること。
postfix reload
or
systemctl reload postfix
Dovecot設定
以下設定を追加する。
cat >> $DOVECOT_HOME/conf/dovecot/dovecot.conf << EOT service auth { unix_listener /usr/local/postfix/queue/private/auth { mode = 0666 user = postfix group = postfix } } EOT
設定完了後、設定を再読み込みする。
doveadm reload
認証確認
平文でログインする場合でもBase64エンコードを行う必要がある。
まずユーザ名とパスワードをBase64エンコードする。
ユーザ名は二度記載する。
printf "%s\0%s\0%s" <ユーザ名> <ユーザ名> <パスワード> | openssl base64 -e | sed "s/\\n//g"
これを用いてtelnetでログインする。
telnet localhost 25 AUTH PLAIN <Base64ログイン情報> MAIL FROM:<from address> RCPT TO:<to address> DATA test mail . quit
TLS
TLSはインストール時にTLSを有効にしてインストールされていなければならないので注意すること。
設定ファイルに以下を追加する。
cat >> $POSTFIX_HOME/conf/main.cf << EOT smtpd_tls_cert_file = /usr/local/letsencrypt/cert/cert.pem smtpd_tls_key_file = /usr/local/letsencrypt/keys/key.pem smtpd_tls_security_level = may EOT
更に設定ファイル”master.cf”も変更する
sed -i -e "s/^#smtps/smtps/g" -e "s/^# *-o smtpd_tls_wrappermode/ -o smtpd_tls_wrappermode/g" master.cf
設定完了後、設定を再読み込みする。
起動時に使用した種類のコマンドを使用すること。
postfix reload
or
systemctl reload postfix
トラブルシューティング
メール受信ができない
認証失敗
smtpd_recipient_restrictions等のsmtpd_XXX_restrictions系パラメータで制限が加えられているので、それを変更する。
SASLを使用している場合、rejectを使用せずにreject_unauth_destinationを使用しなければならない。
- Gmailの場合のエラーログ
postfix/smtpd[XXXXX]: NOQUEUE: reject: RCPT from mail-pf0-f175.google.com[XXX.XXX.XXX.XXX]: 554 5.7.1 <mail-pf0-f175.google.com[XXX.XXX.XXX.XXX]>: Client host rejected: Access denied; from=<xxx@gmail.com> to=<to address> proto=ESMTP helo=<mail-pf0-f175.google.com>
メール送信ができない
認証失敗
認証が適切に行われていない。
smtpd_recipient_restrictions等のsmtpd_XXX_restrictions系パラメータで制限が加えられているので、それを変更するか、認証を行ったうえで送信する。
- ログ
postfix/smtpd[XXXXX]: NOQUEUE: reject: RCPT from <XXX>[XXX.XXX.XXX.XXX]: 554 5.7.1 <to address>: Relay access denied; from=<from address> to=<to address> proto=SMTP
メール送信テスト
メール送信テストは次のように行う
ローカルにメールを送る場合
telnet localhost 25 MAIL FROM:test@example.com RCPT TO:root@[127.0.0.1] DATA test mail . quit
送信が完了したことを確認する
mailq
宛先メールアドレスにメールが届いていることを確認する
cat /usr/local/data/mail/root/new/*
インターネットにメールを送る場合
メールアドレスを修正して以下実行する。送信元メールアドレスのドメインは正しいものにする必要があるが、アカウント名は何でも良い。
インターネット通信が可能な場合のみ有効。
メールを送信するために送信ホストのIPアドレス(インターネット経由の場合はグローバルアドレス)がDNS解決できる必要がある。
telnet localhost 25 MAIL FROM:<送信元メールアドレス> RCPT TO:<宛先メールアドレス> DATA test mail . quit
送信が完了したことを確認する
mailq