Outgoing email configuration
Unblu can be configured to send emails in a number of situations.
SMTP configuration
If you want to send emails using Microsoft Office 365, the instructions in this section won’t work. Instead, follow the instructions in ../../../knowledge-base/configuration/conversations/outgoing-emails-office-365.html. |
To send emails from the Unblu server, you must first configure an SMTP server. This can be done either globally or per account.
When the configuration property com.unblu.mail.smtp.account.enabled is set to true
, the global settings are ignored. Instead, Unblu uses the account-level settings.
If you have multiple accounts, most of which share the same SMTP configuration, you can set the configuration property to true
on the accounts that have a different configuration. That way, the other accounts can share the global configuration thanks to the configuration cascade. If you set the configuration property to true
globally, you have to configure each account’s SMTP settings individually.
Emails
The Unblu server can send a number of different emails:
-
Email containing a generated password
-
Push notification email informing agents, authenticated visitors, or anonymous visitors about a new message in a conversation they’re participating in
-
Push notification email about an Incoming call
-
Push notification email about a Missed call
Each email has its own template with various configuration properties and text properties.
Log of conversation messages sent by email
The concierge offboarding step Send log via mail allows the visitor to request a copy of the messages exchanged during a conversation by email.
Configuration properties:
-
com.unblu.conversation.messagelog.mail.senderEmail: If not specified, the
fromAddress
of the SMTP settings is used.
Text properties:
-
com.unblu.conversation.messagelog.mail.logEntryFormat with the following text arguments:
-
senderName
: The name of the person who sent a message. The value used is the sender’s display name. -
senderPersonId
: The ID of the person who sent a message. -
recipientsPersonIds
: The IDs of the recipients of the message. -
sendUtcTime
: The UTC time the message was sent. -
serverUtcTime
: The UTC time the server received the message. -
messageText
: The text contents of the message.
-
The subject
and bodyTop
text properties both provide the following text arguments:
-
conversationId
: The ID of the conversation. -
participantNames
: The names of the conversation participants. The values used are the participants' display names. -
recipientName
: The name of the person receiving the email.
The bodyTop
text property also provides the following text arguments:
-
recipientEmail
: The address the email is sent to. -
recipientPhone
: The phone number of the person receiving the email.
Example output:
Conversation message log for conversation with ${participantNames} (1)
Hello,
Here is the message log you requested:
${serverUtcTime} ${senderName}: ${messageText}
${serverUtcTime} ${senderName}: ${messageText}
${serverUtcTime} ${senderName}: ${messageText}
Best regards,
The Unblu team
1 | This is the subject of the email, not part of the email body. |
Visitor invitation email
The visitor invitation email is sent when an agent invites a customer to join a conversation by email.
Configuration properties:
-
com.unblu.core.invitationmail.sender: The default value is
"info@unblu.com"
.
Text properties:
-
com.unblu.core.invitationmail.body with the following text arguments:
-
inviterName
: The name of the person who created the invitation. The value used is the person’s display name. -
inviterEmail
: The email address of the person who created the invitation. -
topic
: The topic of the conversation. -
scheduledTime
: The date and time when the conversation is supposed to start. -
timeZone
: The time zone ofscheduledTime
. -
link
: A link that opens conversation in the Visitor Desk. The link redeems the invitation and can only be used once. -
inviteeName
: The name of the person invited. -
inviteeEmail
: The email address of the person invited.
-
Example output:
Conversation invitation (1)
Hello,
You are invited to join a conversation with ${inviterName}.
Please click the link below to join:
${link}
1 | This is the subject of the email, not part of the email body. |
New assignment request
When a new assignment request is presented to the queue, it is possible to configure Unblu to get a mail
Configuration properties:
-
com.unblu.core.mail_notification.newAssignmentRequestNotification.enabled: Enables or disables the feature.
-
com.unblu.core.mail_notification.newAssignmentRequestNotification.mail.senderEmail: If not specified, the
fromAddress
of the SMTP settings is used. -
com.unblu.core.mail_notification.newAssignmentRequestNotification.mail.replyToEmail
-
com.unblu.core.mail_notification.newAssignmentRequestNotification.mail.bccEmails
Text properties:
-
com.unblu.core.mail_notification.newAssignmentRequestNotification.mail.subject
-
com.unblu.core.mail_notification.newAssignmentRequestNotification.mail.bodyTop
-
com.unblu.core.mail_notification.newAssignmentRequestNotification.mail.bodyBottomAutoTriggered
-
com.unblu.core.mail_notification.newAssignmentRequestNotification.mail.bodyFooter
Example output:
New assignment request from ${visitorName} (1)
Hello,
There's a new assignment request.
In: ${targetName}
From: ${visitorName}
Initial engagement URL: ${initialEngagementUrl}
Language: ${visitorLanguage}
Location: ${visitorLocationInfo}
System: ${visitorOs}
Browser: ${visitorBrowser}
Links:
Agent Desk: ${acceptAgentDeskLink}
Single Conversation Desk: ${acceptAgentDeskSingleLink}
This email was automatically triggered by the system.
Best regards,
Your support team
1 | This is the subject of the email, not part of the email body. |
Password reset email
The password reset email is sent when a user clicks the "Forgot password?" link in the login form.
Configuration properties:
-
com.unblu.core.server.core.mail.PasswordResetLinkMail.senderEmail: If not specified, the
fromAddress
of the SMTP settings is used. -
com.unblu.core.server.core.mail.PasswordResetLinkMail.replyToEmail
-
com.unblu.core.server.core.mail.PasswordResetLinkMail.bccEmails
Text properties:
-
com.unblu.core.server.core.mail.PasswordResetLinkMail.subject
-
com.unblu.core.server.core.mail.PasswordResetLinkMail.bodyTop with the following text arguments:
-
userName
: The user’s username. -
passwordLink
: A link to the page where the user may reset their password. -
recipientEmail
: The address the email is sent to.
-
-
com.unblu.core.server.core.mail.PasswordResetLinkMail.bodyBottomAutoTriggered
-
com.unblu.core.server.core.mail.PasswordResetLinkMail.bodyFooter
Example output:
Your password reset request (1)
Dear ${userName},
A password reset link was requested for your account.
Please click the following link to generate a new password:
${passwordLink}
This link is valid for 24 hours.
This email was automatically triggered by the system or an administrator.
Have a great day!
The Unblu team
1 | This is the subject of the email, not part of the email body. |
Generated password
In the Users section of the Account Configuration interface, admins and superadmins can generate a new random password for a user and have it sent to the user by email. This is the template for that email.
Configuration properties:
-
com.unblu.core.server.core.mail.GeneratedPasswordMail.senderEmail: If not specified, the
fromAddress
of the SMTP settings is used. -
com.unblu.core.server.core.mail.GeneratedPasswordMail.replyToEmail
-
com.unblu.core.server.core.mail.GeneratedPasswordMail.bccEmails
Text properties:
-
com.unblu.core.server.core.mail.GeneratedPasswordMail.subject
-
com.unblu.core.server.core.mail.GeneratedPasswordMail.bodyTop with the following text arguments:
-
firstName
: The user’s first name. -
lastName
: The user’s last name. -
userName
: The user’s username. -
generatedPassword
: The new password generated for the user. -
recipientEmail
: The address the email is sent to. -
agentDeskUrl
: The URL to access the Agent Desk. This lets agents know which systems they’ve been sent a new password for.
-
-
com.unblu.core.server.core.mail.GeneratedPasswordMail.bodyBottomAutoTriggered
-
com.unblu.core.server.core.mail.GeneratedPasswordMail.bodyFooter
Example output:
New password generated (1)
Dear ${firstName} ${lastName},
A new password has been generated for your account on ${agentDeskUrl}.
Username: ${userName}
New password: ${generatedPassword}
This email was automatically triggered by the system or an administrator.
Have a great day!
The Unblu team.
1 | This is the subject of the email, not part of the email body. |
Push notification emails
Email is one of the channels that can be used for push notifications. There are three events that can trigger push notifications:
-
A new message in an ongoing conversation.
Each event has its own email template with its own set of customizable configuration and text properties. For new message notification emails, there are templates for anonymous visitors, authenticated visitors, and agents.
Push notifications via email must be enabled in general with com.unblu.core.push_notification.mail.enableEmailPushNotification. Each event has an additional configuration property to enable that specific push notification email.
New message notification emails for anonymous visitors
This email is sent to anonymous visitors when a conversation they’re participating in receives new messages.
Configuration properties:
-
com.unblu.core.push_notification.mail.enableEmailNewMessagesPushNotification: Enables email push notifications.
-
com.unblu.core.push_notification.mail.enableEmailAnonymousVisitorNewMessagesPushNotification: Enables email push notifications for anonymous visitors.
-
com.unblu.core.push_notification.mail.messages.anonymous.senderEmail: If not specified, the
fromAddress
from the SMTP settings is used. -
com.unblu.core.push_notification.mail.messages.anonymous.replyToEmail
-
com.unblu.core.push_notification.mail.messages.anonymous.bccEmails
Text properties:
The subject
and bodyTop
text properties both have the following text arguments:
-
notificationCount
: The number of unread messages the recipient has in the conversation in question. -
recipientNotificationCount
: The number of unread the recipient has across all conversations. -
lastMessageText
: The text of the last message sent to a conversation. -
lastMessageSender
: The name of the person who sent the last message. The value used is the sender’s display name. -
recipientName
: The name of the person receiving the email. The value used is the recipient’s display name.
The subject
text property also provides the following text argument:
-
conversationId
: The ID of the conversation in question.
The bodyTop
text property also provides the following text arguments:
-
recipientEmail
: The address the email is sent to. -
conversationUrl
: A link to open the conversation in the Visitor Desk.
Example output:
${notificationCount} new messages from ${lastMessageSender} (1)
Hello,
You have a new message:
${lastMessageSender}: ${lastMessageText}.
You have a total of ${notificationCount} unread messages in this conversation.
To open the conversation again, please visit ${conversationUrl}.
This email was automatically triggered by the system.
Best regards,
The Unblu team
1 | This is the subject of the email, not part of the email body. |
New message notification emails for authenticated visitors
This email is sent to authenticated visitors when a conversation they’re participating in receives new messages.
Configuration properties:
-
com.unblu.core.push_notification.mail.enableEmailNewMessagesPushNotification: Enables email push notifications.
-
com.unblu.core.push_notification.mail.enableEmailAuthenticatedVisitorNewMessagesPushNotification: Enables email push notifications for authenticated visitors.
-
com.unblu.core.push_notification.mail.messages.authenticated.senderEmail: If not specified, the
fromAddress
from the SMTP settings is used. -
com.unblu.core.push_notification.mail.messages.authenticated.replyToEmail
-
com.unblu.core.push_notification.mail.messages.authenticated.bccEmails
Text properties:
The subject
and bodyTop
text properties both provide the following text arguments:
-
notificationCount
: The number of unread messages the recipient has in the conversation in question. -
recipientNotificationCount
: The number of unread messages the recipient has across all conversations. -
lastMessageText
: The text of the last message sent to a conversation. -
lastMessageSender
: The name of the person who sent the last message. The value used is the sender’s display name. -
conversationId
: The ID of the conversation in question. -
recipientName
: The name of the receiving the email. The value used is the recipient’s display name.
The bodyTop
text property also provides the following text arguments:
-
recipientEmail
: The address the email is sent to. -
conversationUrl
: A link to open the conversation in the Visitor Desk.
Example output:
${notificationCount} new messages from ${lastMessageSender} (1)
Hello,
You have a new message:
${lastMessageSender}: ${lastMessageText}.
You have a total of ${notificationCount} unread messages in this conversation.
This email was automatically triggered by the system.
Best regards,
The Unblu team
1 | This is the subject of the email, not part of the email body. |
New message notification emails for agents
This email is sent to agents when a conversation they’re participating in receives new messages.
Configuration properties:
-
com.unblu.core.push_notification.mail.enableEmailNewMessagesPushNotification: Enables email push notifications.
-
com.unblu.core.push_notification.mail.enableEmailAgentNewMessagesPushNotification: Enables email push notifications for agents.
-
com.unblu.core.push_notification.mail.messages.authenticated.agent.senderEmail: If not specified, the
fromAddress
from the SMTP settings is used. -
com.unblu.core.push_notification.mail.messages.authenticated.agent.replyToEmail
-
com.unblu.core.push_notification.mail.messages.authenticated.agent.bccEmails
Text properties:
-
com.unblu.core.push_notification.mail.messages.authenticated.agent.subject
-
com.unblu.core.push_notification.mail.messages.authenticated.agent.bodyTop
-
com.unblu.core.push_notification.mail.messages.authenticated.agent.bodyBottomAutoTriggered
-
com.unblu.core.push_notification.mail.messages.authenticated.agent.bodyFooter
The subject
and bodyTop
text properties both provide the following text arguments:
-
notificationCount
: The number of unread messages the recipient has in the conversation in question. -
recipientNotificationCount
: The number of unread messages the recipient has across all conversations. -
lastMessageText
: The text of the last message sent to a conversation. -
lastMessageSender
: The name of the person who sent the last message. The value used is the sender’s display name. -
conversationId
: The ID of the conversation in question. -
recipientName
: The name of the receiving the email. The value used is the recipient’s display name.
The bodyTop
text property also provides the following text argument:
-
recipientEmail
: The address the email is sent to.
Example output:
${notificationCount} new messages from ${lastMessageSender} (1)
Hello,
You have a new message:
${lastMessageSender}: ${lastMessageText}.
You have a total of ${notificationCount} unread messages in this conversation.
This email was automatically triggered by the system.
Best regards,
The Unblu team
1 | This is the subject of the email, not part of the email body. |
Incoming call
This push notification email is sent when a call is started.
Configuration properties:
-
com.unblu.core.push_notification.mail.enableEmailIncomingCallPushNotification: Enables the feature.
-
com.unblu.core.push_notification.mail.call.senderEmail: If not specified, the
fromAddress
from the SMTP settings is used.
Text properties:
The subject
and bodyTop
text properties both provide the following text arguments:
-
callType
: The type of call initiated, that is, "audio" or "video". -
callInitiator
: The name of the person who initiated the call. The value used is the initiator’s display name. -
conversationId
: The ID of the conversation in question.
The bodyTop
text property also provides the following text argument:
-
recipientEmail
: The address the email is sent to.
Example output:
Incoming call from ${callInitiator} (1)
Hello,
${callInitiator} tried to start a ${callType} with you.
This email was automatically triggered by the system.
Best regards,
The Unblu team
1 | This is the subject of the email, not part of the email body. |
Missed call
This push notification email is sent when someone was called but they did not answer.
Configuration properties:
-
com.unblu.core.push_notification.mail.enableEmailMissedCallPushNotification: Enables the feature.
-
com.unblu.core.push_notification.mail.call.missed.senderEmail: If not specified, the
fromAddress
from the SMTP settings is used. -
com.unblu.core.push_notification.mail.call.missed.replyToEmail
Text properties:
The subject
and bodyTop
text properties both provide the following text arguments:
-
callType
: The type of call missed, that is, "audio" or "video". -
callInitiator
: The name of the person who initiated the missed call. The value used is the initiator’s display name. -
conversationId
: The ID of the conversation in question.
The bodyTop
text property also provides the following text argument:
-
recipientEmail
: The address the email is sent to.
Example output:
Missed call from ${callInitiator} (1)
Hello,
${callInitiator} tried to start a ${callType} with you.
This email was automatically triggered by the system.
Best regards,
The Unblu team
1 | This is the subject of the email, not part of the email body. |
Troubleshooting
By setting the value of the configuration property com.unblu.platform.server.mail.internal.MailService.logOnly to true
, outgoing emails are logged with an info
log entry with the mail content instead of being sent. This can be helpful in determining whether an error is due to a misconfiguration of Unblu or the result of an issue with the SMTP server.