مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2025-11-30 21:32:30 +00:00
add a defaults file containing all defaults for configuration options and tidy initial config
هذا الالتزام موجود في:
@@ -1,5 +1,5 @@
|
|||||||
.navBar.navBar--secondary
|
.navBar.navBar--secondary
|
||||||
%ul
|
%ul
|
||||||
%li.navBar__item= link_to "Domains", organization_server_domains_path(organization, @server), :class => ['navBar__link', active_nav == :domains ? 'is-active' : '']
|
%li.navBar__item= link_to "Domains", organization_server_domains_path(organization, @server), :class => ['navBar__link', active_nav == :domains ? 'is-active' : '']
|
||||||
- if Postal.fast_server?
|
- if Postal.tracking_available?
|
||||||
%li.navBar__item= link_to "Tracking Domains", organization_server_track_domains_path(organization, @server), :class => ['navBar__link', active_nav == :track_domains ? 'is-active' : '']
|
%li.navBar__item= link_to "Tracking Domains", organization_server_track_domains_path(organization, @server), :class => ['navBar__link', active_nav == :track_domains ? 'is-active' : '']
|
||||||
|
|||||||
85
config/postal.defaults.yml
Normal file
85
config/postal.defaults.yml
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
# These are the default configuration options that will be used if they aren't overriden
|
||||||
|
# in your postal.yml configuration file. No changes should be made to this file for
|
||||||
|
# your installation.
|
||||||
|
|
||||||
|
# You can refer to this for a complete listing all available configuration options.
|
||||||
|
|
||||||
|
web:
|
||||||
|
host: postal.example.com
|
||||||
|
protocol: https
|
||||||
|
|
||||||
|
general:
|
||||||
|
use_ip_pools: false
|
||||||
|
exception_url:
|
||||||
|
|
||||||
|
web_server:
|
||||||
|
bind_address: 127.0.0.1
|
||||||
|
port: 5000
|
||||||
|
max_threads: 5
|
||||||
|
|
||||||
|
fast_server:
|
||||||
|
enabled: false
|
||||||
|
bind_address: 0.0.0.0
|
||||||
|
port: 5010
|
||||||
|
ssl_port: 5011
|
||||||
|
proxy_protocol: false
|
||||||
|
|
||||||
|
main_db:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 3306
|
||||||
|
username: postal
|
||||||
|
password:
|
||||||
|
database: postal
|
||||||
|
|
||||||
|
logging:
|
||||||
|
stdout: false
|
||||||
|
max_log_file_size: 20
|
||||||
|
max_log_files: 10
|
||||||
|
|
||||||
|
message_db:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 3306
|
||||||
|
username: postal
|
||||||
|
password:
|
||||||
|
prefix: postal
|
||||||
|
|
||||||
|
rabbitmq:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 5672
|
||||||
|
username: postal
|
||||||
|
password:
|
||||||
|
vhost: /postal
|
||||||
|
|
||||||
|
workers:
|
||||||
|
quantity: 1
|
||||||
|
|
||||||
|
smtp_server:
|
||||||
|
proxy_protocol: false
|
||||||
|
log_connect: true
|
||||||
|
evented: true
|
||||||
|
ports:
|
||||||
|
- 2525
|
||||||
|
|
||||||
|
dns:
|
||||||
|
mx_records:
|
||||||
|
- mx.postal.example.com
|
||||||
|
smtp_server_hostname: postal.example.com
|
||||||
|
spf_include: spf.postal.example.com
|
||||||
|
return_path: rp.postal.example.com
|
||||||
|
route_domain: routes.postal.example.com
|
||||||
|
track_domain: track.postal.example.com
|
||||||
|
dkim_identifier: postal
|
||||||
|
domain_verify_prefix: postal-verification
|
||||||
|
custom_return_path_prefix: psrp
|
||||||
|
|
||||||
|
smtp:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 2525
|
||||||
|
username: # Complete when Postal is running and you can
|
||||||
|
password: # generate the credentials within the interface.
|
||||||
|
from_name: Postal
|
||||||
|
from_address: postal@yourdomain.com
|
||||||
|
|
||||||
|
rails:
|
||||||
|
environment: production
|
||||||
|
secret_key:
|
||||||
@@ -1,59 +1,45 @@
|
|||||||
web:
|
web:
|
||||||
|
# The host that the management interface will be available on
|
||||||
host: postal.example.com
|
host: postal.example.com
|
||||||
|
# The protocol that requests to the management interface should happen on
|
||||||
protocol: https
|
protocol: https
|
||||||
|
|
||||||
web_server:
|
|
||||||
bind_address: 127.0.0.1
|
|
||||||
port: 5000
|
|
||||||
max_threads: 5
|
|
||||||
|
|
||||||
fast_server:
|
fast_server:
|
||||||
bind_address: 0.0.0.0
|
# This can be enabled to enable click & open tracking on emails. It is disabled by
|
||||||
port: 5010
|
# default as it requires a separate static IP address on your server.
|
||||||
ssl_port: 5011
|
enabled: false
|
||||||
proxy_protocol: false
|
|
||||||
|
|
||||||
general:
|
general:
|
||||||
|
# This can be changed to allow messages to be sent from multiple IP addresses
|
||||||
use_ip_pools: false
|
use_ip_pools: false
|
||||||
exception_url: null
|
|
||||||
|
|
||||||
workers:
|
|
||||||
quantity: 1
|
|
||||||
|
|
||||||
logging:
|
|
||||||
stdout: false
|
|
||||||
max_log_file_size: 20
|
|
||||||
max_log_files: 10
|
|
||||||
|
|
||||||
main_db:
|
main_db:
|
||||||
|
# Specify the connection details for your MySQL database
|
||||||
host: 127.0.0.1
|
host: 127.0.0.1
|
||||||
port: 3306
|
|
||||||
username: postal
|
username: postal
|
||||||
password:
|
password:
|
||||||
database: postal
|
database: postal
|
||||||
|
|
||||||
message_db:
|
message_db:
|
||||||
|
# Specify the connection details for your MySQL server that will be house the
|
||||||
|
# message databases for mail servers.
|
||||||
host: 127.0.0.1
|
host: 127.0.0.1
|
||||||
port: 3306
|
|
||||||
username: postal
|
username: postal
|
||||||
password:
|
password:
|
||||||
prefix: postal
|
prefix: postal
|
||||||
|
|
||||||
rabbitmq:
|
rabbitmq:
|
||||||
|
# Specify the connection details for your RabbitMQ server.
|
||||||
host: 127.0.0.1
|
host: 127.0.0.1
|
||||||
port: 5672
|
|
||||||
username: postal
|
username: postal
|
||||||
password: xxx
|
password:
|
||||||
vhost: /postal
|
vhost: /postal
|
||||||
|
|
||||||
smtp_server:
|
|
||||||
proxy_protocol: false
|
|
||||||
log_connect: true
|
|
||||||
evented: true
|
|
||||||
ports:
|
|
||||||
- 2525
|
|
||||||
|
|
||||||
dns:
|
dns:
|
||||||
|
# Specifies the DNS record that you have configured. Refer to the documentation at
|
||||||
|
# https://github.com/atech/postal/wiki/Domains-&-DNS-Configuration for further
|
||||||
|
# information about these.
|
||||||
mx_records:
|
mx_records:
|
||||||
- mx.postal.example.com
|
- mx.postal.example.com
|
||||||
smtp_server_hostname: postal.example.com
|
smtp_server_hostname: postal.example.com
|
||||||
@@ -61,11 +47,11 @@ dns:
|
|||||||
return_path: rp.postal.example.com
|
return_path: rp.postal.example.com
|
||||||
route_domain: routes.postal.example.com
|
route_domain: routes.postal.example.com
|
||||||
track_domain: track.postal.example.com
|
track_domain: track.postal.example.com
|
||||||
dkim_identifier: postal
|
|
||||||
domain_verify_prefix: postal-verification
|
|
||||||
custom_return_path_prefix: psrp
|
|
||||||
|
|
||||||
smtp:
|
smtp:
|
||||||
|
# Specify an SMTP server that can be used to send messages from the Postal management
|
||||||
|
# system to users. You can configure this to use a Postal mail server once the
|
||||||
|
# your installation has been set up.
|
||||||
host: 127.0.0.1
|
host: 127.0.0.1
|
||||||
port: 2525
|
port: 2525
|
||||||
username: # Complete when Postal is running and you can
|
username: # Complete when Postal is running and you can
|
||||||
@@ -74,6 +60,6 @@ smtp:
|
|||||||
from_address: postal@yourdomain.com
|
from_address: postal@yourdomain.com
|
||||||
|
|
||||||
rails:
|
rails:
|
||||||
environment: production
|
# This is generated automatically by the config initialization. It should be a random
|
||||||
|
# string unique to your installation.
|
||||||
secret_key: {{secretkey}}
|
secret_key: {{secretkey}}
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,8 @@ module Postal
|
|||||||
def self.config
|
def self.config
|
||||||
@config ||= begin
|
@config ||= begin
|
||||||
require 'hashie/mash'
|
require 'hashie/mash'
|
||||||
Hashie::Mash.new(yaml_config)
|
config = Hashie::Mash.new(self.defaults)
|
||||||
|
config.deep_merge(self.yaml_config)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -50,6 +51,14 @@ module Postal
|
|||||||
@yaml_config ||= File.exist?(config_file_path) ? YAML.load_file(config_file_path) : {}
|
@yaml_config ||= File.exist?(config_file_path) ? YAML.load_file(config_file_path) : {}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.defaults_file_path
|
||||||
|
@defaults_file_path ||= app_root.join('config', 'postal.defaults.yml')
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.defaults
|
||||||
|
@defaults ||= YAML.load_file(self.defaults_file_path)
|
||||||
|
end
|
||||||
|
|
||||||
def self.database_url
|
def self.database_url
|
||||||
if config.main_db
|
if config.main_db
|
||||||
"mysql2://#{CGI.escape(config.main_db.username.to_s)}:#{CGI.escape(config.main_db.password.to_s)}@#{config.main_db.host}:#{config.main_db.port}/#{config.main_db.database}?reconnect=true&encoding=#{config.main_db.encoding || 'utf8mb4'}"
|
"mysql2://#{CGI.escape(config.main_db.username.to_s)}:#{CGI.escape(config.main_db.password.to_s)}@#{config.main_db.host}:#{config.main_db.port}/#{config.main_db.database}?reconnect=true&encoding=#{config.main_db.encoding || 'utf8mb4'}"
|
||||||
@@ -161,12 +170,12 @@ module Postal
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.anonymous_signup?
|
def self.tracking_available?
|
||||||
config.general&.anonymous_signup != false
|
self.config.fast_server.enabled?
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.fast_server?
|
def self.ip_pools?
|
||||||
!!self.config.fast_server
|
self.config.general.use_ip_pools?
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -545,7 +545,7 @@ module Postal
|
|||||||
# Should this message be parsed?
|
# Should this message be parsed?
|
||||||
#
|
#
|
||||||
def should_parse?
|
def should_parse?
|
||||||
parsed? == false && headers['x-amp'] != 'skip' && Postal.fast_server?
|
parsed? == false && headers['x-amp'] != 'skip'
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|||||||
@@ -80,11 +80,11 @@ module Postal
|
|||||||
end
|
end
|
||||||
|
|
||||||
def parse(part, type = nil)
|
def parse(part, type = nil)
|
||||||
if @domain.track_clicks?
|
if Postal.tracking_available? && @domain.track_clicks?
|
||||||
part = insert_links(part, type)
|
part = insert_links(part, type)
|
||||||
end
|
end
|
||||||
|
|
||||||
if @domain.track_loads? && type == :html
|
if Postal.tracking_available? && @domain.track_loads? && type == :html
|
||||||
part = insert_tracking_image(part)
|
part = insert_tracking_image(part)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ hash = {
|
|||||||
'quantity' => worker_quantity
|
'quantity' => worker_quantity
|
||||||
},
|
},
|
||||||
'fast' => {
|
'fast' => {
|
||||||
'quantity' => Postal.config.fast_server ? 1 : 0
|
'quantity' => Postal.config.fast_server.enabled? ? 1 : 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.to_yaml
|
}.to_yaml
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم