Interesting information for FOLIO SysAdmins

Interesting information for FOLIO SysAdmins

Technical documentation and design available at: https://folio-org.atlassian.net/wiki/x/exob

SMTP configuration


To retrieve a list of SMTP entries:

GET /smtp-configuration

 

To create a new SMTP entry:

POST /smtp-configuration

{
     "module": "SMTP_SERVER",
     "configName": "email",
     "code": "EMAIL_FROM"
     "description": "smtp from",
     "default": true,
     "enabled": true,
     "value": "noreply@folio.org"
}

 

To delete a SMTP entry:

DELETE /smtp-configuration/{smtpConfigurationId}

  • Entry ID can be looked up in the result of a GET call.

 

To update an existing entry:

PUT /smtp-configuration/{smtpConfigurationId}

{
     "module": "SMTP_SERVER",
     "configName": "email",
     "code": "EMAIL_FROM",
     "description": "smtp from",
     "default": true,
     "enabled": true,
     "value": "noreply@folio.org"
}

  • Entry ID can be looked up in the result of a GET call.

 

Minimum viable configuration for module  SMTP_SERVER  consists of 5 entries:

  • EMAIL_SMTP_HOST

  • EMAIL_SMTP_PORT

  • EMAIL_USERNAME

  • EMAIL_PASSWORD

  • EMAIL_FROM


Custom headers

Custom headers are configured by creating entries in mod-configuration with following (required) properties

{
     "module": "SMTP_SERVER",
     "configName": "email.headers",
     "code": "HEADER_NAME_HERE",
     "value": "HEADER_VALUE_HERE"
}

 

Where HEADER_NAME_HERE should be replaced with the name of your custom header, e.g. X-SES-CONFIGURATION-SET, and HEADER_VALUE_HERE should be replaced with desired value.

Values of properties module and configName should NOT be changed, and are required in order to be discovered by mod-email and treated as custom header configurations.

You can configure as many custom headers as you want as long as they have different code values.

 

Troubleshooting problems 

Logical chain:

1)  Check notification system

2)  Check SMTP configuration (setup and working)

3)  Check email status (/emails):


GET /email
Available query parameters:


Example request with parameters.
/email?limit=100&query=status=FAILURE+and+to=student@folio.org


Fields to look at:


Possible error messages:


SMTP configuration issues:

 

4)  Check the list of scheduled notices:
GET /scheduled-notice-storage/scheduled-notices

Notices can be filtered by loan, recipient, triggering event, etc:
GET /scheduled-notice-storage/scheduled-notices?query=recipientUserId==429d212c-c646-4c75-ba3d-c16216491123

 

5)  More on scheduled notices API: here

  • Check logs in the following modules:
    mod-circulation, mod-email, mod-template-engine, mod-sender, mod-notify

    Okapi logs:
    vagrant ssh
    /var/log/folio/okapi/okapi.log

    Specific module logs:
    vagrant ssh
    docker ps (to find container id)
    docker logs {container_id} (more on this command here)