The Configuration File

Sirportly is configured by means of a configuration file which is located in config/sirportly.rb in the root of your installation directory. This page outlines some of the configuration options which are available to you. The file which is included with your distribution includes all the default settings required along with appropriate comments.

Please Note: if you make changes to this file, you must restart sirportly before the changes will take effect.

Sirportly.config.tap do |config|

  # This is the domain where you wish to host your administrative pages
  config.domain = ''

  # This is the protocol which should be used when generating full links within e-mails.
  config.protocol = 'http'

  # These settings set how mail should be delivered from your application.
  # The delivery method can be either :smtp or :sendmail as appropriate.
  config.delivery_method = :smtp

  # If the delivery method is set to :smtp, you need to provide additional SMTP settings below.
  # If you need to authenticate your SMTP connection, you can also add variables for
  # :user_name and :password in addition to :authentication which can be one of :plain,
  # :login or :cram_md5.
  config.smtp_settings = {:address => '', :domain => ''}

  # If you wish to use different SMTP setting for delivering e-mail testing messages.
  # You can define these with the option below. The settings in this variable will override
  # those entered in the 'smtp_settings' variable above.
  config.smtp_settings_for_test = {:user_name => 'testaccount', :password => 'llama'}

  # This is a random token which is used to encrypt sessions stored in cookies. This is
  # automatically generated as part of your installation process.
  config.session_token = 'random_string_here'

  # This is the outbound e-mail address which will be used for outbound e-mail if we cannot
  # auto-determine an address for the message.
  config.notification_address = ''

  # Set this to send email alerts to a staff user when they login to Sirportly via a new, 
  # unrecognised browser session. By default this is set to true.
  send_login_notification_emails = true

  # This can either be true or false and defines whether or not GET requests made to 'http'
  # URLs will be redirected to 'https' equivalents. You must ensure that your web server
  # supports SSL before enabling this mode.
  config.force_ssl = false

  # The port number which the web server will listen on. Listens on port 8080 by default.
  config.web_server_port = 8080

  # The number of workers which are executed (equates to the number of simultaneous
  # requests which can be made). Each worker can use anywhere from 60MB or 120MB of
  # system memory.
  config.web_server_workers = 2

  # The length of time one request is permitted to run before it is terminated
  config.web_server_timeout = 30

  # The follow lines load modules into the system as appropriate. All modules should be defined
  # within the modules/category/xxxx.rb file in your application.
  config.module :pipe
  config.module :local
  config.module :txtlocal
  config.module :full_contact, :api_key => 'abc123abc123'
  config.module :slack
  config.module :hipchat

  # This is the path where attachments should be stored, by default attachments are stored
  # in the root of the application in a folder called 'uploads'
  config.attachment_options = {:root => Rails.root.join('uploads', 'attachments')}

  # These are the colours which are used on the reporting overview chart. The first represents
  # 'Open' tickets and the second represents 'On Hold' tickets. The values should be provided
  # as full hex colour codes with a # at the start. If this isn't defined, the default colours
  # will be used.
  config.reporting_overview_chart_colours = ['#000000', '#ff0000']

  # Serve images & other assets from a different domain. This is optional.
  config.asset_host = ''

  # Change the X-Mailer header on all outbound e-mails
  config.xmailer = 'MySupportMailer'

  # Enable emojis within your installation (
  config.emojis = true

  # Optionally set the host to serve emojis from
  config.emojis_host = ''

  # Sets the number of message per e-mail address which are permitted before they
  # are rejected. By default, this is 100.
  config.hourly_email_rate_limit = 100

  # Sets the maximum size for attachments. Attachments which are larger than this
  # limit will be silently dropped when added.
  config.maximum_attachment_size = 20.megabytes

  # Sets the safe host where HTML messages can be displayed. This should not be
  # be the same domain as one which you have authenticated to. Any authenticated
  # session should not be available to the HTML message domain to avoid XSS attacks.
  config.html_message_host = ''

  # Sets the message sending delay when enabled for an account. By default, this is 
  # 30 seconds. 
  config.ticket_update_send_delay = 2.minutes

  # Sets the default gravatar which should be displayed if a user hasn't uploaded a user
  # to the gravatar service. By default, this is 'identicon' but can be a URL to an image
  # or on the options outlined on
  config.gravatar_default = 'identicon'

  # You can define your own antibot questions/answers if you wish which will be included
  # along with the defaults.
  config.antibot_questions = [
    {:q => "Why did the chicken cross the road?", :a => "To get to the other side"},
    {:q => "Name the animal shown on the right", :a => ['cat', 'kitten', 'pussy'], :hint => "It's a feline", :image => ''},

  # Push all Sirportly logs to a specified aTech Log Server. To use this, you will need to
  # install the aTech Log Server ( on a host. This is only
  # worth using if you have multiple Sirportly app servers.
  config.atech_log_server = {:host => '', :app => 'sirportly'}

  # If set, all emails received by Sirportly will be saved to a directory for inspection later.
  # This should only be used for debugging purposes and do not recommend leaving this enabled in
  # a production environment. Messages are stored in log/raw_emails/yyyy-mm-dd/hh:mm:ss-[message_id].
  config.log_raw_emails = true

  # Set's the application key for your Noti application. A key can be obtained by creating an
  # application from the Noti website at
  config.noti_app_key = 'c3fcbe65-86d9-253d-cc3b-d5950aa10108'

  # If you don't wish for HTML-only emails to be diplayed to staff using an iFrame, you can use
  # the option below to disable them. This is enabled by default.
  config.html_only_iframes = false

  # If you only wish to allow staff to be able to respond to tickets from addresses which are
  # configured for the ticket's department, you can enable this. By default, the system will
  # allow the user to select any address which belongs to the ticket's brand.
  config.only_allow_department_addresses_to_reply = true

  # Configure the maximum number of updates that will be displayed or indexed within a single ticket
  config.max_ticket_updates = 100

  # The length of time between each mail test message (by default, 1 hour)
  config.mail_test_interval = 6.hours

  # Will display a warning in the staff interface if incoming addresses are detected as failing to be delivered.
  # Enabled by default.
  config.mail_test_warning_in_staff_interface = false

  # By default, Sirportly will look for a 'X-Spam-Status' header on all inbound mail and if 'YES', the
  # message will be added to the SPAM queue rather than being delivered normal. To disable this, you
  # can set the following option to false.
  config.use_spam_assassin_headers_for_spam_detecton = false

  # Specifies the length of time to store queued SPAM messages before they are automatically removed. 
  # By default, this is set to 30 days.
  config.auto_spam_removal_period = 30.days

  # Specifies the email address to send outbound support PIN reminder emails frmo
  config.support_pin_email_address = ''

  # How many mailboxes poll failures should occur before considering the mailbox to have failed and stop future polling.
  # The default is 10 times.
  config.mailbox_retry_limit = 10

  # The length of time between polling IMAP and/or POP3 mailboxes. Default is 5 minutes.
  config.mailbox_poll_interval = 2.minutes

  # By default, Sirportly will use the Reply-To header if one exists and treat it as the From address when accepting
  # incoming e-mails. If you wish to always use the 'From' header, just disable this behaviour as shown below.
  config.use_reply_to_header_on_incoming_emails = false

  # Specifies the host which API requests must be made to in order for appropriate cross origin headers to be
  # returned for. This must not have any auth sessions set on it and will automatically redirect all requests to
  # it to the API documentation
  config.api_cross_origin_host = ''

  ## Email forwarding setup
  config.email_routing_forwarding_address = ''

  # Set the Apple Push Notification Service auth key. This is a key which must be requested from the Sirportly
  # support team. This key will allow iOS users to receive notifications on their phones from your installation.
  config.apns_auth_key = 'ebb4ab9f-a176-47fe-8b7d-f8a2a2807dc8'

  # Set a timeout for data frame requests, default is set to 5 seconds.
  config.data_frame_timeout = 5 

  # Don't verify SSL certificates of all external services (such as an HTTP request from a Macro)
  config.verify_ssl_connections = false

  # Any additional configuration which may be required by modules can be entered below
  # this point.


Proudly powered by Katapult. Running on 100% renewable energy.