Sentry provides support for both outbound, and incoming email.
Inbound email is fairly limited in use, and currently it only supports processing replies to error and note notifications.
You'll need to configure an SMTP provider for outbound email.
mail.backendDeclared in
config.yml.The backend to be used for email delivery. Options are
smtp,console, anddummy.Defaults to
smtp. Usedummyif you’d like to disable email delivery.Use
sentry.utils.email.PreviewBackendto receive mail locally while developing. By default they'll open in the native Mail app if using a Macbook. Select iCloud as the provider and use the same email address you have set up for Sentry.mail.fromDeclared in
config.yml.The email address used for outbound email in the
Fromheader.Defaults to
root@localhost, also supportsFull Name <fullname@example.com>format. It’s highly recommended to change this value to ensure reliable email delivery.mail.hostDeclared in
config.yml.The hostname to connect to for SMTP connections.
Defaults to
localhost.mail.portDeclared in
config.yml.The port to connect to for SMTP connections.
Defaults to
25.mail.usernameDeclared in
config.yml.The username to use when authenticating with the SMTP server.
Defaults to
(empty).mail.passwordDeclared in
config.yml.The password to use when authenticating with the SMTP server.
Defaults to
(empty).mail.use-sslDeclared in
config.yml.Should Sentry use SSL when connecting to the SMTP server?
Defaults to
false.mail.use-tlsDeclared in
config.yml.Should Sentry use TLS when connecting to the SMTP server?
Defaults to
false.mail.list-namespaceDeclared in
config.yml.The mailing list namespace for emails sent by this Sentry server. This should be a domain you own (often the same domain as the domain part of the
mail.fromconfiguration parameter value) orlocalhost.
For configuration you can pick from different backends.
Start by choosing a domain to handle inbound email. We find it easiest if you maintain a separate domain from anything else. In our example, we’re going to choose inbound.sentry.example.com. You’ll need to configure your DNS records for the given domain according to the Mailgun documentation.
Create a new route in mailgun:
Priority:
0
Filter Expression:
catch_all()
Actions:
forward("https://sentry.example.com/api/hooks/mailgun/inbound/")
Description:
Sentry inbound handler
Configure Sentry with the appropriate settings:
# Your Mailgun API key (used to verify incoming webhooks)
mail.mailgun-api-key: ""
# Set the SMTP hostname to your configured inbound domain
mail.reply-hostname: "inbound.sentry.example.com"
# Inform Sentry to send the appropriate mail headers to enable
# incoming replies
mail.enable-replies: true
And finally, update Sentry with the appropriate settings:
# Set the SMTP hostname to your configured inbound domain
mail.reply-hostname: "inbound.sentry.example.com"
# Inform Sentry to send the appropriate mail headers to enable
# incoming replies
mail.enable-replies: true
That’s it! You’ll now be able to respond to activity notifications on errors via your email client.
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").